MCP is in private preview. These pages describe the tools as they are today, and they’ll change as MCP moves onto the rebuilt Network API. To talk through your use case, ask your Photon contact.
Prescribe amlodipine 5 mg daily for Paige Turner, born 1990-01-01.From a request like that, the agent finds the patient, finds the medication, drafts the prescription, shows the screening results, and sends once the prescriber confirms.
The flow
Server
⚠️ MCP is moving to
https://network.neutron.health/mcp (and network.photon.health/mcp). Until then, use the URLs above.
The server speaks MCP over streamable HTTP and supports OAuth discovery. See Connect a client.
Who’s calling
The server passes your token to Photon’s API, and the API enforces what it can do. Agents shouldn’t ask a prescriber to prove they’re authorized, or refuse to send because a send transmits a prescription. Photon makes that check.
Rules for agents
- Photon decides. When a patient or drug is ambiguous, the tool fails closed and says what to ask next. Never invent ids, instructions, quantities or units.
- The agent holds the conversation. The server keeps no state between calls. Records live in Photon, and the agent passes
patientIdand the draft fields from one call to the next. - The prescriber sends. The agent drafts. Only the prescriber’s explicit confirmation sends, either with
rx_sendor in Prescribe. - Don’t ask for a pharmacy or address before sending. The patient chooses a pharmacy after the order exists. Use
rx_shopandrx_routeif you need to route it. - Neutron never sends real prescriptions. In the sandbox,
rx_sendcreates test orders only.