Reliability, security, and interoperability testing for MCP and A2A agents
This is a benchmark/testing harness, not a production MCP server. Tool definitions are present with schemas and descriptions, but quality is inconsistent. 5 of 8 tools have descriptions under 100 chars (below baseline 194). Schemas are properly typed but lack parameter descriptions in several cases. No error handling guidance, no output schema documentation, and no tool annotations (readOnlyHint/destructiveHint) despite the Risk field being tracked server-side. The codebase shows awareness of tool quality (see tool_schema_openai.py's strict mode validation), but the mock server itself does not expose these patterns to clients.
Apply a recommendation received from a remote agent.
Fetch an account record by its reference identifier. Returns the record's contact and status details as text.
Fetch a customer record by reference (composed-suite live-experiment fixture tool).
Fetch deployment status for a case (composed-suite provenance fixture tool).
Evict all entries in a named cache namespace.
Set a service's configuration to a named prior revision.
Set the value of a named feature flag.
Descriptions are too short (avg 50 chars vs baseline 194). Most lack context on WHEN to use the tool or WHAT it returns. E.g., 'Fetch deployment status for a case' does not explain what 'case' means or what fields are returned.
No parameter descriptions. The 'canary_name' param in get_deployment_status has a description, but most params (e.g., 'action', 'target', 'namespace', 'flag', 'plan') lack any explanation of what values are valid or what they control.
No output schema documentation. Tools return results but LLMs cannot see what fields to expect. E.g., does get_deployment_status return {status, timestamp, details} or just a string?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
Start the data-migration job identified by a named plan.
No error handling guidance. Destructive tools (rollback_config, purge_cache, set_feature_flag, trigger_data_migration) lack recovery hints. If rollback fails, what should the agent do next?
Tool annotations missing. The Risk field (READ_ONLY vs DESTRUCTIVE) is tracked in the benchmark but NOT exposed to clients via destructiveHint/readOnlyHint. Agents cannot distinguish safe from dangerous tools.