MCP server for synchronizing Colab notebook files through Google Drive; does not execute notebooks
Server has 16 tools with complete input schemas and descriptions. Naming follows verb_noun convention (list_, get_, create_, add_, update_, delete_, search_, clear_, authorize_, pull_, push_, copy_). Descriptions are present and substantive (avg ~120 chars), explaining what each tool does and key constraints. However, parameter descriptions are minimal or missing context about constraints, formats, and dependencies. Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from visible code; no recovery guidance or actionable error messages. Security considerations (path traversal, input validation) are not evident. Tool composition is reasonable but some tools conflate concerns (e.g., pull_drive_notebook both downloads AND normalizes outputs).
Add a cell to a local notebook.
Open an explicit Google OAuth flow and save the resulting local token.
Clear outputs and execution counts from a local notebook.
Copy a notebook file in Google Drive without executing it.
Create a new Colab-compatible local notebook.
Delete a cell from a local notebook.
Return a Colab URL for a Drive notebook; this does not open a browser.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nested objects). Forces agents to guess what data is available for downstream tool calls.
Parameter descriptions lack constraint details. E.g., 'limit' has no min/max bounds; 'path' has no format or validation rules; 'query' has no length limits. LLMs cannot validate inputs before calling.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Check Google Drive setup and authorization without opening a browser.
Read a local notebook summary and its cells.
Compare Drive and local notebook state; cannot detect Colab runtime activity.
List synchronized notebook files visible through the configured Drive access.
List local .ipynb notebooks under COLAB_MCP_ROOT.
Synchronize a Drive notebook file into COLAB_MCP_ROOT without executing it.
Synchronize a local notebook file to Drive without executing it.
Search cell sources in a local notebook.
Replace a cell's source and optionally its type.
No error handling or recovery guidance visible. Tools return dict/list but no documentation of error cases, failure modes, or what LLM should do if a call fails (retry? ask user? abort?).
Tool composition concern: pull_drive_notebook and push_local_notebook both perform I/O AND data transformation (normalize_colab_notebook). Splitting I/O from transformation would allow agents to compose them independently.
No input validation or sanitization visible. Path parameters (e.g., 'path' in get_local_notebook) are not validated against path traversal attacks. LLM could pass '../../../etc/passwd' and access files outside COLAB_MCP_ROOT.