An MCP server that manages a knowledge graph with entities and relationships, using semantic embeddings for intelligent search.
This MCP server has critical gaps in definition quality. Tool schemas contain invalid JSON Schema types ('type: "id"', 'type: "list of strings"') that will not validate. Descriptions are present but generic (e.g. 'Searches for an entity in the knowledge graph', 72 chars, below the 194-char baseline). Parameter descriptions exist but lack specificity about formats, constraints, and return values. No output schema is documented for any tool. Error handling is absent, there is no guidance on what to do if an entity is not found or a relationship fails. The server follows basic MCP patterns (tools are registered, have names and descriptions) but lacks the rigor expected of production tools.
Searches for an entity in the knowledge graph.
Saves an entity in the knowledge graph.
Adds a relationship between an entity and another entity.
Invalid JSON Schema types: 'type: "id"' and 'type: "list of strings"' are not valid JSON Schema types. Should be 'type: "string"' for IDs and 'type: "array", "items": {"type": "string"}' for lists.
No output schemas documented. LLMs cannot plan downstream calls or extract results without knowing the structure returned by each tool.
set-relationship expects 'source_entity_id' and 'target_entity_id' but set-entity returns 'id', field naming mismatch forces the LLM to reason about mappings and increases error likelihood.
No error recovery guidance. If set-relationship is called with non-existent entity IDs, what happens? The LLM gets no actionable error message to guide retry or correction.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 42 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 31 | - | v1 |
Parameter descriptions lack specificity. 'content' is described as 'List of strings in python form', unclear what 'python form' means, and no guidance on max length, character restrictions, or examples of valid content.
search-entity has no pagination parameters (limit, offset, cursor) and no documented result limit. If 100 related entities are found, will all be returned, potentially exhausting the context window.
Tool descriptions do not state whether operations modify state. 'Saves an entity' and 'Adds a relationship' are clear, but lack warnings about idempotency, retry safety, or side effects.