MCP server for semantic data specification and modeling, providing tools for planning workflows, retrieving documents, managing semantic models, and validating against style guides
The server exposes 11 tools with significant quality gaps. Only 3 tools (plan_workflow_with_tools, get_style_guide, retrieve_documents) have documented schemas visible in source. The remaining 8 tools (upload_model, add_class, add_attribute, add_connector, metadata_checker, reuse_check, style_guide_check, validator_check) are referenced but lack visible definitions, their schemas, parameter descriptions, and return types cannot be verified from the provided code. plan_workflow_with_tools has a complex schema with several parameters including a 'ctx' parameter of type 'object' that is poorly described ('Context object for accessing fastmcp server and sampling capabilities', vague and non-actionable). Tool descriptions range from good (plan_workflow_with_tools at ~250 chars) to minimal. get_style_guide has an empty input schema (no parameters documented). retrieve_documents accepts search_terms and vocabularies but lacks enum constraints on vocabularies. Error handling is minimal, no recovery guidance, no categorization of retry-ability. The codebase shows print-based debugging rather than structured logging. No evidence of input validation, permission gates, or security patterns. Tool naming follows verb-noun convention (plan_, get_, retrieve_, add_, validate_) which is positive, but composition issues exist: plan_workflow_with_tools is overloaded (it discovers tools, reasons, executes nested calls, and returns a plan, multiple concerns bundled). Missing: documented output schemas, pagination, error messages that guide recovery, parameter constraints (e.g. limit defaults and bounds), and idempotency markers.
Returns the SEMIC style guide content. This document defines the style guide to be applied to the SEMIC's semantic data specifications, notably to the eGovernment Core Vocabularies and Application Profiles. The style guide provides rules on naming conventions, syntax, and artefact management and organisation.
Tool for generating a step-by-step plan to answer a user's question using available planning and executor tools. The planner agent may call planning tools to discover or retrieve relevant information, and produces a structured plan for a separate executor agent, which is restricted to the allowed executor tools.
8 of 11 tools lack visible schemas and descriptions. Tools upload_model, add_class, add_attribute, add_connector, metadata_checker, reuse_check, style_guide_check, validator_check are referenced but not formally defined in the provided source code.
plan_workflow_with_tools mixes multiple concerns: tool discovery, LLM agent loop, nested tool execution, and planning. This violates single-responsibility and makes the tool difficult to reason about and test.
Parameter 'ctx' in plan_workflow_with_tools is typed as 'object' with a vague description ('Context object for accessing fastmcp server and sampling capabilities'). This is not actionable for an LLM and violates the constraint that parameters must have clear types and descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 36 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Provides context regarding the query by retrieving relevant documents from a knowledge database.
retrieve_documents' 'vocabularies' parameter is typed as an array but lacks an enum constraint or documentation of valid vocabulary names. Enums are self-documenting and prevent hallucinated values.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required data if return types are unknown. Baseline: 100% of A+ tools have documented return types.
Error handling is absent. No recovery guidance (e.g., 'If search_terms yields no results, try broader keywords'). No error categorization (retryable vs. user-fixable vs. fatal). Baseline: A+ tools include actionable error messages.
Tool 'validator_check' has ambiguous naming that does not follow clear verb-noun convention. Clearer names: 'validate_semantic_model', 'check_model_validity', or 'run_validation'.
retrieve_documents has an undocumented 'limit' parameter without min/max bounds. Unbounded numbers let LLMs pass absurd values. Baseline: All numeric params should have constraints (e.g., page_size 1 - 100).
plan_workflow_with_tools uses print() for debugging rather than structured logging or error reporting. This is not production-ready and violates logging best practices.
No evidence of permission gates or input validation. Tools like upload_model and add_* are write operations but lack security checks (e.g., user authorization, input sanitization against injection attacks).