Dataiku MCP has complete input schemas with proper types and enums for all 9 tools, and every tool has a description. However, descriptions are terse (avg ~80 chars, well below the 194-char baseline for A+ tools) and lack actionable context. Parameter descriptions are minimal, many lack format guidance, constraints, or dependency hints. Output schemas are undocumented. Error handling is present (DataikuError with status/category/retryable fields) but recovery guidance is absent. Tool naming is generic (project, dataset, recipe, job) rather than verb-first (list_projects, get_dataset, create_recipe), making intent less obvious to LLMs. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite 7 of 9 tools being WRITE operations. Composition is reasonable, tools chain via projectKey, but no batch variants or multi-step wrappers for common workflows.
Code env ops: list/get. get returns package summaries; set full=true for full package lists.
Connection discovery (action: infer). Default mode=fast uses DSS connection names; mode=rich scans project datasets for inferred type/schema/managed details.
Dataset ops: list/get/create/delete/preview/download. get returns summary; set full=true for full schema.
Folder ops: list/get/create/delete. get returns summary; set full=true for full metadata.
Job ops: list/get/run/abort. get returns summary; set full=true for full details.
Project ops: list/get/create/delete/export/import. get returns summary; set full=true for full metadata.
Tool names lack action verbs. 'project', 'dataset', 'recipe' are nouns; LLMs cannot infer intent without reading descriptions. Should be 'list_projects', 'get_dataset', 'create_recipe', etc.
Descriptions are terse (avg 80 chars vs 194-char baseline). 'Project ops: list/get/create/delete/export/import' lacks WHEN to use, prerequisites, or side-effect warnings. No guidance for LLM selection.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., does 'get project' return projectKey for use in dataset calls?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2025-06-18+ | v2 |
Recipe ops: list/get/create/delete/run. get returns summary; set full=true for full definition.
Scenario ops: list/get/run/abort. get returns summary; set full=true for full definition.
Variable ops: list/get/set. get returns value; set updates project/global variables.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). 7 of 9 tools perform WRITE operations (create, delete, run, set, abort) but LLMs have no signal that these are irreversible.
Parameter descriptions lack format guidance and constraints. E.g., 'projectKey' has no hint about format (uppercase? length?). 'limit' and 'offset' have no min/max bounds. LLMs will guess invalid values.