drchrono

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
92%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,714토큰 (도구 정의)
~2.0 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.90%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "drchrono": {
      "url": "https://drchrono.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://drchrono.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (15)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢drchrono_list_patients(doctor, first_name, last_name, gender, date_of_birth, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "first_name": {
      "description": "Filter by exact first name.",
      "type": "string"
    },
    "last_name": {
      "description": "Filter by exact last name.",
      "type": "string"
    },
    "gender": {
      "description": "Filter by gender (e.g. Male, Female, Other, Unknown/Blank).",
      "type": "string"
    },
    "date_of_birth": {
      "description": "Filter by date of birth, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "since": {
      "description": "Return patients modified at/after this ISO timestamp (e.g. 2026-01-01T00:00:00).",
      "type": "string"
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_get_patient(id)

Fetch a single patient's full demographic record by id. DrChrono API: GET /patients/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Patient id (required)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_appointments(date, since, date_range, doctor, patient, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Single day, yyyy-mm-dd. One of date / since / date_range is REQUIRED.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "since": {
      "description": "Appointments modified at/after this ISO timestamp. One of date / since / date_range is REQUIRED.",
      "type": "string"
    },
    "date_range": {
      "description": "Inclusive range \"start/end\" as yyyy-mm-dd/yyyy-mm-dd, e.g. \"2026-01-01/2026-02-01\". One of date / since / date_range is REQUIRED.",
      "type": "string"
    },
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "office": {
      "description": "Filter by office id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_offices(show_archived, page, page_size)

List the practice's offices/locations. Returns a page plus `next`/`previous`. DrChrono API: GET /offices.

입력 스키마

{
  "type": "object",
  "properties": {
    "show_archived": {
      "description": "Include archived offices when true. Default false.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_doctors(page, page_size)

List the providers/doctors in the practice (id, name, specialty). Returns a page plus `next`/`previous`. DrChrono API: GET /doctors.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_clinical_notes(patient, date, date_range, since, page, ...)

List clinical notes, filterable by patient, date, date range, or last-modified time. Returns a page plus `next`/`previous`. DrChrono API: GET /clinical_notes.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "date": {
      "description": "Filter by a single day, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_range": {
      "description": "Inclusive range \"yyyy-mm-dd/yyyy-mm-dd\", e.g. \"2026-01-01/2026-02-01\".",
      "type": "string"
    },
    "since": {
      "description": "Notes modified at/after this ISO timestamp.",
      "type": "string"
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_problems(patient, doctor, page, page_size)

List problem-list entries (diagnoses), filterable by patient or doctor. Returns a page plus `next`/`previous`. DrChrono API: GET /problems.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_medications(patient, doctor, page, page_size)

List patient medications, filterable by patient or doctor. Returns a page plus `next`/`previous`. DrChrono API: GET /medications.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_allergies(patient, doctor, page, page_size)

List patient allergies, filterable by patient or doctor. Returns a page plus `next`/`previous`. DrChrono API: GET /allergies.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_lab_results(doctor, patient, order, page, page_size)

List lab results, filterable by doctor, patient, or lab order. Returns a page plus `next`/`previous`. DrChrono API: GET /lab_results.

입력 스키마

{
  "type": "object",
  "properties": {
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "order": {
      "description": "Filter by lab order id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_lab_orders(doctor, patient, since, page, page_size)

List lab orders, filterable by doctor, patient, or last-modified time. Returns a page plus `next`/`previous`. DrChrono API: GET /lab_orders.

입력 스키마

{
  "type": "object",
  "properties": {
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "since": {
      "description": "Orders modified at/after this ISO timestamp.",
      "type": "string"
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_patient_payments(doctor, patient, since, page, page_size)

List patient payments (billing), filterable by doctor, patient, or last-modified time. Returns a page plus `next`/`previous`. DrChrono API: GET /patient_payments.

입력 스키마

{
  "type": "object",
  "properties": {
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "since": {
      "description": "Payments modified at/after this ISO timestamp.",
      "type": "string"
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢drchrono_list_line_items(appointment, doctor, patient, service_date, page, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "appointment": {
      "description": "Filter by appointment id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "doctor": {
      "description": "Filter by doctor id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "patient": {
      "description": "Filter by patient id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "service_date": {
      "description": "Filter by date of service, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "page": {
      "description": "Page number to fetch (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page (max 250). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴drchrono_create_appointment(doctor, patient, office, scheduled_time, duration, ...)

DESTRUCTIVE: creates a new appointment on the schedule. Requires doctor, patient, office, scheduled_time (ISO datetime), and duration (minutes). DrChrono API: POST /appointments.

입력 스키마

{
  "type": "object",
  "properties": {
    "doctor": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Doctor id (required)."
    },
    "patient": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Patient id (required)."
    },
    "office": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Office id (required)."
    },
    "scheduled_time": {
      "type": "string",
      "description": "Appointment start as an ISO datetime, e.g. 2026-08-01T09:30:00 (required)."
    },
    "duration": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Duration in minutes (required)."
    },
    "exam_room": {
      "description": "Exam room number.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "reason": {
      "description": "Reason for the visit.",
      "type": "string"
    },
    "notes": {
      "description": "Free-text scheduling notes.",
      "type": "string"
    }
  },
  "required": [
    "doctor",
    "patient",
    "office",
    "scheduled_time",
    "duration"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴drchrono_create_patient(first_name, last_name, gender, date_of_birth, doctor, ...)

DESTRUCTIVE: creates a new patient record. Requires first_name, last_name, gender, date_of_birth (yyyy-mm-dd), and doctor. DrChrono API: POST /patients.

입력 스키마

{
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string",
      "description": "Patient first name (required)."
    },
    "last_name": {
      "type": "string",
      "description": "Patient last name (required)."
    },
    "gender": {
      "type": "string",
      "description": "Patient gender (required). DrChrono accepts Male, Female, Other, or Unknown/Blank."
    },
    "date_of_birth": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date of birth, yyyy-mm-dd (required)."
    },
    "doctor": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Primary doctor id (required)."
    },
    "email": {
      "description": "Patient email address.",
      "type": "string"
    },
    "cell_phone": {
      "description": "Patient cell phone number.",
      "type": "string"
    }
  },
  "required": [
    "first_name",
    "last_name",
    "gender",
    "date_of_birth",
    "doctor"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 15개