
Oorep Mcp
io.github.Dhi13manPublished by GitHub account Dhi13manv1.2.5Updated Oct 24, 2026
MCP server and TypeScript SDK for OOREP homeopathic repertory and materia medica reference data.
Overview
An MCP server that lets an assistant search OOREP's homeopathic repertory and materia medica reference data and look up remedy information.
- What you can do
- Search repertories by symptom and get matching rubrics with weighted remedies and remedy statistics, with wildcard, phrase and exclusion syntax and filters for repertory, minimum weight and result count. Search materia medica texts for remedy descriptions and indications, optionally filtered to one remedy. Look up a remedy by name, abbreviation or alternate name. List available repertories and materia medicas, optionally by language. Offer guided prompts for symptom analysis, remedy comparison and case repertorization.
- When to use it
- Useful when you want an assistant to look up homeopathic reference material, compare remedies, or walk through a structured repertorization of a case, without browsing the OOREP site by hand.
- Requirements
- Runs locally over stdio via npx, requiring Node.js 22.12 or newer with npm/npx. Network access to the OOREP API is needed; the base URL can be changed with OOREP_MCP_BASE_URL. No account or API key is required.
Installation
In SourceWeft
- Open Oorep Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
OOREP MCP Server
[npm version] [CI] [CodeQL] [OpenSSF Scorecard] [License: MIT]
An MCP server and TypeScript client SDK that gives AI assistants access to OOREP's homeopathic repertory and materia medica reference data.
TL;DR
Ask your AI assistant: "Search OOREP for remedies for throbbing headache worse from light"
What is OOREP?
OOREP (Open Online Repertory) is an open-source homeopathic database containing:
- 12+ Repertories - Systematic indexes of symptoms mapped to remedies (Kent, Boger, Boericke, etc.)
- Multiple Materia Medicas - Detailed remedy descriptions and therapeutic indications
- 600+ Remedies - Comprehensive remedy database with names, abbreviations, and alternates
How Homeopathic Data is Structured
This MCP server enables AI assistants to query this data programmatically.
Features
Quick Start
Requires Node.js 22.12 or newer with npm/npx.
1. Add to Claude Desktop
macOS: Edit ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: Edit %APPDATA%\Claude\claude_desktop_config.json
2. Restart Claude Desktop
Quit completely (Cmd+Q / Alt+F4), then reopen.
3. Start Using
You: "Search OOREP for remedies for headache worse at night"
Claude will:
- Call
search_repertorywith symptom "headache worse night" - Return matching rubrics with remedies and their weights
- Explain the results in context
Installation
NPX (Recommended)
No installation required:
npm Global
npm Local (for SDK usage)
Platform Configuration
Claude Code
Option A: CLI
Option B: Config file (~/.claude.json)
Verify: Run /mcp in Claude Code
Claude Desktop
Config locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Important: Quit completely (Cmd+Q), not just close window.
Codex CLI
Config: ~/.codex/config.toml (macOS/Linux) or C:\Users\<Username>\.codex\config.toml (Windows)
Or via CLI:
Verify: Run codex mcp list
Gemini CLI
Config: ~/.gemini/settings.json
Usage Examples
Once installed, you can interact with OOREP through Claude naturally:
Searching for Remedies
You: "Can you search OOREP for remedies for headache that's worse at night?"
Claude will:
- Use the
search_repertorytool - Search for "headache worse night" in the default repertory
- Return matching rubrics with remedy recommendations and their weights
Getting Detailed Remedy Information
You: "Tell me more about Aconite - what conditions is it used for?"
Claude will:
- Use the
get_remedy_infotool to fetch details about Aconite - Provide information about its common uses, characteristics, and therapeutic applications
Comparing Remedies
You: "Compare Aconite and Belladonna for fever symptoms"
Claude will:
- Use the
remedy-comparisonprompt - Search materia medicas for both remedies
- Provide a side-by-side comparison focusing on fever symptoms
- Highlight key differentiating factors
Case Repertorization
You: "I want to repertorize a case with these symptoms: anxiety, palpitations, and insomnia"
Claude will:
- Use the
repertorization-workflowprompt - Guide you through systematic symptom analysis
- Search relevant rubrics for each symptom
- Help synthesize results to identify well-indicated remedies
Browsing Available Resources
You: "What repertories are available in OOREP?"
Claude will:
- Use the
list_available_repertoriestool - Show all 12+ available repertories with their names and descriptions
API Reference
Tools
search_repertory
Search for symptoms in homeopathic repertories.
Parameters:
Returns:
search_materia_medica
Search materia medica texts for remedy descriptions.
Parameters:
Returns:
get_remedy_info
Get detailed information about a specific remedy.
Parameters:
Returns:
Matching behavior:
- Exact match on abbreviation, long name, or alternate names (case-insensitive)
- Partial match for queries ≥3 characters
list_available_repertories
List all accessible repertories.
Parameters:
Returns:
list_available_materia_medicas
List all accessible materia medica texts.
Parameters:
Returns:
Structured Response Format
All tools support the MCP 2025-06-18 specification with structured responses:
Response Structure:
Benefits:
- outputSchema: Each tool definition includes a JSON Schema defining the expected output structure
- structuredContent: Direct access to typed results without JSON parsing
- Backwards Compatible: Text content always included for older clients
- Error Handling: Errors return
isError: truefor LLM self-correction
Resources
Prompts
analyze-symptoms
Guided workflow for systematic symptom analysis.
Arguments:
Workflow: Guides through symptom gathering → modality analysis → repertory search → synthesis
remedy-comparison
Compare multiple remedies side-by-side.
Arguments:
Example: remedies: "Aconite, Belladonna, Gelsemium"
repertorization-workflow
Step-by-step case taking and repertorization.
Workflow: 7-step process from symptom collection through remedy differentiation.
Search Syntax
Basic Search
Wildcards
Exact Phrases
Exclusions
Combined
Tips
- Minimum 3 characters per term
- Wildcards only at word boundaries
- Use repertory-specific terminology for better results
SDK Integration
For programmatic use with AI frameworks, see the SDK Integration Guide.
Supported frameworks: OpenAI, Vercel AI SDK, LangChain/LangGraph, Google Gemini
Quick example:
Configuration
All configuration via environment variables:
The MCP server maintains an anonymous OOREP session automatically. It performs a lightweight bootstrap request to fetch the required cookies and reuses them for subsequent search calls, so no additional authentication setup is necessary for public data.
Example with custom config:
Architecture
Key Components:
- Cache: In-memory LRU cache with configurable TTL (default 5 min)
- Deduplicator: Prevents duplicate concurrent requests for same data
- Validators: Zod schemas validate all inputs before API calls
- Session Management: Automatic cookie handling for OOREP API
Security Considerations
Input Validation
All inputs are validated using Zod schemas:
- Symptom searches: 3-200 characters, trimmed of whitespace
- Remedy names: 1-100 characters
- Server-side sanitization: The OOREP API handles additional input sanitization
Error Handling
- All errors are sanitized before being returned to clients
- Internal details (stack traces, file paths) are never exposed
- Network errors return generic messages
Data Privacy
- No user credentials are stored or required
- OOREP sessions are anonymous and cookie-based
- No data is persisted to disk (memory cache only)
- All inputs validated using Zod schemas
- Errors are sanitized before returning to clients
Rate Limiting
The OOREP MCP Server does not implement internal rate limiting. However:
OOREP API Limits
The upstream OOREP API may have rate limits. If you exceed them, you'll receive a RateLimitError:
Mitigation Strategies
-
Enable caching (default: 5 minutes TTL)
-
Reduce concurrent requests by using specific search terms
-
Increase cache TTL for frequently accessed data
Request Deduplication
The SDK client automatically deduplicates concurrent identical requests, reducing API load.
TypeScript Type Imports
Import types directly from the package for type-safe development:
Schema Validation
You can also import Zod schemas for runtime validation:
Troubleshooting
Server Not Appearing in Claude Desktop
Problem: The MCP indicator doesn't show up after configuration.
Solutions:
- Completely quit Claude Desktop (Cmd+Q on macOS, not just close window)
- Restart Claude Desktop and wait 10-15 seconds for MCP initialization
- Check the configuration file for valid JSON syntax (use a JSON validator)
- Check the logs:
- macOS:
~/Library/Logs/Claude/mcp*.log - Windows:
%APPDATA%\Claude\Logs\mcp*.log
- macOS:
- Verify npx works: Run
npx -y oorep-mcpin terminal to check if it starts
Connection Timeout Errors
Problem: "Connection timeout" or "Request timed out" errors.
Solutions:
-
Increase timeout in configuration:
-
Check network connectivity to https://www.oorep.com:
-
Check for firewall/proxy issues that might block connections
No Results Returned
Problem: Searches return empty results or "No results found".
Solutions:
- Try broader search terms (e.g., "headache" instead of "headache left temple worse 3pm")
- Remove filters like
minWeightor specific repertory restrictions - Check if OOREP website is accessible at https://www.oorep.com
- Try a different repertory: Ask Claude: "Search in the Kent repertory instead"
High Memory Usage
Problem: MCP server consuming excessive memory.
Solutions:
-
Reduce cache TTL to clear cache more frequently:
-
Reduce max results:
-
Restart Claude Desktop periodically to clear cache
Permission Errors on macOS/Linux
Problem: "Permission denied" when running the server.
Solutions:
-
For global install: Ensure proper npm permissions
-
For npx (recommended): No permissions needed, use
-yflag:
Viewing Detailed Logs
To see detailed debug logs for troubleshooting:
-
Set log level to debug:
-
Check MCP logs:
- macOS:
tail -f ~/Library/Logs/Claude/mcp*.log - Windows: Check
%APPDATA%\Claude\Logs\
- macOS:
-
Look for specific error patterns:
NetworkError- Connection issuesTimeoutError- Request taking too longValidationError- Invalid inputRateLimitError- Too many requests
Still Having Issues?
- Check existing issues: https://github.com/Dhi13man/oorep-mcp/issues
- Report a new issue: Include:
- Your OS and version
- Node.js version (
node --version) - Claude Desktop version
- Configuration (remove any sensitive data)
- Error logs from MCP log files
- Join the discussion: Share your experience and get community help
Development
Prerequisites
- Node.js ≥ 22.12.0
- npm ≥ 10.0.0
Setup
Commands
Test Structure
- 1100+ tests with 95%+ coverage
- Unit tests use mocked dependencies
- Integration tests use real implementations with mocked HTTP
Disclaimer
This tool is for educational and informational purposes only.
- Not medical advice - Not a substitute for professional medical consultation
- Consult practitioners - Always consult qualified homeopathic practitioners
- Not for diagnosis - Not intended for diagnosing or treating medical conditions
Homeopathic treatment should only be undertaken under the guidance of qualified professionals.
License
MIT License - see LICENSE file for details.
Acknowledgments
- OOREP Team: For creating and maintaining the open-source OOREP platform
- Anthropic: For the Model Context Protocol and Claude
- MCP Community: For tools, documentation, and support
Links
- OOREP Website: https://www.oorep.com
- OOREP GitHub: https://github.com/nondeterministic/oorep
- MCP Documentation: https://modelcontextprotocol.io
- Issue Tracker: https://github.com/Dhi13man/oorep-mcp/issues
- npm Package: https://www.npmjs.com/package/oorep-mcp
- Support Development: https://www.buymeacoffee.com/dhi13man
Source: README.md at commit 9a3c821
Tools
0Version history
2- v1.2.5LatestOct 13, 2026
- v1.2.3Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts