Akute Health MCP by usefulapi
Read Akute Health patients, appointments, tasks, notes, medications, allergies and observations.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen akutehealth_list_appointment_types
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"akute-health": {
"url": "https://akute-health.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://akute-health.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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"
}Comunidad
Evidencia