Photon Health MCP by usefulapi

Read Photon Health patients, prescriptions, orders, pharmacies and medications; screen interactions.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
95%
Integridad del esquema
87%
Calidad de los nombres
72%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (8)

  • LOWTool 'photonhealth_list_prescriptions' name length outside 3-30 rangeen photonhealth_list_prescriptions
  • LOWTool 'photonhealth_search_medications' name length outside 3-30 rangeen photonhealth_search_medications
  • LOWTool 'photonhealth_list_medication_products' name length outside 3-30 rangeen photonhealth_list_medication_products
  • LOWTool 'photonhealth_list_medication_packages' name length outside 3-30 rangeen photonhealth_list_medication_packages
  • LOWTool 'photonhealth_get_medication_by_ndc' name length outside 3-30 rangeen photonhealth_get_medication_by_ndc
  • LOWTool 'photonhealth_search_medical_equipment' name length outside 3-30 rangeen photonhealth_search_medical_equipment
  • LOWTool 'photonhealth_list_dispense_units' name length outside 3-30 rangeen photonhealth_list_dispense_units
  • LOWTool 'photonhealth_screen_interactions' name length outside 3-30 rangeen photonhealth_screen_interactions

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,558Tokens (definiciones de herramientas)
~935 BTamaño de respuesta típico
Impacto significativo en la atención (2.78% del contexto de 128k)

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": {
    "photon-health": {
      "url": "https://photon-health.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (21)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢photonhealth_list_patients(name, first, after)

List the organization's patients (id, external id, name, date of birth, sex, contact, address), optionally filtered by name. Photon GraphQL: patients.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Filter by patient name (partial match).",
      "type": "string"
    },
    "first": {
      "description": "Page size (forward pagination).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: the id of the last item of the previous page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_get_patient(patient_id)

Get one patient by Photon id, with allergies, medication history, preferred pharmacies, and their prescriptions and orders (ids + states). Photon GraphQL: patient.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "description": "Photon patient id (pat_…)."
    }
  },
  "required": [
    "patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_list_prescriptions(patient_id, patient_name, prescriber_id, state, first, ...)

List the organization's prescriptions, filterable by patient, prescriber and state (ACTIVE, EXPIRED, DEPLETED, CANCELED). Each has the medication, quantity, refills/fills remaining, directions, diagnoses and fills. Photon GraphQL: prescriptions.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "patient_id": {
      "description": "Only this patient's prescriptions (pat_…).",
      "type": "string"
    },
    "patient_name": {
      "description": "Filter by patient name.",
      "type": "string"
    },
    "prescriber_id": {
      "description": "Only prescriptions written by this prescriber (Photon user id).",
      "type": "string"
    },
    "state": {
      "description": "Prescription state.",
      "type": "string",
      "enum": [
        "ACTIVE",
        "EXPIRED",
        "DEPLETED",
        "CANCELED"
      ]
    },
    "first": {
      "description": "Page size (forward pagination).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: the id of the last item of the previous page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_get_prescription(prescription_id)

Get one prescription by id: state, prescriber, patient, medication (with RxCUI/NDC codes), quantity, refills and fills remaining, days supply, directions, notes, diagnoses, dates and fills. Photon GraphQL: prescription.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "prescription_id": {
      "type": "string",
      "minLength": 1,
      "description": "Photon prescription id (rx_…)."
    }
  },
  "required": [
    "prescription_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_list_orders(patient_id, patient_name, state, first, after)

List pharmacy orders, filterable by patient and state (ROUTING, PENDING, PLACED, COMPLETED, CANCELED, ERROR). Each has the pharmacy, delivery address, fulfillment (type, state, carrier, tracking number) and fills. Photon GraphQL: orders.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "patient_id": {
      "description": "Only this patient's orders (pat_…).",
      "type": "string"
    },
    "patient_name": {
      "description": "Filter by patient name.",
      "type": "string"
    },
    "state": {
      "description": "Order state.",
      "type": "string",
      "enum": [
        "ROUTING",
        "PENDING",
        "PLACED",
        "COMPLETED",
        "CANCELED",
        "ERROR"
      ]
    },
    "first": {
      "description": "Page size (forward pagination).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: the id of the last item of the previous page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_get_order(order_id)

Get one order by id: state, patient, pharmacy, address, fulfillment status/tracking and its fills. Photon GraphQL: order.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "description": "Photon order id (ord_…)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_get_fill(fill_id)

Get one fill (a single dispensing of a prescription within an order) by id: state (SCHEDULED, NEW, SENT, CANCELED), requested/filled times, medication, prescription and order. Photon GraphQL: fill.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fill_id": {
      "type": "string",
      "minLength": 1,
      "description": "Photon fill id (fil_…)."
    }
  },
  "required": [
    "fill_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_search_pharmacies(name, latitude, longitude, radius_miles, type, ...)

Search pharmacies by name and/or near a location (latitude/longitude + radius in miles), by fulfillment type (PICK_UP = retail, MAIL_ORDER). Returns NPI, NCPDP, address, phone, fax. Photon GraphQL: pharmacies.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Pharmacy name (partial).",
      "type": "string"
    },
    "latitude": {
      "description": "Search center latitude.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Search center longitude.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "radius_miles": {
      "description": "Search radius in miles (with latitude/longitude).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "type": {
      "description": "Fulfillment type (Photon's default is PICK_UP).",
      "type": "string",
      "enum": [
        "PICK_UP",
        "MAIL_ORDER"
      ]
    },
    "first": {
      "description": "Page size (forward pagination).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (offset pagination).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_get_pharmacy(pharmacy_id)

Get one pharmacy by Photon id: name, NPI, NCPDP, address, phone, fax and fulfillment types. Photon GraphQL: pharmacy.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pharmacy_id": {
      "type": "string",
      "minLength": 1,
      "description": "Photon pharmacy id (phr_…)."
    }
  },
  "required": [
    "pharmacy_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_search_medications(name, code, first, after)

Search Photon's medication database by drug name (partial) or code (RxCUI, NDC or SKU). Returns DRUG-level concepts with RxCUI/NDC codes, schedule, controlled flag, strength and form; drill down with list_medication_products / list_medication_packages. Photon GraphQL: medications.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Drug name (partial), e.g. 'amoxicillin'.",
      "type": "string"
    },
    "code": {
      "description": "RxCUI, NDC or SKU.",
      "type": "string"
    },
    "first": {
      "description": "Page size (forward pagination).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: the id of the last item of the previous page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_list_medication_products(medication_id)

List the prescribable products (strength + form) of a DRUG-level medication from search_medications. Photon GraphQL: medicationProducts.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "medication_id": {
      "type": "string",
      "minLength": 1,
      "description": "Medication id of a DRUG concept (from search_medications)."
    }
  },
  "required": [
    "medication_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_list_medication_packages(medication_id)

List the packages (package NDCs) of a PRODUCT-level medication from list_medication_products. Photon GraphQL: medicationPackages.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "medication_id": {
      "type": "string",
      "minLength": 1,
      "description": "Medication id of a PRODUCT (from list_medication_products)."
    }
  },
  "required": [
    "medication_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_get_medication_by_ndc(package_ndc)

Find the medication matching a package NDC (11-digit National Drug Code). Photon GraphQL (clinical API): medicationFromNdc.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "package_ndc": {
      "type": "string",
      "pattern": "^[0-9-]{10,13}$",
      "description": "Package NDC."
    }
  },
  "required": [
    "package_ndc"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_search_medical_equipment(name, first, after)

Search prescribable medical equipment/supplies (e.g. glucose test strips) by name. Photon GraphQL: medicalEquipment.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Equipment name (partial).",
      "type": "string"
    },
    "first": {
      "description": "Page size (forward pagination).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: the id of the last item of the previous page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_list_catalogs

List the organization's treatment catalogs (the medications it prescribes) with their treatments and prescription templates. Photon GraphQL: catalogs.

Esquema de entrada

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

Get one treatment catalog by id with its treatments and prescription templates (quantity, refills, days supply, directions). Photon GraphQL: catalog.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "catalog_id": {
      "type": "string",
      "minLength": 1,
      "description": "Catalog id (from list_catalogs)."
    }
  },
  "required": [
    "catalog_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_search_allergens(name)

Search Photon's allergen list by name (fuzzy), e.g. to map a patient's reported allergy to an allergen id/RxCUI. Photon GraphQL: allergens.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Allergen name, e.g. 'penicillin'."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_list_dispense_units

List the dispense units Photon accepts on a prescription (e.g. Each, Milliliter, Tablet). Photon GraphQL: dispenseUnits.

Esquema de entrada

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

Get the Photon organization these API keys belong to: id, name, type, NPI, address and contact details. Photon GraphQL (clinical API): organization.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_list_users(name, page_size, page_num)

List the organization's users (prescribers and staff): id, name, email, NPI, credentials and roles — use an id as prescriber_id in list_prescriptions. Photon GraphQL (clinical API): users.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Filter by user name.",
      "type": "string"
    },
    "page_size": {
      "description": "Page size (default 50, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page_num": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢photonhealth_screen_interactions(patient_id, treatment_ids, diagnosis_codes)

Screen proposed medications for a patient against drug-drug and drug-allergy (and diagnosis) interactions, using the patient's allergies, medication history and existing prescriptions. READ-ONLY: nothing is written or prescribed. Returns alerts with type (DRUG, ALLERGEN, CONDITION), severity (MINOR, MODERATE, MAJOR), a description and the involved medications/allergens. Photon GraphQL (clinical API): prescriptionScreen.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "minLength": 1,
      "description": "Photon patient id (pat_…)."
    },
    "treatment_ids": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Medication/treatment ids to screen (med_…, from search_medications or a catalog)."
    },
    "diagnosis_codes": {
      "description": "Optional ICD-10 codes to screen against, e.g. ['I10'].",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    }
  },
  "required": [
    "patient_id",
    "treatment_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada21 herramientas