MCP wrapper that translates MCP tools to HTTP API calls against the EcoDB backend. Exposes ~40 tools covering memory, graph, documents, identity, and metacognition operations.
EcoDB MCP server has 13 well-named tools with clear, domain-specific descriptions (avg 180 chars, within baseline 194). All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented in the source code, critical for LLM planning. Error handling guidance is absent; tools do not indicate what to do on failure. Parameter constraints (enums, ranges) are minimal. The server demonstrates good naming discipline (verb_noun pattern: save_memory, search, read_memory) and reasonable parameter documentation, but lacks the structured output documentation and error recovery patterns expected of production-grade tools.
Get an agent's briefing: active foresights (upcoming/predicted events), open identity tensions (declared vs observed traits), and a telescopic memory summary. Use to answer 'what's coming up' or 'what should I be aware of' for an agent.
Return knowledge-graph statistics (node/edge counts, etc.).
Explore the knowledge graph: return entities connected to node within depth hops (1-3). Use to discover how a concept/person/project relates to others.
Find the shortest path between two entities in the knowledge graph. Use to explain how two things are connected.
Read a single memory cluster by UUID: full narrative + metadata. Set include_members to also fetch the underlying memories. Use to expand a cluster from search_clusters.
Read a single memory by its UUID (full content + metadata). Use to expand a result returned by search when you need the complete text.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does search() return? Does it include memory_id for read_memory chaining?). Every tool needs a documented return type with field names and types.
No error handling guidance. Tools do not indicate what to do on failure (e.g., 'memory not found, try search() first', 'invalid query_type, must be factual|historical|analytical|contextual'). Agents cannot self-correct without explicit recovery hints.
Enum constraints not enforced in schema. 'query_type' in search() and 'type' in save_memory() are documented as enums in descriptions but not declared as JSON Schema enums. LLMs may hallucinate invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Persist a new memory in EcoDB so it survives across sessions. type is REQUIRED, one of momento, decision, acuerdo, tecnico, descubrimiento, observacion, referencia, caso, skill. Use for durable facts, decisions or discoveries — not for ephemeral chit-chat. Returns the created memory id.
Add a subject-predicate-object fact to the knowledge graph (e.g. 'EcoDB' 'uses' 'pgvector'). Use to record an explicit relationship between two entities.
Search EcoDB long-term memory with the GAMR engine (semantic + knowledge graph + temporal + contradiction detection). Use this to recall facts, decisions, past work or context before answering. query_type may be factual|historical|analytical|contextual. type filters by memory type. Returns ranked results with scores.
Search consolidated memory clusters (fractal long-term memory) by semantic similarity. Clusters are weekly/monthly/quarterly/yearly narrative consolidations. Without agent_identifier returns only generic/technical (SIN_AUTOR) clusters. level filters by temporal level. Use to recall higher-level patterns rather than individual memories.
Fuzzy-search graph node names (min 3 chars) when you don't remember the exact entity name. Call this before graph_neighbors / path_between to resolve a name.
List the most recent memories (newest first), filtered by the actor's permissions. Use when the user asks 'what have we done lately' or for a time-ordered view rather than a semantic query.
Load an agent's full fractal memory chain for boot/context: weekly→monthly→quarterly→yearly narrative consolidations stacked telescopically. Use at session start to load long-term self-context, or to understand an agent's accumulated history at a glance.
Parameter relationships undocumented. 'agent_identifier' in search_clusters() and telescopic_view() is optional but behavior changes significantly when omitted ('returns only generic/technical clusters'). Dependency not stated in parameter descriptions.
graph_status() has minimal description (60 chars). 'Return knowledge-graph statistics (node/edge counts, etc.)' lacks context on when to call it or what the output structure is. Expand to 100+ chars with use-case guidance.