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
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 | Description |
|---|---|
icf_lookup |
Look up a specific ICF code (e.g., b280, d450) |
icf_search |
Search by keyword (e.g., "walking difficulty", "pain") |
icf_browse_category |
Browse top-level categories: b, s, d, e |
icf_get_children |
Get subcategories of a code |
icf_explain_qualifier |
Explain severity ratings (0-4, 8, 9) |
icf_overview |
Full ICF classification overview |
- WHO ICD-API credentials (free): Register at https://icd.who.int/icdapi
- Cloudflare account with Workers enabled
- Node.js 18+ and npm
git clone https://github.com/stayce/icf-mcp-cloudflare.git
cd icf-mcp-cloudflare
npm install-
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
npm run devThe server will be available at http://localhost:8787.
npm run deployFor custom domain (configured in wrangler.toml):
wrangler deploy --env productionAdd 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"
}
}
}/or/health- Health check / server info/mcp- MCP protocol endpoint (streamable HTTP)
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
MIT License - see LICENSE
- icf-mcp-server - Python version for Claude Desktop