bahmni-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bahmni-mcp fetch patient with ID 1001"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bahmni-mcp
MCP server for Bahmni — exposes the OpenMRS/Bahmni REST API as tools that Claude can call directly.
Prerequisites
Install uv if you don't have it:
curl -LsSf https://astral.sh/uv/install.sh | shRelated MCP server: OpenAPI MCP Server
Setup
Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"bahmni": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/lingeswaranTW/bahmni-mcp-server.git",
"bahmni-mcp"
],
"env": {
"BAHMNI_URL": "https://your-bahmni-instance/openmrs/ws",
"BAHMNI_USER": "your_username",
"BAHMNI_PASSWORD": "your_password"
}
}
}
}Claude Code users: edit
~/.claude.jsonand add the samemcpServersblock.
Restart Claude Desktop. No files to download — uvx fetches and runs the server automatically.
Environment Variables
Variable | Description |
| Base URL of your Bahmni instance (e.g. |
| Bahmni username |
| Bahmni password |
Available Tools
19 toolscreateOrUpdateEncounterTransactionC
Bundles observations, diagnoses, orders, and dispositions into a single transaction.
Inputs: body.
createOrUpdatePatientProfileC
Create or update patient demographics and identifiers.
Inputs: body.
deleteEncounterC
Void/delete an encounter
Inputs: uuid (required).
findEncountersC
Search for encounters by parameters.
Inputs: body.
getAddressHierarchyEntryC
Get address hierarchy entry
Inputs: uuid (required).
getAllLocationsB
Get all locations
Inputs: no named parameters.
getDiagnosesC
Get diagnoses for a patient.
Inputs: no named parameters.
getDiseaseTemplatesC
Get disease templates for a patient.
Inputs: body.
getDispositionA
Get disposition rules (admit/discharge/transfer).
Inputs: no named parameters.
getDrugByIdD
Get drug details
Inputs: uuid (required).
getDrugOrdersC
Get drug orders for a patient.
Inputs: no named parameters.
getObservationsC
Get observations for a visit or an encounter.
Inputs: concept, visitUuid, encounterUuid.
getPatientByIdB
Get patient by UUID
Inputs: uuid (required).
getSessionInfoA
Get current session info or validate authentication.
Inputs: no named parameters.
getVisitsForPatientC
Get visits for a patient
Inputs: patient.
manageVisitsC
Manage, open, or close visits.
Inputs: no named parameters.
searchOpenMRSConceptsD
Search standard concepts
Inputs: q.
searchPatientsD
Search patients
Inputs: q.
searchTerminologyConceptsD
Search concepts/terminology
Inputs: term, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Most tools target distinct resources (patient, encounter, observation, etc.), but createOrUpdateEncounterTransaction bundles multiple data types including diagnoses and orders, causing potential overlap with individual getters. Overall, tools are mostly distinct.
All names use camelCase and start with verbs (get, search, createOrUpdate), but verb choice is inconsistent (e.g., findEncounters vs getVisitsForPatient, manageVisits is vague). The pattern is readable but could be more uniform.
19 tools is a reasonable scope for a healthcare MCP, covering core entities without being excessive. The count feels appropriate for the domain.
The tool surface heavily favors read operations; write operations are limited to patient profiles and a single composite encounter transaction. Missing separate create/update for observations, diagnoses, orders, etc., which will cause agent failures in common workflows.
Related MCP Connectors
Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA MCP server that exposes OpenAPI schema information to LLMs like Claude. This server allows an LLM to explore and understand large OpenAPI schemas through a set of specialized tools, without needing to load the whole schema into the context308 npm50MIT
- AlicenseNot gradedqualityDmaintenanceA generic MCP server that dynamically converts OpenAPI-defined REST APIs into tools for LLMs like Claude. It supports multiple authentication methods and transport protocols, enabling seamless interaction with any OpenAPI-compliant API.15 npmMIT

FHIRfly MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceMCP server for connecting Claude Desktop to FHIRfly healthcare reference data APIs, enabling lookup of drugs, providers, clinical codes, and more.89 npmMIT- AlicenseNot gradedqualityDmaintenanceConverts any OpenAPI/Swagger spec into an MCP server, exposing REST API endpoints as tools for Claude.MIT