Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"charm-mcp-server-docker": {
"args": [
"run",
"--rm",
"-i",
"-e",
"CHARMHEALTH_BASE_URL=https://sandbox3.charmtracker.com/api/ehr/v1",
"-e",
"CHARMHEALTH_API_KEY=your_api_key_here",
"-e",
"CHARMHEALTH_REFRESH_TOKEN=your_refresh_token_here",
"-e",
"CHARMHEALTH_CLIENT_ID=your_client_id_here",
"-e",
"CHARMHEALTH_CLIENT_SECRET=your_client_secret_here",
"-e",
"CHARMHEALTH_REDIRECT_URI=your_redirect_uri_here",
"-e",
"CHARMHEALTH_TOKEN_URL=your_token_url_here",
"charm-mcp-server"
],
"command": "docker"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server for CharmHealth EHR that allows LLMs and MCP clients to interact with patient records, encounters, and practice information.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'uv' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
uv vulnerable to arbitrary file deletion through RECORD entries
## Impact Wheel RECORD entries can contain relative paths that traverse outside of the wheel’s installation prefix. In versions 0.11.5 and earlier of uv, these wheels were not rejected on installation and the RECORD was respected without validation on uninstall. uv uses the RECORD to determine files to remove on uninstall. Consequently, a malicious or malformed wheel could induce deletion of arbitrary files outside of the wheel’s installation prefix on uninstall. uv does not use the RECORD fi
uv allows ZIP payload obfuscation through parsing differentials
### Impact In versions 0.9.5 and earlier of uv, ZIP archives were handled in a manner that enabled two parsing differentials against other components of the Python packaging ecosystem: 1. Central directory entries in a ZIP archive can contain comment fields. However, uv would assume that these fields were not present, since they aren't widely used. Consequently, a ZIP archive could be constructed where uv would interpret the contents of a central directory comment field as ZIP control structur
uv has differential in tar extraction with PAX headers
### Impact In versions 0.9.4 and earlier of uv, tar archives containing PAX headers with file size overrides were not handled properly. As a result, an attacker could contrive a source distribution (as a tar archive) that would extract differently when installed via uv versus other Python package installers. The underlying parsing differential here originates with astral-tokio-tar, which disclosed this vulnerability as CVE-2025-62518. In practice, the impact of this vulnerability is **low**:
uv allows ZIP payload obfuscation through parsing differentials
## Impact In versions 0.8.5 and earlier of uv, remote ZIP archives were handled in a streamwise fashion, and file entries were not reconciled against the archive's central directory. This enabled two parser differentials against other Python package installers: 1. An attacker could contrive a ZIP archive that would extract with legitimate contents on some package installers, and malicious contents on others due to multiple local file entries. The attacker could choose which installer to target
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in health
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
MCP server for the ClinicalTrials.gov v2 API. Search trials, retrieve study details and results, and match patients to eligible trials.
Manage your Hevy workouts, routines, folders, and exercise templates. Create and update sessions faster, organize plans, and search exercises to build workouts quickly. Stay synced with changes so your training log is always up to date.
MCP server for Oura Ring API v2 (sleep, activity, readiness, heart rate, workouts).
MCP Security Weekly
Get CVE alerts and security updates for Charm Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server for CharmHealth EHR that allows LLMs and MCP clients to interact with patient records, encounters, and practice information.
[!CAUTION] This server can access, transmit, and surface protected health information (PHI). Use it only with:
- HIPAA-compliant LLM services covered by a signed BAA and configured with no training and zero data retention
- HIPAA-compliant MCP clients, or clients operated entirely within your HIPAA compliance program
If you are using this with actual patient data (non-sandbox data), do not connect non-HIPAA consumer LLM endpoints or clients. You are responsible for enforcing access controls, audit logging, encryption in transit/at rest, and data retention policies for your deployment.
The server provides 15 comprehensive tools for complete EHR functionality:
Clone and install dependencies:
git clone https://github.com/CharmHealth/charm-mcp-server.git
cd charm-mcp-server
uv sync
Configure environment:
cp .env.example .env # Create from template if available
# Edit .env with your CharmHealth API credentials
Run the server:
uv run --directory src mcp_server.py
Configure your HIPAA-compliant MCP client (e.g., an enterprise/HIPAA-compliant deployment of your chosen client) to connect to the server.
git clone https://github.com/CharmHealth/charm-mcp-server.git
cd charm-mcp-server
Using uv (recommended):
uv sync
Note: This project uses pyproject.toml for dependency management. If you prefer pip, you can install from the project definition:
pip install -e .
Create a .env file in the project root with your CharmHealth API credentials:
# CharmHealth API Configuration
CHARMHEALTH_BASE_URL=your_base_uri_here
CHARMHEALTH_API_KEY=your_api_key_here
CHARMHEALTH_REFRESH_TOKEN=your_refresh_token_here
CHARMHEALTH_CLIENT_ID=your_client_id_here
CHARMHEALTH_CLIENT_SECRET=your_client_secret_here
CHARMHEALTH_REDIRECT_URI=your_redirect_uri_here
CHARMHEALTH_TOKEN_URL=your_to
... [View full README on GitHub](https://github.com/CharmHealth/charm-mcp-server#readme)