Code-mode MCP server for the U.S. Federal Register and Electronic Code of Federal Regulations APIs.
Three tools with clear names and reasonable descriptions, but significant gaps in parameter documentation and output schema specification. search_api and describe_schema have minimal parameter descriptions (only 'query' and 'id' with brief text). execute lacks parameter descriptions for timeoutMs and memoryMb. No tool documents its output schema structure, forcing LLMs to infer response format. Error handling is basic (generic error messages in mcpServer.ts). Naming follows verb_noun convention well (search_, describe_, execute). Zod validation present but not exposed to LLM for constraint clarity.
Look up an endpoint or field by exact dotted id (path) or by namespace prefix. Use to drill into fr.* and ecfr.* surfaces.
Run TypeScript inside a sandbox (no net, fs, env, or subprocess). Globals `fr` and `ecfr` proxy to FederalRegister.gov and eCFR. Return the awaited expression as the result.
BM25 search over Federal Register and eCFR API endpoints and the curated field dictionary. Returns TypeScript signatures and examples for use in execute.
Output schemas not documented. No tool describes what fields/structure it returns. LLMs cannot plan downstream calls or extract data reliably.
execute tool parameters timeoutMs and memoryMb lack descriptions. LLMs cannot determine valid ranges or when to adjust these values.
search_api description mentions 'TypeScript signatures and examples' but does not explain what data structure is returned or when to use describe_schema vs search_api.
Error handling in mcpServer.ts returns generic error text without recovery guidance. 'Unknown tool' and catch-all error messages do not tell LLM what to do next.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
execute tool accepts arbitrary TypeScript code in a sandbox. No description of what globals (fr, ecfr) provide, what methods they expose, or error modes (timeout, memory limit, syntax error).