AI coding assistant for JupyterLab with MCP server capabilities for notebook generation, file operations, and code execution
Two tools with minimal documentation. Tool names follow verb_noun pattern (list_, create_) but descriptions are sparse and lack actionable context. Input schemas present but parameters lack descriptions. No output schemas documented. No error handling guidance. Missing parameter constraints and validation rules. This server falls well below production baseline (median ~50).
Creates a new notebook with the specified kernel and optional initial cells
Lists Jupyter kernels available in the current frontend environment. Use this before creating a notebook when you need a kernel that may differ from the current notebook context.
No output schemas documented. LLMs cannot plan downstream calls or extract required data (e.g., kernel names, notebook IDs) without knowing response structure.
Parameter 'cells' in create_new_notebook lacks description. What structure does each cell require? Is it {code, language}? {type, content}? LLM must guess.
Tool descriptions are under 50 characters and lack context. 'Lists Jupyter kernels' does not explain WHEN to call this vs alternatives, or what the response contains. Baseline: 194 chars.
No error handling guidance. What happens if kernel_name is invalid? If notebook creation fails? LLM has no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Parameter 'kernel_name' has no enum constraint or format description. LLM cannot validate against available kernels without calling list_available_notebook_kernels first.