Photon Health MCP by usefulapi

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

사용해야 할까요

품질 및 안전성

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

발견 사항 (8)

  • LOWTool 'photonhealth_list_prescriptions' name length outside 3-30 rangephotonhealth_list_prescriptions에서
  • LOWTool 'photonhealth_search_medications' name length outside 3-30 rangephotonhealth_search_medications에서
  • LOWTool 'photonhealth_list_medication_products' name length outside 3-30 rangephotonhealth_list_medication_products에서
  • LOWTool 'photonhealth_list_medication_packages' name length outside 3-30 rangephotonhealth_list_medication_packages에서
  • LOWTool 'photonhealth_get_medication_by_ndc' name length outside 3-30 rangephotonhealth_get_medication_by_ndc에서
  • LOWTool 'photonhealth_search_medical_equipment' name length outside 3-30 rangephotonhealth_search_medical_equipment에서
  • LOWTool 'photonhealth_list_dispense_units' name length outside 3-30 rangephotonhealth_list_dispense_units에서
  • LOWTool 'photonhealth_screen_interactions' name length outside 3-30 rangephotonhealth_screen_interactions에서

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

컨텍스트 비용

~3,558토큰 (도구 정의)
~935 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.78%)

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

설치

원클릭 설치

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

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (21)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢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.

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

커뮤니티

이 서버 평가하기

증거

최근 관측

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