drchrono
Read and write DrChrono patients, appointments, offices and clinical notes.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `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"
}コミュニティ
エビデンス