# langcare-mcp-fhir [Health: Active]

**Category:** 🧬 Biology & Bioinformatics  
**Repository:** https://github.com/langcare/langcare-mcp-fhir  
**GitHub Stars:** 70  
**npm Downloads (last month):** 1143  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/langcare-mcp-fhir

## Description
An MCP FHIR server written in Go for EMR systems like Epic and Cerner

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "langcare-mcp-fhir": {
    "command": "npx",
    "args": ["-y","@langcare/langcare-mcp-fhir"]
  }
}
```

## Documentation

## What langcare-mcp-fhir MCP server does

The langcare-mcp-fhir MCP server exposes an existing FHIR R4 API to MCP-compatible AI clients. It is intended for EMR environments such as Epic, Cerner, OpenEMR, and the GCP Healthcare API, while also supporting generic FHIR R4 servers.

Rather than maintaining its own clinical database, the server acts as a proxy. Agent requests are translated into FHIR API calls, and responses are returned through MCP. The implementation is written in Go and uses the official Go MCP SDK.

The core interface is resource-agnostic. The same operations can work with resources such as Patient, Observation, or Medication, provided the connected FHIR backend supports the requested operation.

## How it works

The langcare-mcp-fhir MCP server accepts MCP requests over stdio or Streamable HTTP and forwards them to the configured FHIR service. A YAML configuration file identifies the backend and its connection settings. Claude Desktop can start the process with a command and a `-config` argument.

Four generic tools form the primary API:

- `fhir_read` retrieves a resource using its type and ID.
- `fhir_search` searches a resource type with FHIR query parameters.
- `fhir_create` submits a new resource to the backend.
- `fhir_update` updates an existing resource by type and ID.

The security model separates authentication between the MCP client and the FHIR backend. Documented backend and client options include bearer tokens, OAuth 2.0 with token refresh, SMART on FHIR backend services using `private_key_jwt`, SMART on FHIR, Basic Auth, and extensible custom methods.

## Setup and configuration

Install the package globally with npm:

```bash
npm install -g @langcare/langcare-mcp-fhir
```

Alternatively, run it without a global installation:

```bash
npx @langcare/langcare-mcp-fhir -config /path/to/config.yaml
```

Choose a configuration template for Epic, Cerner, OpenEMR, GCP Healthcare API, or a generic FHIR R4 service. Then add the executable and configuration path to the MCP client's server configuration. The documented Claude Desktop setup uses the `langcare-mcp-fhir` command and passes `-config` followed by the YAML file path. Credentials are intended to come from environment variables rather than configuration files.

## Tools and capabilities

In addition to the four core FHIR tools, the distribution includes optional clinical workflow material and interactive MCP Apps. These apps provide browser-like resource views and clinical dashboard displays inside MCP-capable hosts such as Claude Desktop, using the same FHIR operations for data access.

## Limitations and notes

The server does not provide its own persistent clinical data store; it depends on an accessible and correctly configured FHIR R4 backend. Supported operations are limited to the documented read, search, create, and update tools. Backend permissions, authentication, resource support, and FHIR behavior remain responsibilities of the connected EMR or FHIR service.

The langcare-mcp-fhir MCP server is described as stateless and as avoiding persistent PHI storage, but deployments still need appropriate credential management, access controls, and healthcare compliance review. Consult the project’s security and local testing documentation before connecting it to production data.

_Full upstream README: https://allmcps.com/mcp/langcare-mcp-fhir/readme_

