MCP Server for interacting with Kaggle competition data. Provides tools for searching and retrieving information about Kaggle competitions using the Meta Kaggle dataset.
Two tools with complete schemas and reasonable descriptions, but significant gaps in parameter documentation and output schema clarity. Both tools have action-verb names (get_, search_) and non-empty descriptions (90+ chars each), meeting baseline naming and description requirements. However, parameter descriptions are minimal, output schemas are not documented, and error handling is absent. The server loads data from a static CSV and performs read-only operations, which is appropriate for the domain, but the tool definitions lack the depth needed for confident LLM reasoning.
Get detailed information about a specific Kaggle competition using its numeric ID.
Search for Kaggle competitions by keywords in their title or subtitle.
Output schemas not documented. LLMs cannot infer what fields get_competition_info and search_competitions return, forcing them to guess at downstream field names and risk broken tool chains.
Parameter descriptions are minimal or absent. 'competition_id' has a description, but 'query' and 'max_results' lack context on format, constraints, or when to use them. LLMs cannot reason about valid inputs.
No error handling or recovery guidance. If a competition_id does not exist, the tool returns None silently. LLMs receive no actionable error message and cannot self-correct or suggest alternatives.
Tool call handler (handle_call_tool) has incomplete error handling. Missing 'competition_id' returns a generic error; ValueError is caught but response is plain text, not structured. No guidance on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Result limits not enforced or documented. search_competitions accepts max_results up to 50, but the tool description does not state this cap or explain why pagination is needed. LLMs may not understand the constraint.