SNOMED CT MCP Server

SNOMED CT MCP Server

Enables querying and browsing SNOMED CT medical terminology concepts, including search, details, and hierarchy navigation via MCP tools.

Category
Visit Server

README

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

  1. search_concepts - Search for concepts by term
  2. get_concept - Get concept details by ID
  3. get_concept_descriptions - Get all descriptions for a concept
  4. get_concept_relationships - Get concept relationships
  5. get_concept_children - Get child concepts
  6. get_concept_parents - Get parent concepts
  7. search_by_ecl - Search using ECL expressions

Installation

Prerequisites

  • Node.js 20 or later
  • npm or yarn
  • Claude Desktop app

Install from GitHub

  1. Clone the repository:
git clone https://github.com/yourusername/snomed-mcp-server.git
cd snomed-mcp-server
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Configure Claude Desktop

  1. 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
  2. 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.

  1. 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 concepts
  • get_concept - Get detailed concept information
  • get_concept_descriptions - Get concept descriptions
  • get_concept_relationships - Get concept relationships
  • get_concept_children - Get child concepts
  • get_concept_parents - Get parent concepts
  • search_by_ecl - Search using ECL expressions

Development

Run locally:

npm run dev

Build:

npm run build

Deployment to Cloudflare Workers

  1. Install Wrangler CLI:
npm install -g wrangler
  1. Login to Cloudflare:
wrangler auth login
  1. Deploy:
npm run deploy

Usage Examples

Screenshot

<img width="794" height="885" alt="Screenshot 2025-09-16 at 1 56 11 PM" src="https://github.com/user-attachments/assets/96f5d7a9-8918-4db8-97c2-cba5dabd057d" />

<img width="1643" height="988" alt="Screenshot 2025-09-16 at 2 06 43 PM" src="https://github.com/user-attachments/assets/4c1c52e9-0044-42de-8f10-da0ecf919804" />

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

  1. Check Configuration File Path: Ensure you're editing the correct config file for your OS
  2. Verify JSON Syntax: Make sure your claude_desktop_config.json has valid JSON syntax
  3. Check File Paths: Ensure the path to dist/index.js is correct and absolute
  4. Restart Required: Always restart Claude Desktop after configuration changes
  5. Build First: Run npm run build before configuring Claude Desktop

Connection Issues

  1. Check Build Output: Ensure dist/index.js exists after running npm run build
  2. Test Locally: Run npm run dev to test the server locally
  3. Node.js Version: Ensure you're using Node.js 20 or later
  4. 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:

  1. Check the Claude Desktop logs
  2. Verify the server runs with npm run dev
  3. Ensure all file paths are correct and accessible

License

MIT

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured