myatriumhealth-mcp
Read MyAtriumHealth (Atrium Health's Epic MyChart patient portal) — test results, medications, allergies, immunizations, health issues, visits, goals — from a shell with the fpx CLI (@fetchproxy/cli), by relaying requests through your signed-in Chrome tab. Use when you want your MyChart data in a script or one-shot without running the myatriumhealth-mcp server. Skill: myatriumhealth-mcp Owner: chrischall Summary: Read MyAtriumHealth (Atrium Health's Epic MyChart patient portal) — test results, medications, allergies, immunizations, health issues, visits, goals — from a shell with the fpx CLI (@fetchproxy/cli), by relaying requests through your signed-in Chrome tab. Use when you want your MyChart data in a script or one-shot without running the myatriumhealth-mcp server. Tag
Rank
62
Safety
84
Downloads
1.0k
Updated
Oct 11, 2026
Version
1.3.6
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 1.3.6release · observed Oct 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:myatriumhealth-mcp- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-myatriumhealth-mcp/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
142,687 characters of source documentation, loaded on request.
Extracted files
4 files captured from the source.
SKILL.md
---
name: myatriumhealth-fpx
description: >-
Read MyAtriumHealth (Atrium Health's Epic MyChart patient portal) — test
results, medications, allergies, immunizations, health issues, visits, goals
— from a shell with the fpx CLI (@fetchproxy/cli), by relaying requests
through your signed-in Chrome tab. Use when you want your MyChart data in a
script or one-shot without running the myatriumhealth-mcp server.
---
# MyAtriumHealth via fpx
Atrium Health's patient portal is Epic MyChart at `my.atriumhealth.org`. Its web app
talks to a clean JSON API, and this skill drives that same API through your signed-in
browser tab.
**Why the browser is required:** every MyChart cookie is `HttpOnly`, so the session
cannot be read or reproduced outside the browser, and login is MFA-gated. Requests are
relayed through the tab; the session cookie is never extracted or stored.
This reads personal health information. It only ever touches the signed-in user's own
account.
## One-time setup
npm i -g @fetchproxy/cli # also needs the ContextMint Bridge extension
ContextMint Bridge comes from
https://github.com/nullnet-app/contextmint-bridge/releases (Chrome: load the `chrome`
zip unpacked; use Chrome for now — Safari will ship inside the ContextMint app, which
has no public download yet). It is the fetchproxy extension renamed, same maintainer;
source is public there — build it, or verify a zip with `shasum -a 256 -c <zip>.sha256`.
Create the profile with its **full scope declared up front** — widening scope later
invalidates the grant and forces a re-pair:
fpx profile add myatriumhealth --domain atriumhealth.org
fpx profile declare myatriumhealth \
--cookie '_Host-MyChart_Session' \
--cookie '__RequestVerificationToken_L215YXRyaXVtaGVhbHRo0' \
--cookie '_Host-MyChartLocale' --cookie 'MYCPERS' --cookie 'p-MYC-LBPersistence' \
--capture-header '[email protected]'
Then sign in to MyAtriumHealth in Chrome and run any command below. The first one
prints a pair code — approve it in the ContextMint Bridge popup. The trust persists.
## Use it
source references/mah.sh
mah_signed_in || echo "sign in to MyAtriumHealth in Chrome first"
export MAH_TOKEN="$(mah_token)" # cache once per shell
mah_api allergies/LoadAllergies | jq '[.dataList[].allergyItem | {name, severe: .isSevere}]'
`mah_api <area/Action> [json-body]` posts to the modern `api/…` endpoints (body
defaults to `{}`, which is all most of them need). `mah_legacy <Area/Controller/Action>
[querystring]` handles the older form-encoded ones (visits).
Every call needs the ASP.NET antiforgery token — `mah_token` scrapes it from a
signed-in page and the helpers attach it. Responses are large (test results 33 KB,
medications 30 KB); always project with `jq`.
**See `references/endpoints.md`** for the full endpoint list with ready-to-run,
live-verified `jq` recipes, and `references/mah.sh` for the helpers.
## Check the session, not the_meta.json
{
"ownerId": "kn700jq4sjtf2anb0rk3ft4p7n856872",
"slug": "myatriumhealth-mcp",
"version": "1.3.6",
"publishedAt": 1791588357972
}references/endpoints.md
# MyAtriumHealth endpoints — verified recipes
Every recipe below was run against a live signed-in session. `source mah.sh` first and
cache the token once per shell:
source references/mah.sh
mah_signed_in || echo "sign in to MyAtriumHealth in Chrome first"
export MAH_TOKEN="$(mah_token)" # 172 chars; avoids re-fetching a 137KB page per call
Response envelopes are large (test results 33KB, medications 30KB) — always project
with `jq` rather than printing whole responses.
---
## Allergies
mah_api allergies/LoadAllergies | jq '[.dataList[].allergyItem
| {name, severe: .isSevere, reactions: [.reactionList[]?.name]}]'
`dataList[].allergyItem` → `{id, name, reactionList[], classification, isSevere, priority, displayType}`.
`localItem` repeats the same shape for this organization; `externalItems`/`externalOrgs`
carry the same allergy as recorded at linked outside organizations.
## Health issues (problem list)
mah_api HealthIssues/LoadHealthIssuesData | jq '[.dataList[].healthIssueItem
| {name, noted: .formattedDateNoted}]'
`healthIssueItem` → `{name, id, formattedDateNoted, action, isReadOnly}`.
## Immunizations
mah_api immunizations/LoadImmunizations | jq '[.organizationImmunizationList[]
| {org: .organization.OrganizationName?} + {shots: [.orgImmunizations[] | {name, dates: .formattedAdministeredDates}]}]'
Grouped per organization: `organizationImmunizationList[].orgImmunizations[]`
→ `{id, name, formattedAdministeredDates}`.
## Medications
mah_api medications/LoadMedicationsPage | jq '[.communityMembers[]
| .prescriptionList.prescriptions[]?
| {name, friendly: .patientFriendlyName, sig, provider: .authorizingProvider}]'
`communityMembers[]` is one entry per organization; each has
`prescriptionList.prescriptions[]` → `{name, patientFriendlyName, sig,
prescriptionNumber, authorizingProvider, orderingProvider, dateToDisplay,
isPatientReported, …}`. `sig` is the dosing instruction text.
## Test results
# index of result groups (visits), newest first
mah_api test-results/GetList | jq '[.newResultGroups[]
| {date: .formattedDate, type: .contactType, count: (.resultList | length)}]'
# the results themselves — newResults is a MAP keyed by an opaque handle
mah_api test-results/GetList | jq '[.newResults[]
| {name, abnormal: .isAbnormal,
when: .orderMetadata.prioritizedInstantDisplay,
provider: .orderMetadata.orderProviderName,
comments: [.providerComments[]?.content]}]'
`newResultGroups[].resultList` is an array of **strings** — handles into `newResults`.
`resultComponents` is empty in the list view (individual values load on the detail page).
`orderMetadata` → `{orderProviderName, authorizingProviderName, prioritizedInstantISO,
prioritizedInstantDisplay, resultType, read}`.
## Goals
mah_api goals/LoadPatientGoals | jq '[.patientGoals[] | {goalId, goalType, lastUpdatedDate}]'
## Health summary / menu / folders
mskill-card.md
## Description: Helps users read their own MyAtriumHealth records through a signed-in Chrome tab using shell commands, without running the MyAtriumHealth MCP server. This skill is ready for commercial/non-commercial use. ## Publisher: [chrischall](https://clawhub.ai/user/chrischall) ### License/Terms of Use: MIT-0 ## Use Case: People accessing their own MyAtriumHealth account, including developers writing personal scripts, can retrieve and filter health records, visits, and messages through their signed-in browser session. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: Persistent browser access to a sensitive healthcare account can expose private records. Mitigation: Install only if you trust the browser extension and CLI, use your own account, and remove the profile or extension when no longer needed. Risk: Broad shell helpers can read sensitive records and expose tokens or output to untrusted scripts or logs. Mitigation: Review scripts before use, keep tokens and command output private, and limit output to the fields needed. Risk: Expired sessions or a missing browser tab can make results appear empty or successful. Mitigation: Check that the browser session is active before trusting empty results, and sign in again when needed. ## Reference(s): - [ClawHub skill release](https://clawhub.ai/chrischall/skills/myatriumhealth-mcp) - [MyAtriumHealth endpoint recipes](references/endpoints.md) - [MyAtriumHealth shell helpers](references/mah.sh) - [ContextMint Bridge extension releases](https://github.com/nullnet-app/contextmint-bridge/releases) ## Skill Output: **Output Type(s):** [Shell commands, Guidance, JSON] **Output Format:** [Shell examples and JSON responses] **Output Parameters:** [1D] **Other Properties Related to Output:** [Responses can contain sensitive personal health information; filter before sharing or storing.] ## Skill Version(s): 1.3.6 (source: ClawHub release metadata) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/chrischall/skills/myatriumhealth-mcp",
"sourceUrl": "https://clawhub.ai/chrischall/skills/myatriumhealth-mcp",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T16:02:40.375Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-myatriumhealth-mcp/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-myatriumhealth-mcp/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T16:02:40.375Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1K downloads",
"href": "https://clawhub.ai/chrischall/myatriumhealth-mcp",
"sourceUrl": "https://clawhub.ai/chrischall/myatriumhealth-mcp",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T16:02:40.375Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.3.6",
"href": "https://clawhub.ai/chrischall/myatriumhealth-mcp",
"sourceUrl": "https://clawhub.ai/chrischall/myatriumhealth-mcp",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T23:25:57.972Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-myatriumhealth-mcp/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-myatriumhealth-mcp/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.3.6",
"description": "- Updated endpoint documentation in references/endpoints.md. - Removed the skill-card.md file.",
"href": "https://clawhub.ai/chrischall/myatriumhealth-mcp",
"sourceUrl": "https://clawhub.ai/chrischall/myatriumhealth-mcp",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T23:25:57.972Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
