AER is not an MCP server itself. This is a monorepo containing multiple packages for auto-instrumentation, recording, verification, and attestation of AI agent execution. The repository includes CLI tools, SDKs, adapters, and middleware for recording agent tool usage with signed execution records.
Two tools with minimal definitions. lookup_customer has a reasonable description (27 chars, below 34-char p10 baseline) and a properly typed input schema with two parameters. always_fails has a trivial description (13 chars, well below 20-char threshold) and a single parameter. Neither tool has documented output schemas. Parameter descriptions are present but terse. No error handling guidance, no recovery paths, no idempotency hints. Tool names lack clarity on what 'lookup' returns or why 'always_fails' exists. This appears to be a conformance fixture, not a production MCP server.
Always fails
Look a customer up by id
always_fails has a description under 20 characters ('Always fails'). Tool purpose is unclear, why would an agent call a tool that always fails?
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract required fields without knowing what lookup_customer returns (e.g., customer object structure, fields available).
lookup_customer description (27 chars) is below the 34-char p10 baseline and lacks context on when to use it, what it returns, or prerequisites. Does it accept partial names or only exact IDs?
No error handling guidance. If lookup_customer fails (customer not found, permission denied), the tool provides no recovery path or actionable error message for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Tool naming lacks action clarity. 'lookup_customer' is acceptable (verb_noun), but 'always_fails' is a test stub, not a production tool. If this is a real tool, the name should reflect its actual purpose.