# mcp-ratchet-clinical-charting [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/m2ai-mcp-servers/mcp-ratchet-clinical-charting  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mcp-ratchet-clinical-charting

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

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "mcp-ratchet-clinical-charting": {
    "command": "npx",
    "args": ["-y","mcp-ratchet-clinical-charting"]
  }
}
```

## Documentation & README

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

## Quick Start

### From npm (Recommended)

```bash
npx mcp-ratchet-clinical-charting
```

### From Source

```bash
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`

```json
{
  "mcpServers": {
    "ratchet": {
      "command": "npx",
      "args": ["-y", "mcp-ratchet-clinical-charting"]
    }
  }
}
```

For production mode with EMR integration:

```json
{
  "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

```bash
# 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

## Related Projects

- **[GRIMLOCK](https://github.com/m2ai-portfolio/grimlock)** - Autonomous MCP Server Factory
- **[ratchet-demo-emr](https://github.com/m2ai-mcp-servers/ratchet-demo-emr)** - Demo EMR React app for testing

## License

MIT

---

*Built with [GRIMLOCK](https://github.com/m2ai-portfolio/grimlock) - Autonomous MCP Server Factory*

