MCP server providing tools to search and retrieve Revit API documentation, including access to a learning resources library powered by OpenAI vector search
The server defines 4 tools with solid parameter validation and mostly complete descriptions. Tool names follow verb_noun pattern (search-*, retrieve-*). Descriptions are substantial (100-250 chars), exceeding the baseline average of 194 chars. Parameter schemas are well-structured with Zod validators and regex constraints. However, output schemas are entirely absent, no documentation of what these tools actually return to the LLM. Error handling guidance is minimal. The query validation refine() on queryString is good defensive programming, but tool descriptions lack explicit guidance on when to use each tool relative to others, and the output structure for search results and doc retrieval is never specified.
Retrieves a single Revit API documentation page using its URL slug. **Use when:** You already have the exact URL slug from a previous search and want the full documentation content. **Notes:** You MUST first use the "search-docs" tool to get the URL slug. An incorrect slug will cause an error.
Retrieves full documentation content for multiple Revit API entities based on a search query. **Use when:** You want to explore API entities and need their complete documentation content, not just search results. **Notes:** Set maxResults to 1 if you only need the first result.
Searches Revit API documentation to find entities matching your query. **Use when:** You need to discover API entities, understand their purpose, or find specific functionality. **Returns:** Entity names, descriptions, namespaces, types, and URL slugs for further exploration. **Notes:** - API documentation varies between version years (2025+ includes member info in Class pages) - Some entities may be deprecated between version years - Search results may have slight variations in formatting
Searches a comprehensive library of Revit API resources including The Building Coder blog posts, C# code examples, PDF resources, and practical guides. **Use when:** You need practical examples, troubleshooting help, or want to learn how to use specific API features. **Notes:** Results are from a vector store are chunked. If content is cut off, refine your query and search again.
Output schemas completely undocumented. None of the 4 tools document what fields they return (e.g. does search-docs return title, description, namespace, type, url? In what structure?). LLMs cannot plan downstream calls or extract required data without knowing response format.
Tool differentiation lacking. Descriptions of retrieve-docs vs retrieve-doc and search-docs vs search-library do not clearly explain WHEN to use one vs the other. An LLM must infer: should I call search-docs first to get a slug, then retrieve-doc? Or call retrieve-docs directly on a query string? The composition is implicit, not explicit.
No error recovery guidance. Descriptions mention 'An incorrect slug will cause an error' but do not advise what the LLM should do (e.g. 'Retry with search-docs to find the correct slug'). No guidance on retryability, user fixability, or fatality classification.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 61 | - | v1 |
search-library description notes 'Results are from a vector store are chunked' (grammatical error: 'are' doubled) and 'If content is cut off, refine your query' but does not explain pagination or result limits. Tool returns maxResults (default 10) but no indication of total available, next_cursor, or whether results are ranked by score.
Parameter descriptions reference undefined type. queryTypes description says 'Filter results by type' and lists enums, but does not explain what 'type' means in the Revit API context (Class vs Constructor vs Method, what's the semantic difference to an LLM unfamiliar with Revit?).