usefulapi

DrChrono MCP server. Read and write DrChrono patients, appointments, offices and clinical notes.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://drchrono.usefulapi.io/mcp
  3. Authenticate with DrChrono when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "drchrono": {
      "url": "https://drchrono.usefulapi.io/mcp"
    }
  }
}
live15 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 15

ToolTypeWhat it does
drchrono_list_patientsread
List patients
List/search patients in the practice, filterable by doctor, name, gender, date of birth, or last-modified time. Returns a page of patients plus `next`/`previous` URLs. DrChrono API: GET /patients.
drchrono_get_patientread
Get a patient
Fetch a single patient's full demographic record by id. DrChrono API: GET /patients/{id}.
drchrono_list_appointmentsread
List appointments
List appointments. The DrChrono API requires at least one of `date`, `since`, or `date_range`. Further filter by doctor, patient, or office. Returns a page plus `next`/`previous`. DrChrono API: GET /appointments.
drchrono_list_officesread
List offices
List the practice's offices/locations. Returns a page plus `next`/`previous`. DrChrono API: GET /offices.
drchrono_list_doctorsread
List doctors
List the providers/doctors in the practice (id, name, specialty). Returns a page plus `next`/`previous`. DrChrono API: GET /doctors.
drchrono_list_clinical_notesread
List clinical notes
List clinical notes, filterable by patient, date, date range, or last-modified time. Returns a page plus `next`/`previous`. DrChrono API: GET /clinical_notes.
drchrono_list_problemsread
List problems
List problem-list entries (diagnoses), filterable by patient or doctor. Returns a page plus `next`/`previous`. DrChrono API: GET /problems.
drchrono_list_medicationsread
List medications
List patient medications, filterable by patient or doctor. Returns a page plus `next`/`previous`. DrChrono API: GET /medications.
drchrono_list_allergiesread
List allergies
List patient allergies, filterable by patient or doctor. Returns a page plus `next`/`previous`. DrChrono API: GET /allergies.
drchrono_list_lab_resultsread
List lab results
List lab results, filterable by doctor, patient, or lab order. Returns a page plus `next`/`previous`. DrChrono API: GET /lab_results.
drchrono_list_lab_ordersread
List lab orders
List lab orders, filterable by doctor, patient, or last-modified time. Returns a page plus `next`/`previous`. DrChrono API: GET /lab_orders.
drchrono_list_patient_paymentsread
List patient payments
List patient payments (billing), filterable by doctor, patient, or last-modified time. Returns a page plus `next`/`previous`. DrChrono API: GET /patient_payments.
drchrono_list_line_itemsread
List line items
List billing line items (charges/procedures), filterable by appointment, doctor, patient, or service date. Returns a page plus `next`/`previous`. DrChrono API: GET /line_items.
drchrono_create_appointmentwrite
Create appointment
DESTRUCTIVE: creates a new appointment on the schedule. Requires doctor, patient, office, scheduled_time (ISO datetime), and duration (minutes). DrChrono API: POST /appointments.
drchrono_create_patientwrite
Create patient
DESTRUCTIVE: creates a new patient record. Requires first_name, last_name, gender, date_of_birth (yyyy-mm-dd), and doctor. DrChrono API: POST /patients.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.