
Omophub Mcp
io.github.OMOPHubPublished by GitHub account OMOPHubv1.1.0Updated Oct 24, 2026
Search, lookup, map, and navigate OMOP medical vocabularies via AI agents
Overview
Lets an AI assistant search, look up, map and navigate OMOP medical vocabularies such as SNOMED CT, ICD-10, RxNorm and LOINC through the OMOPHub API.
- What you can do
- Search and look up concepts by name, concept ID or vocabulary code, including semantic and similarity search
- Map concepts across vocabularies and navigate ancestors and descendants in the concept hierarchy
- Get combined concept details, hierarchy and mappings in one call, and list available vocabularies
- Resolve FHIR coded values and CodeableConcepts to OMOP standard concepts and CDM target tables
- Read vocabulary catalog resources and run guided prompts for concept-set building and code lookup
- When to use it
- Useful when working with clinical terminology: finding OMOP concept IDs, mapping codes between ICD-10, SNOMED, RxNorm and other vocabularies, validating codes, or assembling concept sets for phenotype and cohort definitions without loading ATHENA CSVs into a local database.
- Requirements
- Runs locally as an npm package via npx (Node.js), or as a Docker image, or against the vendor-hosted HTTP endpoint. Requires an OMOPHub account and an API key supplied as OMOPHUB_API_KEY (or an Authorization bearer header for the hosted endpoint). Network access to the OMOPHub API is needed.
Installation
In SourceWeft
- Open Omophub 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
OMOPHub MCP Server
Medical vocabularies for AI agents.
Search, map, and navigate 11M+ OMOP concepts: SNOMED CT, ICD-10, RxNorm, LOINC, and more. Directly from Claude, Cursor, VS Code, or any MCP-compatible client.
[npm version] [Codecov] [npm downloads] [License] [TypeScript] [MCP Compatible]
Quick Start · Tools · Examples · Docs · Website
Why OMOPHub MCP?
Working with medical vocabularies today means downloading multi-gigabyte CSV files, loading them into a local database, and writing SQL to find what you need. Every time.
OMOPHub MCP Server gives your AI assistant instant access to the entire OHDSI ATHENA vocabulary. No database setup, no CSV wrangling, no context switching. Just ask.
Use cases:
- Concept lookup - Find OMOP concept IDs for clinical terms in seconds
- Cross-vocabulary mapping - Map between ICD-10, SNOMED, RxNorm, LOINC, and 120+ vocabularies
- Hierarchy navigation - Explore ancestors and descendants for phenotype definitions
- Concept set building - Let your AI agent assemble complete concept sets for cohort definitions
- Code validation - Verify medical codes and check their standard mappings
Quick Start
1. Get an API Key
Sign up at omophub.com → create an API key in your dashboard.
2. Add to Your AI Client
Claude Desktop
Open Claude Desktop settings > "Developer" tab > "Edit Config". Add to claude_desktop_config.json:
Claude Code
Cursor
Open the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server". Add to .cursor/mcp.json:
VS Code
Add to .vscode/mcp.json:
Streamable HTTP (Remote / Hosted)
Run the MCP server as an HTTP service that clients connect to via URL:
Connect MCP clients to / or /mcp. Useful for centralized deployments where multiple AI agents share one server instance.
Hosted (mcp.omophub.com)
Connect directly to the OMOPHub-hosted MCP server - no installation required. Each client authenticates with their own API key via the Authorization header:
Claude Code:
VS Code (.vscode/mcp.json):
Cursor / Windsurf:
Note: Claude Desktop's Custom Connectors UI only supports OAuth and cannot send custom headers. Use the npx setup instead.
Docker
3. Start Asking
"What's the OMOP concept ID for type 2 diabetes?"
"Map ICD-10 code E11.9 to SNOMED"
"Show me all descendants of Diabetes mellitus in SNOMED"
Available Tools
Resources
Prompts
Example Prompts
Find a concept → search_concepts
"Search for metformin in RxNorm"
Cross-vocabulary mapping → map_concept
"I have SNOMED concept 201826 - what's the ICD-10 code?"
Build a concept set → search_concepts → get_hierarchy → map_concept
"Help me build a concept set for Type 2 diabetes including all descendants"
Completeness matters here.
map_conceptreturns one page at a time (page_size1-200, default 100). A widely-used drug ingredient can have well over a thousand NDC mappings, so a single call is a sample, not the answer. Checkhas_morein the response and keep incrementingpageuntil it isfalse— otherwise the concept set looks complete while silently missing codes.Use
find_similar_conceptsfor exploration, not for this: it is ranked embedding similarity, so it has no notion of set membership and cannot be exhaustive no matter how largepage_sizeis.
Validate a code → get_concept_by_code → map_concept
"Is ICD-10 code E11.9 valid? What does it map to in SNOMED?"
Semantic search → semantic_search
"Find concepts related to 'heart attack'"
Explore a concept → explore_concept
"Give me everything about SNOMED concept 201826"
FHIR-to-OMOP resolution → fhir_resolve
"Resolve FHIR SNOMED code 44054006 to OMOP — what table does it go in?"
CodeableConcept → fhir_resolve_codeable_concept
"This CodeableConcept has both SNOMED 44054006 and ICD-10 E11.9 — which should I use for OMOP?"
Find similar → find_similar_concepts
"What concepts are similar to 'Type 2 diabetes mellitus'?"
Configuration
Environment Variables
CLI Arguments
Health Endpoint (Docker / Kubernetes)
In HTTP mode, the health endpoint is available at /health on the same port as the MCP endpoint:
In stdio mode, use --health-port for a standalone health endpoint:
The Docker image defaults to HTTP mode on port 3100 with health checks built in.
Development
Run locally:
Troubleshooting
Links
License
MIT - see LICENSE
Source: README.md at commit 995f79a
Tools
0Version history
1- v1.1.0LatestSep 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