Multi-language SDK (TypeScript, Python, Java, Rust CLI) for interacting with OpenMetadata Dynamic Agents and AI Studio capabilities
This MCP server exposes 2 tools for GDPR compliance and data steward discovery. Both tools have descriptions, but schema completeness and parameter documentation are severely lacking. The tool names follow verb-noun patterns (analyze_*, find_*), but input schemas lack proper JSON Schema type definitions and detailed parameter descriptions. Parameter descriptions are minimal or absent. No output schemas are documented. Error handling and recovery guidance are not evident from the provided code. The Makefile shows infrastructure for a multi-language SDK, but the actual MCP tool implementation is sparse. Based on visible code (server.py from the cookbook), this appears to be an example/demo implementation rather than a production-grade MCP server.
Delegate a DSAR to Collate's governed GDPRComplianceAnalyzer. It searches the catalog, traces lineage, inspects PII, and evaluates retention conflicts.
Read Collate's live users, Data Steward persona/role assignments, Domain experts, and Data Product experts to find evidence-backed handoff candidates.
Input schemas lack proper JSON Schema type declarations. The 'request' parameter in analyze_gdpr_request is declared as type 'string', but no pattern, minLength, maxLength, or enum constraints are provided. The 'domain_hints' array in find_data_stewards_and_experts has no items schema. Parameters cannot be validated or constrained by clients.
Tool descriptions are present but minimal. analyze_gdpr_request (117 chars) and find_data_stewards_and_experts (165 chars) fall below the production baseline of 194 chars average. They lack clear WHEN/WHY guidance, dependency hints, or prerequisites that would help LLMs select between tools.
Output schemas are not documented. Neither tool specifies what fields are returned, their types, or how results are structured. LLMs cannot plan downstream tool calls or extract relevant data without knowing the response shape.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Parameter descriptions are terse or missing. The 'request' parameter has a short description but no examples of valid format (is it free-text? A structured JSON object?). The 'domain_hints' array has a description but no guidance on array item format or valid values.
No error handling or recovery guidance. Tools do not indicate what can go wrong, whether errors are retryable, or what the LLM should do next. E.g., what if no stewards are found? What if the GDPR request is malformed?
Tool names contain 'and' (find_data_stewards_and_experts) which signals multiple responsibilities. This should be split into find_data_stewards and find_data_experts so each tool is single-purpose and independently composable.
No pagination support documented. find_data_stewards_and_experts accepts max_candidates (1-50 range, good), but there is no documented way to get results beyond the first batch or retrieve a total count. Large GDPR queries spanning multiple domains may exceed the single-batch limit.