OrgLance/snomed-mcp-server
If you are the rightful owner of snomed-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The SNOMED CT MCP Server provides scalable, serverless access to SNOMED CT terminology services, deployable on Cloudflare Workers.
SNOMED CT MCP Server
A Model Context Protocol (MCP) server that provides access to SNOMED CT terminology services. This server can be deployed on Cloudflare Workers for scalable, serverless access to SNOMED CT data.
Features
- Search Concepts: Search for SNOMED CT concepts by term
- Concept Details: Get detailed information about specific concepts
- Descriptions: Retrieve all descriptions for a concept
- Relationships: Get concept relationships and hierarchy
- Navigation: Browse concept children and parents
- ECL Support: Search using Expression Constraint Language
Available Tools
search_concepts- Search for concepts by termget_concept- Get concept details by IDget_concept_descriptions- Get all descriptions for a conceptget_concept_relationships- Get concept relationshipsget_concept_children- Get child conceptsget_concept_parents- Get parent conceptssearch_by_ecl- Search using ECL expressions
Installation
Prerequisites
- Node.js 20 or later
- npm or yarn
- Claude Desktop app
Install from GitHub
- Clone the repository:
git clone https://github.com/yourusername/snomed-mcp-server.git
cd snomed-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
Configure Claude Desktop
-
Open your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the SNOMED MCP server to your configuration:
{
"mcpServers": {
"snomed-mcp-server": {
"command": "node",
"args": ["path/to/snomed-mcp-server/dist/index.js"]
}
}
}
Important: Replace path/to/snomed-mcp-server with the actual path to your cloned repository.
- Restart Claude Desktop for the changes to take effect.
Verify Installation
After restarting Claude Desktop, you should see the following SNOMED CT tools available:
search_concepts- Search for SNOMED CT conceptsget_concept- Get detailed concept informationget_concept_descriptions- Get concept descriptionsget_concept_relationships- Get concept relationshipsget_concept_children- Get child conceptsget_concept_parents- Get parent conceptssearch_by_ecl- Search using ECL expressions
Development
Run locally:
npm run dev
Build:
npm run build
Deployment to Cloudflare Workers
- Install Wrangler CLI:
npm install -g wrangler
- Login to Cloudflare:
wrangler auth login
- Deploy:
npm run deploy
Usage Examples
Screenshot
Search for concepts
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_concepts",
"arguments": {
"term": "heart attack",
"limit": 10
}
}
}
Get concept details
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_concept",
"arguments": {
"conceptId": "22298006"
}
}
}
Search using ECL
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_by_ecl",
"arguments": {
"ecl": "< 404684003",
"limit": 20
}
}
}
API Endpoints
The server uses the SNOMED International public terminology server:
- Base URL:
https://browser.ihtsdotools.org/snowstorm/snomed-ct/MAIN - FHIR URL:
https://snowstorm.ihtsdotools.org/fhir
Troubleshooting
MCP Server Not Appearing in Claude Desktop
- Check Configuration File Path: Ensure you're editing the correct config file for your OS
- Verify JSON Syntax: Make sure your
claude_desktop_config.jsonhas valid JSON syntax - Check File Paths: Ensure the path to
dist/index.jsis correct and absolute - Restart Required: Always restart Claude Desktop after configuration changes
- Build First: Run
npm run buildbefore configuring Claude Desktop
Connection Issues
- Check Build Output: Ensure
dist/index.jsexists after runningnpm run build - Test Locally: Run
npm run devto test the server locally - Node.js Version: Ensure you're using Node.js 20 or later
- Permissions: Make sure Claude Desktop can access the file path
Common Configuration Mistakes
- Using relative paths instead of absolute paths in the configuration
- Forgetting to restart Claude Desktop after changes
- Missing the build step (
npm run build) - JSON syntax errors in the configuration file
Getting Help
If you continue to experience issues:
- Check the Claude Desktop logs
- Verify the server runs with
npm run dev - Ensure all file paths are correct and accessible
License
MIT
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Disclaimer
This server uses the SNOMED International public terminology server for reference purposes. It is not intended for production healthcare systems. Please refer to SNOMED International licensing terms for commercial use.