> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://imo.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://imo.ferndocs.com/_mcp/server.

# MCP Server

Use IMO Health's standardized, plug-and-play MCP server to integrate terminology
normalization, clinical search, and knowledge graph capabilities into your agent
workflows, chatbots, and LLM-based applications.

## Getting connected

#### Obtain credentials

See the [Authentication](/documentation/getting-started/authentication) page
for details on client-credentials access.

#### Create a JWT token

Authenticate to mint a bearer token. The token is required to connect to the
IMO MCP server. The [SDKs](/sdks/overview) do this for you and refresh it
automatically.

#### Configure your MCP client

Add the server configuration to your MCP-compatible client with your token.

**`mcp.json`**

```json title="mcp.json"
{
  "mcpServers": {
    "imo-health": {
      "url": "https://api.imohealth.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_JWT_TOKEN>"
      }
    }
  }
}
```

## Server capabilities

Each capability exposes a set of tools designed for agent and LLM tool use.

### Precision Normalization

Standardize inconsistent clinical data from diverse health information systems to
a common, clinically validated standard, so problems, procedures, and medications
have clean, corrected, and connected meaning.

| Tool                  | Description                                                                                 |
| --------------------- | ------------------------------------------------------------------------------------------- |
| `normalize_problem`   | Submit problems for normalization to IMO's standard clinical terminology and code mappings. |
| `normalize_procedure` | Submit procedures for normalization to IMO's standard clinical terminology.                 |
| `normalize_code`      | Normalize a source code (ICD or SNOMED) to the current IMO identifier.                      |
| `batch_normalize`     | Process multiple terms or codes in a single request for bulk normalization workflows.       |

> **Tip**
>
> The same engine is available as a REST API in this portal — see
> [Normalize](/api-reference) — with generated TypeScript, Python, and Java SDKs.

### Core Search

Query IMO's clinical terminology database for standardized concepts by free-text
term, code, or concept identifier, across IMO and industry-standard code sets.

| Tool              | Description                                                          |
| ----------------- | -------------------------------------------------------------------- |
| `search_problem`  | Search for clinical concepts by free-text query, across all domains. |
| `search_code`     | Search for clinical concepts by code (ICD, SNOMED, CPT, etc.).       |
| `get_suggestions` | Get autocomplete suggestions for partial clinical text input.        |

### Knowledge Graph Access

Browse IMO's clinical knowledge graph — concept relationships, hierarchies, and
cross-mappings between coding systems. Suited to clinical decision support,
terminology exploration, and code mapping workflows.

| Tool                | Description                                                                  |
| ------------------- | ---------------------------------------------------------------------------- |
| `get_relationships` | Retrieve relationship data and associations for a given clinical concept.    |
| `get_hierarchy`     | Navigate the parent/child hierarchy of a clinical knowledge system.          |
| `cross_map`         | Map concepts across different coding systems (ICD-10, SNOMED CT, CPT, etc.). |