@chrischall/myatriumhealth-mcp 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +4 -4
- package/.claude-plugin/plugin.json +5 -5
- package/README.md +20 -5
- package/dist/bundle.js +1079 -429
- package/package.json +3 -3
- package/server.json +2 -2
- package/skills/myatriumhealth-fpx/SKILL.md +8 -2
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
"email": "chris.c.hall@gmail.com"
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
|
-
"description": "MCP server for
|
|
10
|
-
"version": "1.3.
|
|
9
|
+
"description": "MCP server for MyAtriumHealth (Atrium Health's Epic MyChart patient portal) — test results, medications, allergies, immunizations, health issues, visits and messages. Requests relay through the user's own signed-in browser tab via the ContextMint Bridge extension, reusing their existing session.",
|
|
10
|
+
"version": "1.3.2"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
14
14
|
"name": "myatriumhealth-mcp",
|
|
15
15
|
"displayName": "MyAtriumHealth",
|
|
16
16
|
"source": "./",
|
|
17
|
-
"description": "Read MyAtriumHealth (Epic MyChart) records — test results, medications, allergies, immunizations, health issues, visits — by relaying requests through the user's signed-in browser tab via the
|
|
18
|
-
"version": "1.3.
|
|
17
|
+
"description": "Read MyAtriumHealth (Epic MyChart) records — test results, medications, allergies, immunizations, health issues, visits — by relaying requests through the user's signed-in browser tab via the ContextMint Bridge extension.",
|
|
18
|
+
"version": "1.3.2",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "myatriumhealth-mcp",
|
|
3
3
|
"displayName": "MyAtriumHealth",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.2",
|
|
5
5
|
"description": "MyAtriumHealth (Epic MyChart) access for Claude — test results, medications, allergies, immunizations, visits",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Chris Hall",
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
"repository": "https://github.com/chrischall/myatriumhealth-mcp",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"keywords": [
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
14
|
+
"mychart",
|
|
15
|
+
"epic",
|
|
16
|
+
"atrium-health",
|
|
17
|
+
"health-records",
|
|
18
18
|
"mcp"
|
|
19
19
|
],
|
|
20
20
|
"skills": "./skills/",
|
package/README.md
CHANGED
|
@@ -80,8 +80,8 @@ unless you specifically need bridge-less.
|
|
|
80
80
|
Every MyChart cookie is `HttpOnly` and login is MFA-gated, so the session cannot be
|
|
81
81
|
copied out of the browser and replayed from Node. Requests are therefore relayed
|
|
82
82
|
through the user's own signed-in tab via the
|
|
83
|
-
[fetchproxy](https://github.com/chrischall/fetchproxy) bridge and the
|
|
84
|
-
extension, reusing their authenticated session. **The server never reads or stores the
|
|
83
|
+
[fetchproxy](https://github.com/chrischall/fetchproxy) bridge and the ContextMint Bridge
|
|
84
|
+
browser extension, reusing their authenticated session. **The server never reads or stores the
|
|
85
85
|
session cookie.**
|
|
86
86
|
|
|
87
87
|
The portal's web app talks to a JSON API in two generations — modern
|
|
@@ -102,8 +102,21 @@ Both are documented, with live-captured shapes, in
|
|
|
102
102
|
}
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
Bridge mode needs **ContextMint Bridge**, installed from its
|
|
106
|
+
[releases page](https://github.com/nullnet-app/contextmint-bridge/releases) — in Chrome,
|
|
107
|
+
unzip the `chrome` zip and add it via `chrome://extensions` → Developer mode → Load
|
|
108
|
+
unpacked. Use Chrome for now: the Safari build will ship inside the ContextMint app,
|
|
109
|
+
which has no public download yet.
|
|
110
|
+
|
|
111
|
+
ContextMint Bridge is the fetchproxy browser extension under its new name, from the
|
|
112
|
+
same maintainer — fetchproxy's own [README](https://github.com/chrischall/fetchproxy#extension)
|
|
113
|
+
points to it. Its source is public at
|
|
114
|
+
[nullnet-app/contextmint-bridge](https://github.com/nullnet-app/contextmint-bridge): build it
|
|
115
|
+
yourself, or check a release zip against the `.sha256` file published beside it
|
|
116
|
+
(`shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256`).
|
|
117
|
+
|
|
118
|
+
Then sign in to `my.atriumhealth.org` in your browser and call `mah_healthcheck`. The
|
|
119
|
+
first call prints a pair code — approve it once in the ContextMint Bridge popup.
|
|
107
120
|
|
|
108
121
|
| Env | Default | Purpose |
|
|
109
122
|
|---|---|---|
|
|
@@ -167,7 +180,9 @@ Every other reader gets the URL strip only. That field list is applied where one
|
|
|
167
180
|
actually established and nowhere else — the list above is generated from
|
|
168
181
|
`PROJECTED_ENDPOINTS` and checked against the `project()` call sites by a test, so it
|
|
169
182
|
cannot quietly drift out of step with the code. If the portal's shape drifts, the
|
|
170
|
-
projection warns to stderr and returns
|
|
183
|
+
projection warns to stderr and returns `{ projectionFailed: true, endpoint, topLevelKeys,
|
|
184
|
+
note }` rather than an empty list — key names only, never the raw health record; ask for
|
|
185
|
+
`view: 'full'` to see the portal's payload.
|
|
171
186
|
|
|
172
187
|
## Sessions expire, and they do it quietly
|
|
173
188
|
|