An MCP server for Google Colab that enables interaction with Colab notebooks through the Model Context Protocol
ColabMCP has 3 tools with basic descriptions but critical gaps in schema completeness and parameter documentation. Tool names follow verb_noun convention (open_, list_, call_), which is good. However, call_colab_tool has a generic 'arguments' parameter (type: object) with no field-level schema, making it impossible for LLMs to understand what arguments are valid. Descriptions are present but brief (34-89 chars), below the 50-200 char baseline for LLM-optimized docs. No output schemas documented. No error handling guidance. No parameter constraints (enums, ranges, formats). The server acts as a proxy to Colab tools, which limits schema visibility, but this should not excuse missing documentation of what call_colab_tool accepts and returns.
Calls a tool exposed by the connected Google Colab notebook by name. Use list_colab_tools first to discover available tool names and argument schemas when the MCP client cannot refresh dynamic tools.
Lists tools exposed by the connected Google Colab notebook. Use this for MCP clients that do not refresh tools after notifications/tools/list_changed.
Opens a connection to a Google Colab browser session and unlocks notebook editing tools. Returns a boolean representing whether the connection attempt succeeded
call_colab_tool has a generic 'arguments' parameter (type: object) with no field-level schema or constraints. LLMs cannot determine what keys/values are valid without calling list_colab_tools first, forcing a discovery step on every invocation.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., tool names from list_colab_tools, success status from open_colab_browser_connection).
Descriptions are too brief (34-89 chars, below 50-200 baseline). 'Lists tools exposed by the connected Google Colab notebook' lacks context on when to call it vs call_colab_tool, and does not explain the return structure.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
No error handling guidance. If open_colab_browser_connection returns false, the LLM has no recovery path. If call_colab_tool fails, no indication whether to retry, ask the user, or try a different tool.
call_colab_tool name is vague. 'call' is a generic verb. Better names: 'invoke_colab_tool' or 'execute_colab_tool' would clarify that this executes a discovered tool, not just calls a function.