MCP server for interacting with Kaggle datasets and notebooks, providing access to dataset metadata in Croissant format, dataset search, and notebook creation capabilities
Server has 4 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-100 chars, mostly adequate) and input schemas with Zod validation. However, output schemas are undocumented, responses return raw text or JSON without field-level documentation. Parameter descriptions exist but lack detail on constraints, formats, and error recovery. No tool annotations (readOnlyHint/destructiveHint). Error handling is minimal: failures return generic text without actionable guidance. Tool naming follows verb_noun convention (get_, search_, make_) but lacks clarity on side effects. The make-kaggle-notebook-with-dataset tool modifies state but has no confirmation or dry-run pattern.
Get the metadata for a Kaggle dataset in Croissant (JSON-LD) format. This metadata contains information about the dataset overall, as well as schema-level information about any tabular files contained within the dataset.
Get the status of a Kaggle Notebook.
Make a notebook on Kaggle using the provided notebook content and dataset handles.
Using a provided search query, search for datasets on Kaggle
Output schemas undocumented. Tools return raw text or JSON without field-level documentation. LLMs cannot plan downstream calls or extract structured data reliably.
No tool annotations. Destructive tool (make-kaggle-notebook-with-dataset) lacks destructiveHint. Read-only tools lack readOnlyHint. Agents cannot distinguish safe from risky operations.
Error handling lacks recovery guidance. Failures return generic text ('Failed to retrieve...') without actionable next steps. LLMs cannot self-correct or retry intelligently.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Parameter descriptions lack constraint details. 'searchQuery' has no length limits, format hints, or examples. 'notebookContent' has no format specification (Python code? JSON?). Ambiguity invites invalid input.
Destructive operation (make-kaggle-notebook-with-dataset) lacks confirmation or dry-run pattern. Agents can create notebooks without user approval, risking unintended side effects.