MCP server for OOREP homeopathic repertory and materia medica - enables AI assistants to search symptoms, remedies, and homeopathic reference materials
OOREP MCP server demonstrates solid tool definition quality with comprehensive schemas, clear descriptions, and proper naming conventions. All 5 tools follow verb_noun patterns (search_*, list_*, get_*). Schemas are well-formed with type definitions, descriptions, and constraints. However, output schemas are not documented, error handling guidance is minimal, and some parameter descriptions could be more detailed about expected formats and constraints. The server targets a specialized domain (homeopathic reference) with appropriate tool composition.
Get detailed information about a specific homeopathic remedy including its full name, abbreviation, and alternative names.
List all available materia medica texts with their metadata including title, author, and language.
List all available homeopathic repertories with their metadata including title, author, and language.
Search materia medica texts for remedy descriptions and symptoms. Returns sections from materia medica books that match the search term.
Search for symptoms in homeopathic repertories. Returns matching rubrics with remedies and their weights. Useful for finding remedies associated with specific symptoms.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Returns matching rubrics with remedies and their weights') but the response structure is not formally defined. LLMs cannot reliably extract fields or plan downstream tool chains without documented output types.
Parameter 'repertory' and 'materiamedica' lack enum constraints or guidance on valid values. Descriptions reference 'Use list_available_repertories to discover available options dynamically' but LLMs may hallucinate invalid repertory codes if not explicitly constrained. Should include enum list or pattern constraint.
No error recovery guidance. Tool descriptions do not explain what errors might occur or how the agent should respond. E.g., 'If repertory not found, call list_repertories()' or 'Returns empty results if no matches, try broader symptom terms.'
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | 2025-06-18+ | v1 |
Parameter format constraints not explicitly documented. E.g., 'symptom' parameter accepts 'wildcards (*) at end of words and exclusions with quotes', good context, but no guidance on what happens with invalid syntax. Should specify valid syntax examples and error behavior.
No pagination or result-limiting documentation for list_repertories and list_materia_medicas. If these can return many items, agents need to know maximum result count and whether pagination is supported to avoid context window exhaustion.