Odel
icf mcp cloudflare

icf mcp cloudflare

@stayce1TypeScriptMITUpdated 2mo ago

WHO ICF codes: lookup, search, hierarchy, qualifiers, and 11 scored clinical assessment instruments.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

ICF 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

ActionDescription
lookupLook up a specific ICF code (e.g., b280, d450)
searchSearch by keyword (e.g., "walking difficulty", "pain")
browseBrowse a category (b, s, d, e) or sub-chapter (b1, d4, e3)
childrenGet subcategories of a code
parentNavigate up to a code's parent category
siblingsCodes at the same level (same parent)
chainFull hierarchy path from root to a code
profileBuild a functional profile from multiple codes

Qualifiers

ActionDescription
qualifierComponent-specific qualifier reference (b=1, s=3, d=2, e=barrier/facilitator)
validateValidate code format + qualifiers, verify existence in the WHO API
parseParse 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.

ActionDescription
instrumentsList instruments, optionally filtered by domain
instrumentFull spec: items, response options, scoring, ICF mappings
scoreScore responses → severity, interpretation, ICF qualifier
suggestSuggest instruments for a condition, ICF code, or domain
mappingShow an instrument's ICF code mappings

Meta

ActionDescription
overviewFull ICF classification overview
apiRaw WHO API request (escape valve)
helpAction 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

  1. WHO ICD-API credentials (free): Register at https://icd.who.int/icdapi
  2. Cloudflare account with Workers enabled
  3. Node.js 18+ and npm

Installation

git clone https://github.com/stayce/icf-mcp-cloudflare.git
cd icf-mcp-cloudflare
npm install

Configuration

  1. Copy the example environment file:

    cp .dev.vars.example .dev.vars
    
  2. Edit .dev.vars with your WHO API credentials for local development.

  3. 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.

License

MIT License - see LICENSE

Related