Read Photon Health patients, prescriptions, orders, pharmacies and medications; screen interactions. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"photon-health": {
"url": "https://photon-health.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
photonhealth_list_patients | read | List patients List the organization's patients (id, external id, name, date of birth, sex, contact, address), optionally filtered by name. Photon GraphQL: patients. |
photonhealth_get_patient | read | Get a patient Get one patient by Photon id, with allergies, medication history, preferred pharmacies, and their prescriptions and orders (ids + states). Photon GraphQL: patient. |
photonhealth_list_prescriptions | read | List prescriptions 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. |
photonhealth_get_prescription | read | Get a prescription 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. |
photonhealth_list_orders | read | List orders 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. |
photonhealth_get_order | read | Get an order Get one order by id: state, patient, pharmacy, address, fulfillment status/tracking and its fills. Photon GraphQL: order. |
photonhealth_get_fill | read | Get a fill 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. |
photonhealth_search_pharmacies | read | Search pharmacies 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. |
photonhealth_get_pharmacy | read | Get a pharmacy Get one pharmacy by Photon id: name, NPI, NCPDP, address, phone, fax and fulfillment types. Photon GraphQL: pharmacy. |
photonhealth_search_medications | read | Search medications 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. |
photonhealth_list_medication_products | read | List medication products List the prescribable products (strength + form) of a DRUG-level medication from search_medications. Photon GraphQL: medicationProducts. |
photonhealth_list_medication_packages | read | List medication packages List the packages (package NDCs) of a PRODUCT-level medication from list_medication_products. Photon GraphQL: medicationPackages. |
photonhealth_get_medication_by_ndc | read | Look up a medication by NDC Find the medication matching a package NDC (11-digit National Drug Code). Photon GraphQL (clinical API): medicationFromNdc. |
photonhealth_search_medical_equipment | read | Search medical equipment Search prescribable medical equipment/supplies (e.g. glucose test strips) by name. Photon GraphQL: medicalEquipment. |
photonhealth_list_catalogs | read | List catalogs List the organization's treatment catalogs (the medications it prescribes) with their treatments and prescription templates. Photon GraphQL: catalogs. |
photonhealth_get_catalog | read | Get a catalog Get one treatment catalog by id with its treatments and prescription templates (quantity, refills, days supply, directions). Photon GraphQL: catalog. |
photonhealth_search_allergens | read | Search allergens 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. |
photonhealth_list_dispense_units | read | List dispense units List the dispense units Photon accepts on a prescription (e.g. Each, Milliliter, Tablet). Photon GraphQL: dispenseUnits. |
photonhealth_get_organization | read | Get the organization Get the Photon organization these API keys belong to: id, name, type, NPI, address and contact details. Photon GraphQL (clinical API): organization. |
photonhealth_list_users | read | List users 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. |
photonhealth_screen_interactions | read | Screen for drug interactions 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. |
photonhealth_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
photonhealth_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Photon Health tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Does not count against the meter. | |
photonhealth_cancel_subscription | Cancel the Pro subscription Cancel the caller's Photon Health Pro subscription at the end of the paid period (no refund for the current period; unlimited calls continue until then, then the free tier applies). Requires confirm: true. Run photonhealth_upgrade later to undo the cancel before the period ends. Does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper organization | $9/mo · $90/yr | Unlimited |
Pro covers this Photon Health server only. Subscribe with photonhealth_upgrade (it returns a Stripe Checkout link). Cancel any time with photonhealth_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running photonhealth_upgrade before then undoes the cancel. Or write to [email protected].
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.