Not every MCP client works with Colab MCP — two specific requirements narrow the field. First, the client must support theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/googlecolab/colab-mcp/llms.txt
Use this file to discover all available pages before exploring further.
notifications/tools/list_changed notification: because notebook tools are injected dynamically only after the Colab browser session connects, the client needs to handle this notification to discover the new tools at runtime rather than relying on a fixed tool list captured at startup. Second, the client must run locally on your machine: Colab MCP’s WebSocket server binds exclusively to localhost, so any agent running in the cloud or on a remote server cannot reach it. The following clients have been verified to meet both requirements.
Verified Clients
Gemini CLI
Google’s Gemini CLI is a command-line AI coding agent. It supports
notifications/tools/list_changed and runs locally, making it fully compatible with Colab MCP.Claude Code
Anthropic’s Claude Code is an agentic coding tool that runs in your terminal. It supports dynamic tool-list updates and local MCP servers, and is fully supported.
Windsurf
Codeium’s Windsurf is an AI-native IDE. It runs on your local machine and supports
notifications/tools/list_changed, making it fully compatible with Colab MCP.Why These Requirements?
notifications/tools/list_changed
notifications/tools/list_changed
Colab MCP deliberately withholds notebook editing tools until a live Colab browser session has connected via WebSocket. The moment the browser tab handshakes with the local server, a
notifications/tools/list_changed message is sent to the MCP client, telling it to refresh its tool list. Clients that do not implement this notification will start up, see only the open_colab_browser_connection tool, and never learn that additional tools became available — effectively making the server non-functional for notebook operations.Local execution requirement
Local execution requirement
The
ColabWebSocketServer inside Colab MCP binds to localhost (or 127.0.0.1) on an ephemeral port. This is intentional: it limits which origins can connect and ensures the one-time authentication token is never transmitted over an untrusted network. Any MCP client that runs in a remote cloud environment, a container without host networking, or a hosted service simply cannot reach the localhost address of your machine and will be unable to establish or maintain the WebSocket bridge to the Colab browser tab.If your machine uses a non-standard Python package index (for example, Googlers on an internal network), make sure to add
"--index" and "https://pypi.org/simple" to the args array in your MCP client configuration so that uvx can resolve Colab MCP’s dependencies from the public PyPI index. See the Quickstart for the full configuration snippet.