About icf-mcp
icf-mcp provides access to the WHO International Classification of Functioning, Disability and Health, plus 11 clinical assessment instruments. It is intended for workflows involving ICF codes, qualifiers, hierarchies, and instrument scoring or mappings.
Key features
- 01Search and navigate ICF codes
- 02Validate and parse qualifiers
- 03Build functional profiles
- 04Reference 11 assessment instruments
- 05Score instruments and view ICF mappings
Use cases
- 01Look up or validate ICF codes
- 02Navigate code hierarchies
- 03Score assessment responses
- 04Match instruments to conditions or domains
MCP support
Exposes ICF classification and assessment actions through a single tool for MCP clients. Code and hierarchy actions use the WHO API; instrument and qualifier actions work without WHO API credentials.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp-icf.medseal.app/mcpclaude mcp add --transport http stayce-icf https://mcp-icf.medseal.app/mcp{"mcpServers":{"stayce-icf":{"type":"http","url":"https://mcp-icf.medseal.app/mcp"}}}Open in Cursor{"servers":{"stayce-icf":{"type":"http","url":"https://mcp-icf.medseal.app/mcp"}}}Open in VS Code{"mcpServers":{"stayce-icf":{"type":"http","url":"https://mcp-icf.medseal.app/mcp"}}}{"mcpServers":{"stayce-icf":{"serverUrl":"https://mcp-icf.medseal.app/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
1| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | No | ICF code, optionally qualified (e.g., b280, d450.23, s730.312, e120+3) |
| name | string | No | Instrument name or abbreviation (e.g., GAD-7, PHQ-9, SLEDAI, WHODAS) |
| path | string | No | API path for raw requests |
| codes | array | No | List of ICF codes for profile building (e.g., ["b280", "d450"]) |
| query | string | No | Search terms |
| action | enum | Yes | lookup | search | browse | children | parent | siblings | chain | profile | qualifier | validate | parse | instruments | instrument | score | suggest | mapping | overview | api | help |
| domain | string | No | Clinical domain filter (e.g., Mental Health, Rheumatology, Pain) |
| category | string | No | Component letter (b, s, d, e) or sub-chapter code (b1, d4, e3, ...) |
| component | string | No | Qualifier component: generic (default), b, s, d, or e |
| condition | string | No | Clinical condition for instrument suggestions (e.g., rheumatoid arthritis) |
| qualifier | number | No | Qualifier value (0-4, 8, or 9) |
| responses | array | No | Instrument responses, one per item in order (for score) |
| max_results | number | No | Maximum results (default 10) |
Details
From the project READMEICF MCP Server (Cloudflare Workers)
A Model Context Protocol (MCP) server for the WHO International Classification of Functioning, Disability and Health (ICF), deployed on Cloudflare Workers for global edge availability.
Live URL: https://mcp-icf.medseal.app/mcp
What is ICF?
The ICF is a WHO classification that complements ICD (diagnosis codes) by describing how health conditions affect a person's functioning in daily life:
- Body Functions (b) - Physiological and psychological functions
- Body Structures (s) - Anatomical parts of the body
- Activities and Participation (d) - Task execution and life involvement
- Environmental Factors (e) - Physical, social, and attitudinal environment
Tool
A single icf tool with action dispatch (token-efficient). 19 actions:
Codes & Hierarchy
| Action | Description |
|---|---|
lookup | Look up a specific ICF code (e.g., b280, d450) |
search | Search by keyword (e.g., "walking difficulty", "pain") |
browse | Browse a category (b, s, d, e) or sub-chapter (b1, d4, e3) |
children | Get subcategories of a code |
parent | Navigate up to a code's parent category |
siblings | Codes at the same level (same parent) |
chain | Full hierarchy path from root to a code |
profile | Build a functional profile from multiple codes |
Qualifiers
| Action | Description |
|---|---|
qualifier | Component-specific qualifier reference (b=1, s=3, d=2, e=barrier/facilitator) |
validate | Validate code format + qualifiers, verify existence in the WHO API |
parse | Parse fully qualified codes (d450.23, s730.312, e120+3) |
Clinical Assessment Instruments
11 standardized RPM instruments with items, scoring, and ICF mappings: GAD-7, PHQ-9, RADAI-5, SLEDAI-2K, WHODAS 2.0, HAQ-DI, PROMIS-10, CAT, ODI, NRS Pain, Short FES-I.
| Action | Description |
|---|---|
instruments | List instruments, optionally filtered by domain |
instrument | Full spec: items, response options, scoring, ICF mappings |
score | Score responses → severity, interpretation, ICF qualifier |
suggest | Suggest instruments for a condition, ICF code, or domain |
mapping | Show an instrument's ICF code mappings |
Meta
| Action | Description |
|---|---|
overview | Full ICF classification overview |
api | Raw WHO API request (escape valve) |
help | Action reference with examples |
Example call:
{"action": "score", "name": "GAD-7", "responses": [1, 2, 1, 0, 1, 2, 1]}
Instrument and qualifier actions are pure logic and work without WHO API credentials; code/hierarchy actions require them.
Prerequisites
- WHO ICD-API credentials (free): Register at https://icd.who.int/icdapi
- Cloudflare account with Workers enabled
- Node.js 18+ and npm
Installation
git clone https://github.com/stayce/icf-mcp-cloudflare.git
cd icf-mcp-cloudflare
npm install
Configuration
-
Copy the example environment file:
cp .dev.vars.example .dev.vars -
Edit
.dev.varswith your WHO API credentials for local development. -
For production, set secrets:
wrangler secret put WHO_CLIENT_ID wrangler secret put WHO_CLIENT_SECRET
Development
npm run dev
The server will be available at http://localhost:8787.
Testing
npm test
Regression tests cover instrument scoring (all 11 instruments) and qualifier parsing — pure logic, no WHO API credentials needed.
Deployment
npm run deploy
For custom domain (configured in wrangler.toml):
wrangler deploy --env production
Usage with Claude
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"icf": {
"type": "url",
"url": "https://mcp-icf.medseal.app/mcp"
}
}
}
Or if deploying your own:
{
"mcpServers": {
"icf": {
"type": "url",
"url": "https://your-worker.workers.dev/mcp"
}
}
}
Endpoints
/or/health- Health check / server info/mcp- MCP protocol endpoint (streamable HTTP)
API Reference
This server uses the WHO ICD-API which provides programmatic access to both ICD-11 and ICF classifications.
- API Documentation: https://icd.who.int/docs/icd-api/APIDoc-Version2/
- ICF Browser: https://icd.who.int/dev11/l-icf/en
License
MIT License - see LICENSE
Related
- icf-mcp-server - Python version for Claude Desktop
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.