io.github.m2ai-mcp-servers/mcp-ratchet-clinical-charting

Official registry Health

MCP server for clinical charting with Claude - document patient visits to EMR

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package mcp-ratchet-clinical-charting
Claude Code
claude mcp add mcp-ratchet-clinical-charting -e 'POINTCARE_API_URL=<POINTCARE_API_URL>' -e 'POINTCARE_API_KEY=<your pointcare_api_key>' -- npx -y mcp-ratchet-clinical-charting@0.1.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-ratchet-clinical-charting": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-ratchet-clinical-charting@0.1.0"
            ],
            "env": {
                "POINTCARE_API_URL": "<POINTCARE_API_URL>",
                "POINTCARE_API_KEY": "<your pointcare_api_key>"
            }
        }
    }
}

Environment variables

  • POINTCARE_API_URL EMR API base URL (optional - runs in mock mode if not set)
  • POINTCARE_API_KEY secret EMR API key (required for production mode)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. mcp-ratchet-clinical-charting
  2. Status
  3. Quick Start
  4. Mock Mode
  5. Available Tools
  6. Claude Desktop Integration
  7. Test Patients (Mock Mode)
  8. Origin Story
  9. Configuration
  10. Project Structure
  11. Development
  12. Next Steps
  13. Related Projects
  14. License

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

ComponentStatus
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.

Quick Start

npx mcp-ratchet-clinical-charting
From 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 tests

Mock 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

ToolDescriptionMock Mode
search_patientFind patient by name, ID, or phone✅ Working
create_visit_noteDocument a patient visit with vitals✅ Working
get_patient_historyRetrieve 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 visits

Claude 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_patient tool available
  • create_visit_note tool available
  • get_patient_history tool available

Try: "Search for patient Eleanor"

Test Patients (Mock Mode)

IDNameStatusPrimary Diagnosis
PT-10001Eleanor ThompsonActiveType 2 Diabetes, CHF
PT-10002Robert MartinezActiveCOPD, Post-surgical
PT-10003Margaret WilsonActiveParkinson's Disease
PT-10004James ThompsonActivePost-stroke rehab
PT-10005Dorothy AndersonDischargedHip 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

VariableRequiredDescription
POINTCARE_API_URLNo*PointCare API base URL
POINTCARE_API_KEYNo*API key or token
RATCHET_MOCK_MODENoForce mock mode (true/false)
LOG_LEVELNoLogging level (debug/info/warn/error)

*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.js

Development

# Run in watch mode
npm run dev

# Run tests
npm test

# Run tests with coverage
npm test -- --coverage

# Lint
npm run lint

Next Steps

  1. Acquire PointCare API documentation - See docs/API_REQUIREMENTS.md
  2. Complete PRD - Fill in tool specifications with real API details
  3. Implement real API calls - Replace mock responses
  4. Integration testing - Test with PointCare sandbox

License

MIT


Built with GRIMLOCK - Autonomous MCP Server Factory

Frequently asked questions

What is io.github.m2ai-mcp-servers/mcp-ratchet-clinical-charting?

MCP server for clinical charting with Claude - document patient visits to EMR

How do I install io.github.m2ai-mcp-servers/mcp-ratchet-clinical-charting?

It runs on your machine. In Claude Code: claude mcp add mcp-ratchet-clinical-charting -e 'POINTCARE_API_URL=<POINTCARE_API_URL>' -e 'POINTCARE_API_KEY=<your pointcare_api_key>' -- npx -y mcp-ratchet-clinical-charting@0.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.m2ai-mcp-servers/mcp-ratchet-clinical-charting need an API key?

Yes. It expects POINTCARE_API_KEY, which you set in its configuration.

Is io.github.m2ai-mcp-servers/mcp-ratchet-clinical-charting open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.m2ai-mcp-servers/mcp-ratchet-clinical-charting?

It is published by m2ai-mcp-servers. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.