MCP Server for Agent Synch - Global Memory Bank for AI Agents. Provides tools for managing agent context, memory indexing, spatial mapping, bug logging, and concurrent access control for multi-agent systems.
Agent Synch has 19 well-defined tools with consistent naming (verb_noun patterns: get_*, set_*, add_*, link_*, log_*, acquire_*, release_*, emit_*, search_). All tools have descriptions and input schemas with type definitions and parameter descriptions. However, output schemas are not documented, critical for agents planning downstream calls. Descriptions are concise but lack WHEN-to-use context and recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear read/write semantics. Error handling guidance is absent, tools do not indicate what to do on failure. No input validation constraints documented (e.g., timeout_ms range, severity enum enforcement). The lock management and context event tools are well-scoped and idempotent-friendly, but missing explicit confirmations on destructive operations (e.g., resolve_bug, release_lock).
Acquire a lock on a resource for concurrent agent access. Used by agent swarms.
Add a folder as a "room" to the spatial map with description and depth.
FIRST-RUN SETUP: Configure the Agent Synch server location. Call this on first use to tell all future agents where the server lives.
Emit a context event for agent-to-agent handoff. Use "handoff" when passing work to another agent, "checkpoint" to save mid-process progress, "error" for error states, or "complete" when done.
Index a file into the Filing Cabinet for fast future retrieval. Provide a summary and key metadata.
Get the active context for a project. Returns the current summary, focus, and task graph state.
Output schemas not documented for any tool. Agents cannot plan downstream calls or extract required fields (e.g., what fields does get_active_context return? What structure does get_bugs return?). This forces trial-and-error and wastes tokens on failed chaining.
Tool annotations missing. Despite clear read/write semantics (documented in the provided Risk column: READ_ONLY vs WRITE), no readOnlyHint, destructiveHint, or idempotentHint declared in tool definitions. These are essential for agent optimization, idempotency decisions, and permission gating.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 67 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get all bugs for a project. Use this to find bugs that need fixing.
Get the context event chain for a project. Useful for understanding agent history and previous handoffs.
Retrieve a previously indexed file from the Filing Cabinet.
Check lock status and queue for a resource.
Get the Agent Synch server configuration. Returns server path and version info.
Get the "PC as Rooms" spatial map for a project, showing folder structure and connections.
Connect two rooms in the spatial map (bidirectional link).
List all projects in the memory bank.
Log a bug for the agent to fix later. Use this when you encounter an error or unexpected behavior.
Release a lock on a resource.
Mark a bug as resolved with a resolution description.
Search across all indexed content in the memory bank.
Update the active context for a project. Use this to persist your current working state.
Descriptions lack WHEN-to-use and recovery guidance. E.g., 'List all projects in the memory bank' (get_list_projects) does not explain when to call it (on initialization? after project creation?) or what structure it reveals. No mention of pagination support, result limits, or whether listing is expensive.
No error handling guidance. Tools do not document failure modes, error recovery paths, or when to retry. E.g., acquire_lock may timeout or conflict, no indication in the description of what error to expect or how to handle it. Pattern: recovery-guide.
Parameter constraints not fully documented. timeout_ms in acquire_lock has a default (30000) but no min/max bounds stated in description, agents could pass negative or absurdly large values. severity enum in log_bug is constrained but not explained in parameter description (should say: 'Severity level: low|medium|high|critical').
No confirmation or dry-run for destructive operations. resolve_bug and release_lock modify state with no undo mechanism. Pattern: confirmation-request suggests agents should confirm before irreversible changes.
Pagination and result limits not documented. search_memory and list_projects do not specify whether results are paginated, capped, or could exceed context limits. No offset/limit/cursor parameters visible, forcing agents to fetch all results and waste tokens.
No tool composition guidance. Descriptions don't explain dependency chains (e.g., 'Call list_projects first to get project_id, then call get_active_context'). Agents must infer usage order, wasting planning tokens.