Akute Health MCP by usefulapi

Read Akute Health patients, appointments, tasks, notes, medications, allergies and observations.

사용해야 할까요

품질 및 안전성

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

발견 사항 (1)

  • LOWTool 'akutehealth_list_appointment_types' name length outside 3-30 rangeakutehealth_list_appointment_types에서

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

컨텍스트 비용

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

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "akute-health": {
      "url": "https://akute-health.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://akute-health.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (15)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢akutehealth_search_patients(first_name, last_name, email, phone, phone_type, ...)

Search patients by name, email, phone (with phone_type), date of birth or external id, optionally narrowed by sex and status. At least one identifying filter is required (no bulk listing); pages are capped at 25 and paging stops at offset 500. Returns demographics, address, status, provider and membership billing state. Government and insurance identifiers are never returned. GET /patients.

입력 스키마

{
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "phone": {
      "description": "Primary phone number, digits only. Needs phone_type.",
      "type": "string",
      "pattern": "^\\d{7,15}$"
    },
    "phone_type": {
      "description": "Type of the phone number: mobile, home or work. Required with phone (Akute ignores the number without it).",
      "type": "string",
      "enum": [
        "mobile",
        "home",
        "work"
      ]
    },
    "date_of_birth": {
      "type": "string",
      "description": "A date, yyyy-mm-dd."
    },
    "sex": {
      "description": "For example female or male.",
      "type": "string",
      "pattern": "^[A-Za-z-]{1,20}$"
    },
    "status": {
      "description": "Patient status, for example active.",
      "type": "string",
      "pattern": "^[A-Za-z_-]{1,30}$"
    },
    "external_id": {
      "description": "Your own id for the patient.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "description": "Records per page, 1-25 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 25
    },
    "offset": {
      "description": "Number of records to skip, 0-500 (default 0). Pass the previous reply's next_offset. Narrow the filters instead of paging deeper.",
      "type": "integer",
      "minimum": 0,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_get_patient(patient_id)

One patient by id: demographics, address, status, provider, custom properties and membership billing state. GET /patients/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_appointments(patient_id, practitioner_user_id, start_range, end_range, status)

Appointments by patient and/or date range, practitioner and status. Give a patient_id, or both start_range and end_range (at most 31 days apart). At most 100 are returned; narrow the dates if truncated. Room links are not returned. GET /appointments.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "practitioner_user_id": {
      "description": "Practitioner (user) id from akutehealth_list_practitioners.",
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "start_range": {
      "description": "Earliest start: a date (yyyy-mm-dd) or ISO date-time.",
      "type": "string"
    },
    "end_range": {
      "description": "Latest start: a date (yyyy-mm-dd) or ISO date-time.",
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "booked",
        "arrived",
        "fulfilled",
        "cancelled",
        "noshow",
        "entered-in-error",
        "checked-in"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_get_appointment(appointment_id)

One appointment by id: times, status, patient, practitioner and appointment type. GET /appointments/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "appointment_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "appointment_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_appointment_types

The practice's appointment types (beta in Akute): name, duration, video flag, who can book, practitioners. GET /appointment_types.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_get_availability(user_id, start_time, end_time)

Open appointment slots of one practitioner between two date-times. GET /availability.

입력 스키마

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Practitioner (user) id from akutehealth_list_practitioners."
    },
    "start_time": {
      "type": "string",
      "description": "Window start, ISO 8601 with offset, e.g. 2026-10-12T00:00:00-06:00."
    },
    "end_time": {
      "type": "string",
      "description": "Window end, ISO 8601 with offset."
    }
  },
  "required": [
    "user_id",
    "start_time",
    "end_time"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_tasks(patient_id, status, owner_id, priority, tags, ...)

Tasks filtered by patient, status, owner, priority, tag, due date or archive state; at least one filter except archived is required. Pages are capped at 25. GET /tasks.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "status": {
      "description": "Statuses, e.g. not-started, in-progress.",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 40,
        "pattern": "^[A-Za-z0-9_-]+$"
      }
    },
    "owner_id": {
      "description": "User id of the task owner.",
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "priority": {
      "description": "For example p1.",
      "type": "string",
      "minLength": 1,
      "maxLength": 40,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "tags": {
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 40,
        "pattern": "^[A-Za-z0-9_-]+$"
      }
    },
    "due_date_start_range": {
      "type": "string",
      "description": "A date, yyyy-mm-dd."
    },
    "due_date_end_range": {
      "type": "string",
      "description": "A date, yyyy-mm-dd."
    },
    "archived": {
      "type": "boolean"
    },
    "limit": {
      "description": "Records per page, 1-25 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 25
    },
    "offset": {
      "description": "Number of records to skip, 0-500 (default 0). Pass the previous reply's next_offset. Narrow the filters instead of paging deeper.",
      "type": "integer",
      "minimum": 0,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_get_task(task_id)

One task by id: title, description, due date, priority, status, tags, comments and activity. GET /tasks/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_notes(patient_id, status, service_date_start, limit, offset)

Clinical notes (encounters) of ONE patient, newest first as Akute returns them: type, service date, status, authors and section text. A patient_id is required and pages are capped at 10. 'entered-in-error' notes appear only when asked for. GET /notes.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "status": {
      "type": "string",
      "enum": [
        "preliminary",
        "final",
        "amended",
        "entered-in-error"
      ]
    },
    "service_date_start": {
      "description": "Only notes from this day on.",
      "type": "string"
    },
    "limit": {
      "description": "Records per page, 1-10 (default 10).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10
    },
    "offset": {
      "description": "Number of records to skip, 0-500 (default 0). Pass the previous reply's next_offset. Narrow the filters instead of paging deeper.",
      "type": "integer",
      "minimum": 0,
      "maximum": 500
    }
  },
  "required": [
    "patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_get_note(note_id)

One clinical note by id with all its sections (subjective, objective, assessment, plan ...). GET /notes/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "note_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "note_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_medications(patient_id, start_date, end_date)

A patient's medications: name, strength, directions, quantity, refills, status, diagnoses and prescriber. Optional date window on the start date. At most 100 are returned. GET /medications.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "start_date": {
      "type": "string",
      "description": "A date, yyyy-mm-dd."
    },
    "end_date": {
      "type": "string",
      "description": "A date, yyyy-mm-dd."
    }
  },
  "required": [
    "patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_allergies(patient_id)

A patient's allergies and intolerances: substance, reaction, type, clinical status, onset date. GET /allergies.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_observations(patient_id, category)

A patient's vital signs (default) or laboratory results: name, value, unit, date, LOINC code. At most 100 are returned. GET /observations.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "category": {
      "description": "Default vital-signs.",
      "type": "string",
      "enum": [
        "vital-signs",
        "laboratory"
      ]
    }
  },
  "required": [
    "patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_list_practitioners

The practice's users: id, name, NPI and roles (Practitioner, Prescriber, Staff, Admin ...). Date of birth, DEA number, email and licences are not returned. GET /users.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢akutehealth_get_practitioner(user_id)

One user by id: name, NPI and roles. GET /users/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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