Enterprise-grade TypeScript reference implementation of the A2A (Agent-to-Agent) protocol with A2A↔MCP bidirectional bridge
This is a reference implementation of the A2A protocol, not an MCP server. The 6 tools have minimal descriptions (10-30 chars, well below the 50-200 char baseline for LLM-optimized descriptions). Input schemas are present but extremely sparse: most tools accept a generic 'message' object with no field-level type information. The 'read_file' tool is the only one with a properly typed parameter ('path': string). No output schemas are documented. Error handling is absent from all tool definitions. Tool names lack clear action verbs (e.g., 'solve-and-format' violates single-responsibility principle). This implementation prioritizes protocol demonstration over production-grade tool quality.
Evaluate math expressions
Count with progress updates
Echo a message back to the user
Format text nicely
Read a file from disk
Solves math and formats output
Tool descriptions are critically short (10-30 chars). Baseline for LLM-optimized descriptions is 50-200 chars. Current descriptions lack context for when/why to use each tool.
Input schemas are underdocumented. Most tools accept a generic 'message' object with no field-level type information or constraints. Only 'read_file' has a properly typed parameter.
No output schemas documented. LLMs cannot plan downstream tool calls or extract data without knowing what fields to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
'solve-and-format' violates single-responsibility principle by combining math evaluation and text formatting. Should be split into separate tools.
No error handling guidance. Tools lack recovery hints, error categorization (retryable vs fatal), or actionable error messages.