AI-powered MCP server for FHIR document search and conversation
SaferSkills independently audited atlas-mcp (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP server that brings AI-powered search and conversation to your FHIR clinical documents.
atlas_mcp is a developer-focused MCP server for working with FHIR data. It lets you embed FHIR resources, search them with semantic retrieval, and talk to an AI agent that can answer questions with citations from your clinical documents.
git clone https://github.com/rsanandres/atlas_mcp.git
cd atlas_mcp
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtcreatedb hc_ai
psql -U postgres -d hc_ai -f scripts/setup_db.sqlcp env.example .env
# Edit .env and set DB_PASSWORD at minimumollama pull mxbai-embed-large:latest
ollama pull llama3
ollama serve# stdio transport (Claude Desktop, Cursor)
python server.py
# HTTP transport
python server.py --transport streamable-http --port 8000flowchart TB
subgraph clients [MCPClients]
Claude[Claude Desktop]
Cursor[Cursor IDE]
Custom[Custom Client]
end
subgraph server [AtlasMcpServer]
MCP[MCP Protocol Layer]
Tools[Tool Registry]
Agent[LangGraph Agent]
Reranker[Cross-Encoder Reranker]
Session[Session Store]
end
subgraph backends [Backends]
LLM[LLM Provider]
PG[(PostgreSQL + pgvector)]
Embed[Embedding Service]
end
clients --> MCP
MCP --> Tools
Tools --> Agent
Tools --> Reranker
Tools --> Session
Agent --> LLM
Agent --> PG
Reranker --> PG
Embed --> PGAgent tools
agent_query, agent_clear_session, agent_healthRetrieval tools
rerank, rerank_with_context, batch_rerankSession tools
session_append_turn, session_get, session_update_summary, session_clearEmbeddings tools
ingest, embeddings_health, db_stats, db_queue, db_errorsEnable/disable tools in config.yaml:
tools:
agent_query:
enabled: true
rerank:
enabled: true
ingest:
enabled: falseLLM_PROVIDER=ollama, LLM_MODEL=llama3LLM_PROVIDER=openai, OPENAI_API_KEY, OPENAI_MODEL=gpt-4o-miniLLM_PROVIDER=anthropic, ANTHROPIC_API_KEY, ANTHROPIC_MODEL=claude-3-5-sonnet-20241022LLM_PROVIDER=bedrock, AWS_REGION, LLM_MODEL=haiku|sonnet|opusSee env.example for all options. Core requirements:
| Variable | Description | Default |
|---|---|---|
DB_HOST | PostgreSQL host | localhost |
DB_PORT | PostgreSQL port | 5432 |
DB_NAME | Database name | hc_ai |
DB_PASSWORD | Database password | (required) |
EMBEDDING_PROVIDER | ollama or bedrock | ollama |
LLM_PROVIDER | ollama, bedrock, openai, anthropic | ollama |
HC_AI_DEBUG=trueAGENT_TIMEOUT=60
RERANK_TIMEOUT=30{
"mcpServers": {
"atlas": {
"command": "python",
"args": ["/path/to/atlas_mcp/server.py"],
"env": {}
}
}
}{
"atlas": {
"command": "python",
"args": ["/path/to/atlas_mcp/server.py"]
}
}result = await client.call_tool("agent_query", {
"query": "What medications is patient P123 currently taking?",
"session_id": "session-001",
"patient_id": "P123"
})This project is HIPAA-aware, but it is not HIPAA-certified. It is intended for development and testing only. You are responsible for compliance and security if you use it in production.
Created by @rsanandres. Issues and feedback welcome. Pull requests are reviewed.
MIT License. See LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.