home / mcp / chrome mcp server

Chrome MCP Server

Provides an MCP server to interact with Chrome for screenshots, validation, and tooling via HTTP or stdio transports.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jverre-chrome-mcp-server": {
      "url": "http://0.0.0.0:8000"
    }
  }
}

You run an MCP server that enables you to interact with Chrome through a lightweight protocol layer. This server lets you initialize a connection, stream events from the server to the client, and send messages from the client back to the server to perform tooling actions. Use it to automate tasks like taking page screenshots and validating protocol behavior in a controlled environment.

How to use

You connect to the MCP server from an MCP client. Start a local HTTP MCP server to expose a remote endpoint you can reach from the client, or run a local stdio server that communicates via the MCP runtime.

Two typical interaction patterns are supported in this setup:

• HTTP flow: the server runs and exposes a URL you can reach from the MCP client. The client opens a session, initializes, and then uses the available tools through the established session.

• STDIO flow: you launch the MCP server as a local process and communicate through the standard input/output channel using the MCP runtime. This is convenient for development and automated testing pipelines.

How to install

Prerequisites you need before running the server are a Python runtime for the demo server or the MCP runtime for the stdio flow.

If you want to run the HTTP demo locally, start the server and then connect with an MCP inspector to validate the interaction.

If you want to use the stdio approach, install the MCP runtime and start the server with the appropriate command to enable the transport you choose (SSE in this example).

Additional notes

Demo HTTP server run command: to start the HTTP server that serves as the MCP endpoint, use the following command.

uv run uvicorn demo_implementation.main:app --reload

Attach an MCP inspector to test interactions against the server. Use the inspector with a node-based build of the client.

npx @modelcontextprotocol/inspector node build/index.js

For the robust, MCP-driven flow, you can run the server using the MCP runtime with SSE transport. This enables a clean stdio-based MCP session lifecycle.

mcp run app/main.py --transport sse

Available tools

initialize

Client sends an initialize message to the server, which responds with the functionality supported by the server.

notifications_initialized

Client sends a notifications/initialized message to the server to notify that the initialization is complete.