MCP server for accurate, up-to-date library documentation
ProContext demonstrates solid definition quality with well-structured tool schemas and clear parameter descriptions. All 4 tools have explicit input/output models with Pydantic validation. Descriptions are present and actionable (60-260 chars). Parameter constraints are explicit (min/max, enums, validation rules). However, tool naming could be more distinct, and output documentation is implicit rather than explicit in tool registration. No tool annotations (readOnlyHint, etc.) despite all tools being read-only. Error handling is validated but recovery guidance is not baked into tool descriptions.
Read documentation page outline with pagination
Read documentation page content with pagination and optional outline
Resolve library names to their documentation URLs and metadata
Search documentation page content or outline with literal or regex patterns
Tool naming lacks clear action verbs for discovery tools. 'resolve_library' is good (verb+noun), but 'read_outline' and 'read_page' are nearly identical in intent. LLMs may conflate them.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in tool registration despite all tools being read-only and safe. This metadata helps agents reason about tool safety.
Output schemas documented in Pydantic models (ReadPageOutput, ReadOutlineOutput, SearchPageOutput) but not visible in tool registration code. Tool descriptions do not explicitly state what fields are returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 63 | - | v1 |
Error messages validated at parameter level (Pydantic field_validator) but recovery guidance not included in tool descriptions. E.g., 'query must be at least 3 characters' is validation, not recovery guidance.