A gateway server that bridges internal Memoh agents and external A2A agents through an MCP (Model Context Protocol) interface, providing unified tool-based access to multiple agent systems.
Server defines 6 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (list_, ask_, get_, health). Descriptions are present (avg ~120 chars) but lack actionable context for LLM selection. Parameters are typed but many lack descriptions (context array in ask_agent has no item-level guidance). No output schemas documented. Error handling and recovery guidance absent. Security considerations (agent isolation, permission checks) not visible in tool definitions.
Send a query to an internal agent by ID and receive its response. Use list_internal_agents first to discover available agent IDs.
Invoke one curated external A2A agent by agent_id.
Fetch normalized capabilities for one external A2A agent from its agent card.
Bridge health status with registry and internal provider availability.
List curated external A2A agents available for invocation.
List all internal agents (Memoh bots) available for direct invocation.
No output schemas documented for any tool. LLMs cannot predict response structure, forcing them to parse unstructured output or make assumptions about available fields.
ask_agent's 'context' parameter (array of conversation turns) lacks item-level descriptions. LLMs cannot infer the expected structure of role/content objects without explicit guidance.
No error handling or recovery guidance in tool descriptions. If ask_agent fails (agent offline, invalid ID), LLM has no guidance on retry strategy or fallback actions.
Tool descriptions lack dependency hints and prerequisites. E.g., ask_agent says 'Use list_internal_agents first' but doesn't explain why or when this is necessary.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
No pagination or result-limiting parameters on list_* tools. If hundreds of agents exist, returning all could exhaust context window. Missing limit/offset/page_size parameters.