mcp-ratchet-clinical-charting
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., "@mcp-ratchet-clinical-charting Search for patient Eleanor Thompson"
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.
mcp-ratchet-clinical-charting
MCP server for clinical charting with Claude (codename: Ratchet) - Enables Claude to document patient visits directly into Electronic Medical Records, reducing administrative burden for home health nurses.
Note: Currently runs in Mock Mode for development/testing. Production EMR integration coming soon.
Status
Component | Status |
MCP Server | ✅ Working (Mock Mode) |
Unit Tests | ✅ 20/20 Passing |
Claude Desktop | ✅ Ready for Testing |
PointCare API | ⏳ Pending API Documentation |
Current Mode: Mock Mode - Uses realistic test data for development and testing.
Related MCP server: Medical Knowledge MCP Server
Quick Start
From npm (Recommended)
npx mcp-ratchet-clinical-chartingFrom Source
git clone https://github.com/m2ai-mcp-servers/mcp-ratchet-clinical-charting.git
cd mcp-ratchet-clinical-charting
npm install
npm run build
npm run dev # Development mode
npm test # Run testsMock Mode
Ratchet runs in mock mode by default when POINTCARE_API_URL is not configured. Mock mode:
Uses 5 fictional test patients
Stores visit notes in memory
Returns realistic responses
Perfect for development and Claude Desktop testing
Available Tools
Tool | Description | Mock Mode |
| Find patient by name, ID, or phone | ✅ Working |
| Document a patient visit with vitals | ✅ Working |
| Retrieve patient visit history | ✅ Working |
Example Usage (in Claude)
"Search for patient Eleanor Thompson"
→ Returns patient PT-10001 with demographics and status
"Create a visit note for PT-10001 with blood pressure 120/80"
→ Creates and stores visit note with vitals
"Get visit history for PT-10001"
→ Returns list of previous visitsClaude Desktop Integration
Configure Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ratchet": {
"command": "npx",
"args": ["-y", "mcp-ratchet-clinical-charting"]
}
}
}For production mode with EMR integration:
{
"mcpServers": {
"ratchet": {
"command": "npx",
"args": ["-y", "mcp-ratchet-clinical-charting"],
"env": {
"POINTCARE_API_URL": "https://api.pointcare.com",
"POINTCARE_API_KEY": "your-api-key"
}
}
}
}Step 3: Restart Claude Desktop
Restart Claude Desktop to load the new MCP server.
Step 4: Verify
In Claude Desktop, you should see:
search_patienttool availablecreate_visit_notetool availableget_patient_historytool available
Try: "Search for patient Eleanor"
Test Patients (Mock Mode)
ID | Name | Status | Primary Diagnosis |
PT-10001 | Eleanor Thompson | Active | Type 2 Diabetes, CHF |
PT-10002 | Robert Martinez | Active | COPD, Post-surgical |
PT-10003 | Margaret Wilson | Active | Parkinson's Disease |
PT-10004 | James Thompson | Active | Post-stroke rehab |
PT-10005 | Dorothy Anderson | Discharged | Hip replacement |
Origin Story
Ratchet evolved from the M2AI NurseCall n8n workflow, built to help home health nurses with visit documentation:
Current Flow (M2AI NurseCall):
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Twilio │───>│ n8n │───>│ VAPI │───>│ Email │
│ SMS │ │ Workflow│ │ Call │ │ Summary │
└─────────┘ └─────────┘ └─────────┘ └─────────┘The Problem: Visit notes go to email but still need manual entry into PointCare EMR.
Ratchet's Solution:
Future Flow (with Ratchet):
┌─────────┐ ┌─────────┐ ┌──────────┐ ┌───────────┐
│ Twilio │───>│ n8n │───>│ Ratchet │───>│ PointCare │
│ SMS │ │ Workflow│ │ MCP │ │ EMR │
└─────────┘ └─────────┘ └──────────┘ └───────────┘Configuration
Variable | Required | Description |
| No* | PointCare API base URL |
| No* | API key or token |
| No | Force mock mode ( |
| No | Logging level ( |
*Required for production use. Mock mode activates when not set.
Project Structure
ratchet/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Configuration management
│ ├── tools/ # Tool implementations
│ │ ├── search-patient.ts
│ │ ├── create-visit-note.ts
│ │ └── get-patient-history.ts
│ ├── services/ # Business logic
│ │ ├── patient-service.ts
│ │ └── mock-data.ts
│ ├── types/ # TypeScript types
│ └── utils/ # Logger, errors
├── tests/
│ └── patient-service.test.ts
├── dist/ # Compiled output
├── prds/
│ └── RATCHET-PRD.yaml
├── docs/
│ └── API_REQUIREMENTS.md
├── package.json
├── tsconfig.json
└── jest.config.jsDevelopment
# Run in watch mode
npm run dev
# Run tests
npm test
# Run tests with coverage
npm test -- --coverage
# Lint
npm run lintNext Steps
Acquire PointCare API documentation - See
docs/API_REQUIREMENTS.mdComplete PRD - Fill in tool specifications with real API details
Implement real API calls - Replace mock responses
Integration testing - Test with PointCare sandbox
Related Projects
GRIMLOCK - Autonomous MCP Server Factory
ratchet-demo-emr - Demo EMR React app for testing
License
MIT
Built with GRIMLOCK - Autonomous MCP Server Factory
Available Tools
3 toolscreate_visit_noteA
Create a visit note for a patient in the PointCare EMR system.
This tool documents a home health visit including vital signs, assessment, and care plan. Use search_patient first to get the patient ID.
Required fields: patientId, visitType, visitDate, timeIn, timeOut Recommended fields: vitalSigns, subjective, objective, assessment, plan
Inputs: patientId (required), visitType (required), visitDate (required), timeIn (required), +11 more.
get_patient_historyA
Retrieve visit history for a patient from the PointCare EMR system.
Returns a list of previous visits with dates, types, and key information. Use this to review patient history before creating a new visit note.
Use search_patient first to get the patient ID.
Inputs: patientId (required), limit, startDate, endDate, +1 more.
search_patientA
Search for a patient in the PointCare EMR system by name, ID, or phone number.
Returns matching patient records with basic information. Use this tool to find patients before creating visit notes or retrieving history.
Examples:
Search by name: "Eleanor Thompson"
Search by ID: "PT-10001"
Search by phone: "555-0101"
Inputs: query (required), searchType, status, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a distinct, non-overlapping purpose: searching for patients, retrieving visit history, and creating new visit notes. No ambiguity exists between them.
All tools follow a consistent verb_noun pattern (search_patient, get_patient_history, create_visit_note) using snake_case, making it predictable and easy to understand.
With only 3 tools, it is on the lower end but still appropriate for a focused clinical charting server. They cover the core workflow of searching, reviewing history, and creating notes without unnecessary bloat.
The tool set covers essential operations (search, history, create) but lacks update and delete functionalities for visit notes, which are notable gaps for a complete CRUD lifecycle in clinical charting.
Maintenance
Related MCP Connectors
Telehealth support for Claude, Codex and Cursor: investigate cases and connect your tools.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Hosted MCP server exposing US hospital procedure cost data to AI assistants
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceA production-grade MCP server that enables AI assistants to securely manage healthcare data through clinical tools for patient vitals, lab results, and medication ordering. It prioritizes security and compliance with features like HIPAA-ready audit logging, PII redaction, and role-based access control.-
- AlicenseAqualityDmaintenanceMCP server for connecting Claude Desktop to a local medical knowledge base with real-time file watching, enabling natural language interaction with medical documents.9MIT
- AlicenseAqualityDmaintenanceA Claude-compatible MCP server that exposes health-domain tools over 100% synthetic data, built with security and compliance in mind.4MIT
- FlicenseNot gradedqualityAmaintenanceEnables LLM-based agents and MCP-compatible clients such as Claude Desktop to perform full CRUD operations on Fast Healthcare Interoperability Resources and query clinical data through natural-language prompts. It also provides document ingestion with semantic search, a RAG-ready retrieval pipeline, and LOINC terminology lookup and validation.-