bahmni-mcp
# bahmni-mcp
MCP server for [Bahmni](https://www.bahmni.org/) — exposes the OpenMRS/Bahmni REST API as tools that Claude can call directly.
## Prerequisites
Install [uv](https://docs.astral.sh/uv/) if you don't have it:
```sh
curl -LsSf https://astral.sh/uv/install.sh | sh
```
## Setup
Add this to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```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.json` and add the same `mcpServers` block.
Restart Claude Desktop. No files to download — `uvx` fetches and runs the server automatically.
## Environment Variables
| Variable | Description |
|---|---|
| `BAHMNI_URL` | Base URL of your Bahmni instance (e.g. `https://bahmni.example.com/openmrs/ws`) |
| `BAHMNI_USER` | Bahmni username |
| `BAHMNI_PASSWORD` | Bahmni password |
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.