Akute Health MCP by usefulapi

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
78%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'akutehealth_list_appointment_types' name length outside 3-30 rangein akutehealth_list_appointment_types

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,948Tokens (Tool-Definitionen)
~1.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.30% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (15)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet15 Tools