Skip to main content
Glama
m2ai-mcp-servers

mcp-ratchet-clinical-charting

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: openemr-mcp

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

Tool

Description

Mock Mode

search_patient

Find patient by name, ID, or phone

✅ Working

create_visit_note

Document a patient visit with vitals

✅ Working

get_patient_history

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 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)

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

POINTCARE_API_URL

No*

PointCare API base URL

POINTCARE_API_KEY

No*

API key or token

RATCHET_MOCK_MODE

No

Force mock mode (true/false)

LOG_LEVEL

No

Logging 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

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/m2ai-mcp-servers/chartinghero'

If you have feedback or need assistance with the MCP directory API, please join our Discord server