MCP server — real-time agent-to-agent cognition for Claude Code sessions on one machine, a LAN, or across networks via the SYM mesh.
sym-mesh-channel defines 10 tools with consistent naming (verb_noun pattern: sym_send, sym_publish, sym_recall, etc.) and reasonable descriptions (avg ~80 chars). All tools have input schemas with typed parameters and descriptions. However, schemas lack depth: no enums for constrained values (e.g., 'mood' field), no min/max bounds on numeric params, no documented output schemas. Descriptions are functional but generic, they state WHAT but rarely WHEN or WHY. Error handling is present but minimal; no recovery guidance or actionable error messages visible in schema. Security: relay credentials passed as parameters (relay_url, relay_token in sym_join_room) violate secret-injection pattern, should use env vars. Overall: solid foundation, but lacks LLM-optimization depth and production-grade error handling.
Discover SYM-related service types available on the local network via Bonjour
Fetch the full content of a message by its ID
Forget a stored relay credential for a room
Parse and validate an invite URL for joining a room or relay
Join a named room on the mesh
List all peer nodes currently visible on the mesh
Check the status of held messages in the outbox for absent peers
Credentials exposed as tool parameters: relay_url and relay_token in sym_join_room violate secret-injection pattern. Secrets in parameters leak into agent logs and traces.
No output schemas documented. Tools return data but LLMs cannot plan downstream calls or extract fields without seeing response structure. E.g., sym_list_peers, sym_recall, sym_fetch lack documented return types.
Constrained parameters lack enums. 'mood' field in sym_send/sym_publish accepts free-form strings; should declare valid values as enum. 'room' in sym_join_room should validate against isCanonicalRoom() and expose valid options.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Publish a message to a room on the mesh
Recall messages from the local store matching a query
Send a directed message to a peer node on the mesh
Descriptions lack WHEN/WHY context. sym_recall says 'Recall messages from the local store matching a query' but does not explain when to use it vs sym_fetch, or what 'local store' means to an LLM unfamiliar with SYM architecture.
No error recovery guidance. Tools declare risk levels (WRITE, READ_ONLY) but schema lacks error handling patterns. No documented failure modes, retryability, or actionable error messages for LLM self-correction.