Shared-context and memory coordination server for swarms of parallel AI agents. HTTP + WebSocket mesh server, CLI, and MCP server implementing the SwarmMesh protocol, interoperable with the Python implementation.
SwarmMesh provides 10 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (register_agent, publish_context, query_memory). Descriptions are present but brief (avg 60 chars, below 194-char baseline). All parameters have type definitions and descriptions. However, output schemas are not documented, callers cannot see what fields to expect from responses. Error handling is minimal; no recovery guidance or actionable error messages visible. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Composition is sound: tools are single-purpose and chainable (e.g., register_agent → publish_context). Security: no secrets in parameters, but no audit logging or permission gates visible.
Delete a context value.
Deregister an agent from the mesh. Idempotent.
Read a single context value. Returns found: false if unset or expired.
Get a mesh status snapshot.
List currently registered agents.
List all live (non-expired) context entries in a namespace.
Publish (create or overwrite) a context value in a namespace.
Output schemas not documented. Callers cannot see what fields responses contain, forcing LLMs to guess structure and breaking tool chaining. E.g., list_agents returns Agent objects but schema is invisible.
Descriptions are too brief (avg 60 chars vs 194-char baseline). list_agents, list_context, get_status lack context for when/why to call them. No dependency hints or discovery guidance.
No tool annotations despite clear risk classifications. destructiveHint missing on deregister_agent and delete_context; readOnlyHint missing on list_* and get_* tools. LLMs cannot infer safety without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Query memory entries in a namespace using keyword/BM25-style term-frequency ranking (not semantic/embedding search).
Register an agent with the mesh.
Write a memory entry (a finding, summary, or note) into a namespace.
No error handling guidance. Responses do not indicate retryability, user-fixability, or recovery steps. E.g., if publish_context fails due to invalid TTL, no actionable error message visible.
query_memory accepts top_k but no pagination (offset/limit). Large result sets could blow context window. No documented result cap or guidance on limiting returned entries.