MCP server for interacting with Ontotext GraphDB via SPARQL
Two tools with minimal documentation. query_sparql has a basic description (56 chars) but lacks parameter descriptions and output schema documentation. get_repository_info has no parameters but also lacks output schema details. Neither tool documents what fields are returned, making it difficult for LLMs to plan downstream operations. No error handling guidance, no input validation constraints, and no mention of prerequisites or when to use each tool. Naming is acceptable (verb_noun pattern), but descriptions fall short of the 50-200 char LLM-optimized range and lack context about return values.
Get information about the GraphDB repository including endpoint, repository name, and authentication status
Execute a SPARQL query against the GraphDB repository
query_sparql parameter 'query' lacks description. LLMs cannot infer whether to pass raw SPARQL, a query template, or a natural language question.
No output schema documented for either tool. LLMs cannot determine what fields to expect from SPARQL results or repository info, blocking downstream tool composition.
Tool descriptions lack context about when to use each tool and what they return. 'Execute a SPARQL query' does not explain the expected result structure or when to call get_repository_info first.
No error handling guidance. If a SPARQL query fails or the repository is unreachable, the LLM receives only a raw error with no recovery path (e.g., 'Check endpoint configuration' or 'Verify repository exists').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
query_sparql accepts free-form SPARQL strings with no validation constraints or format guidance. LLMs may pass malformed queries, invalid prefixes, or injection payloads without clear feedback.