MCP server providing search and retrieval capabilities for B&R Automation Studio help documentation with persistent indexing and fast startup
The server defines 6 well-named read-only tools with clear, action-verb prefixes (search_, get_, browse_, list_). Tool descriptions are concise and explain purpose effectively. Input schemas are properly typed with enums and constraints. However, output schemas are only partially documented in code comments rather than formal Pydantic models visible in the function signatures. Error handling is basic with no recovery guidance. The SearchResult model is defined but other tool outputs (get_page_by_id, browse_section, etc.) lack explicit schema documentation in the visible code. Parameter descriptions are generally good but some could be more prescriptive about constraints and ranges.
Browse children (subsections and pages) of a section
Get breadcrumb navigation path for a page, showing hierarchy from top-level category down to the page
List all top-level categories in the help documentation
Get help index statistics and build status
Get full content of a help page by its page_id. Use the page_id from search results
Search B&R help documentation using keyword FTS or hybrid semantic+keyword search
Output schemas not fully documented in code. SearchResult is defined as a Pydantic model, but return types for get_page_by_id, get_breadcrumb, browse_section, and get_categories are not visible in the provided source. Without explicit schema documentation, LLMs cannot determine what fields to expect or plan downstream tool calls.
No error handling guidance visible. Tool descriptions do not explain what errors are possible or how the agent should recover (e.g., 'if page not found, try search_help'). Agents have no recovery strategy if a tool call fails.
Parameter constraints not fully specified. 'max_results' has no explicit min/max bounds in the description (code comment says default 20, max 100, but this is not in the formal parameter description). 'page_id' accepts any string with no validation hint. Allows LLMs to pass invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Result limit enforcement not documented. search_help mentions 'max_results' but no statement that the API will cap results or that pagination is offered for large result sets. Agents may assume unlimited retrieval.