chrome
MCP server to interact with Chrome
claude mcp add --transport stdio jverre-chrome-mcp-server uvx run app/main.py --transport sse
How to use
This MCP server is a Chrome-focused implementation that exposes a minimal MCP interface to interact with a Chrome-backed environment, enabling actions such as taking screenshots and validating the protocol flow. The demo focuses on an event stream (via SSE) for server-to-client messages and a POST endpoint for client-to-server commands. To get started, run the robust Python-based server that uses the MCP Python SDK, which lives in app/main.py. Connect with the MCP inspector to the server’s URL (the project mentions http://0.0.0.0:8000 for the demo) and initialize a session through the SSE endpoint, then send an initialize message to discover the supported functionality. Once initialization completes, you can issue tool commands defined in app/main.py to perform actions like rendering a page in Chrome and capturing a screenshot, or to validate other protocol interactions. The inspector can be used to send messages to the server and observe responses in real time.
How to install
Prerequisites:
- Python 3.8+ (preferably 3.10+)
- Git
- Basic familiarity with running Python scripts and using an MCP inspector
Installation steps:
- Clone the repository: git clone https://github.com/jverre-chrome-mcp-server.git
- Navigate to the project directory: cd jverre-chrome-mcp-server
- Create and activate a virtual environment (optional but recommended):
python -m venv venv
Windows
venv\Scripts\activatemacOS/Linux
source venv/bin/activate - Install dependencies (adjust as needed if a requirements file exists):
pip install -r requirements.txt # if present
or install MCP SDK if required by the project
- Start the robust server (as described in the repo): uvx run app/main.py --transport sse
- In another terminal, start the MCP inspector: npx @modelcontextprotocol/inspector node build/index.js
- Open the inspector and connect to the server URL, then begin the MCP session by following the initialization sequence:
- GET or connect to the /sse endpoint to obtain a session URI
- Send an initialize message to the server
- Send notifications/initialized to complete initialization
Notes:
- The server is designed to work with the MCP Python SDK and uses SSE for transport.
- The README mentions the inspector URL pattern and port (8000 in the examples); ensure your environment allows network connections to that port.
Additional notes
Tips and common considerations:
- The demo implementation is not a full MCP reference implementation; a more robust version exists in app/main.py and leverages the MCP Python SDK.
- Default server port mentioned in the README is 8000; if you run in a different environment, adjust the inspector URL accordingly.
- If you change the transport to something other than SSE, ensure your inspector and client support that transport.
- When troubleshooting, verify that the /sse endpoint is reachable and that CORS or network policies are not blocking the SSE stream.
- The server currently emphasizes two main components: the SSE-based event stream and a POST endpoint for client-to-server messages. Tools are defined by the code in app/main.py; ensure the inspector exposes the correct tool capabilities after initialization.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP