A multi-agent system with tool routing, OpenAI integration, and Google API tools (Gmail, Calendar) connected via WebSocket hub
This server exhibits critical deficiencies across naming, descriptions, parameter validation, and schema completeness. Tools are defined with names that lack action verbs (gmail-template, google-calendar, knowledge-base, api-caller), making intent ambiguous to LLMs. Parameter descriptions exist but are minimal and generic. Most critically, input schemas lack proper JSON Schema structure with type definitions, they are defined as simple string/object mappings in tool-routing-agent.ts without formal types, descriptions per parameter, or constraints. Output schemas are entirely undocumented. Error handling is minimal with no recovery guidance. The server shows no evidence of following the 54 Agentic Tool Patterns.
Calls an external API. Needs: url, method, payload.
Creates a Gmail draft email. Needs: to, subject, body.
Creates a Google Calendar event. Needs: summary, start, end, (optional: description, attendees).
Answers questions about ACME Company policies, products, and company information. Needs: question.
All tools lack action verbs in names; naming does not convey intent to LLMs.
Input parameters have type hints but NO per-parameter descriptions; LLMs cannot disambiguate meaning or validate inputs.
No output schemas documented; LLMs do not know what fields to expect or how to chain tools.
api-caller tool is a generic HTTP gateway with no authentication, allow-list, or validation, poses severe injection and security risks.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 23 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 22 | - | v1 |
No error handling guidance; errors do not tell LLMs what to do next (retry, ask user, fail).
Tool descriptions are 25 - 125 chars; most fall below the 194-char baseline for A+ tools and lack context on WHEN to use.
No parameter constraints (enums, min/max, regex, format); LLMs will hallucinate invalid values (bad emails, invalid timestamps, out-of-range counts).
google-calendar parameters marked optional in description but not enforced in schema; no distinction between required and optional.
Tool definitions are inline in tool-routing-agent.ts as simple objects with no formal tool registration, making them inferred rather than explicitly declared.