MCP server that gives AI coding agents accurate, version-pinned API context from your OpenAPI contracts.
LockSpec demonstrates solid tool design with clear naming (verb_noun pattern), comprehensive parameter descriptions, and well-structured schemas. All 9 tools have explicit input schemas with typed parameters and descriptions. Tool names are action-oriented (load_spec, find_endpoint, get_signature, validate_call, diff_versions). However, output schemas are not documented in the visible code, and error handling guidance is minimal. The server provides good workflow instructions in SERVER_INSTRUCTIONS, but individual tool descriptions could be more explicit about when to use each tool vs. alternatives. No tool annotations (readOnlyHint/destructiveHint) are visible despite clear risk classifications (WRITE, DESTRUCTIVE).
Set a specific version as the active version for a spec.
Compare two versions of an API spec and report breaking/non-breaking changes to operations and types.
Search for API endpoints by query, with optional filtering by HTTP method, tag, or deprecation status.
Search for type definitions (schemas) by name or description.
Retrieve the full signature of an API operation, including parameters, request body schema, and response schemas.
List all loaded specs with their versions, active status, and metadata.
Load an OpenAPI specification (JSON or YAML) into the server, with optional version labeling and activation control.
Remove a spec and all its versions from the server.
Output schemas not documented. Tools return results but LLMs cannot see what fields to expect, forcing them to infer structure and plan downstream calls blindly.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. Tools marked WRITE and DESTRUCTIVE should declare this in the schema for agent safety.
Error handling lacks recovery guidance. No visible error responses that tell LLMs what to do next (e.g., 'ambiguous' error for multiple versions is mentioned in instructions but not in tool error handling code).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Validate a draft API call against the operation signature, checking parameter types, required fields, and request body schema compliance.
list_specs and remove_spec descriptions are generic (70 chars). They lack context about when to use them or what they return, making LLM selection less confident.
No pagination or result limits documented for find_endpoint and find_type despite 'limit' parameter. Unclear if results are capped, what happens with large result sets, or how to iterate.