Canvas Medical MCP server. Search and read a patient chart over the Canvas FHIR R4 API. Read-only.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"canvas-medical": {
"url": "https://canvas-medical.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
canvas_search | read | Search a FHIR resource Search any supported FHIR R4 resource in the chart. Pick `resource`, then narrow with the standard FHIR search parameters. Nearly every clinical question starts here: Condition or Observation for a problem list and results, MedicationRequest for prescriptions, Appointment or Encounter for visits, DocumentReference for notes. Canvas: GET /{resource}. |
canvas_read | read | Read one FHIR resource Fetch a single FHIR resource by type and id. Canvas: GET /{resource}/{id}. |
canvas_get_patient_everything | read | Get everything for one patient Fetch a patient's full record in one FHIR bundle — conditions, medications, observations, encounters and more. The fastest way to answer a broad question about one person, but it can return a large document, so prefer canvas_search when you know which resource you need. Canvas: GET /Patient/{id}/$everything. |
canvas_get_capability_statement | read | Get the FHIR capability statement Fetch the server's FHIR CapabilityStatement — exactly which resources, interactions and search parameters this Canvas instance supports. Read it when a search is rejected and you want to know what the instance actually accepts. Canvas: GET /metadata. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Pro | $9/mo · $90/yr | Unlimited |
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.