@chrischall/myatriumhealth-mcp 1.3.4 → 1.3.6

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.
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "metadata": {
9
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.4"
10
+ "version": "1.3.6"
11
11
  },
12
12
  "plugins": [
13
13
  {
@@ -15,7 +15,7 @@
15
15
  "displayName": "MyAtriumHealth",
16
16
  "source": "./",
17
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.4",
18
+ "version": "1.3.6",
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",
4
+ "version": "1.3.6",
5
5
  "description": "MyAtriumHealth (Epic MyChart) access for Claude — test results, medications, allergies, immunizations, visits",
6
6
  "author": {
7
7
  "name": "Chris Hall",
@@ -18,5 +18,5 @@
18
18
  "mcp"
19
19
  ],
20
20
  "skills": "./skills/",
21
- "mcp": "./.mcp.json"
21
+ "mcpServers": "./.mcp.json"
22
22
  }
package/README.md CHANGED
@@ -125,7 +125,8 @@ first call prints a pair code — approve it once in the ContextMint Bridge popu
125
125
  | `MAH_DEVICE_FILE` | `~/.myatriumhealth-mcp/device.json` | Session state (0600). Holds the **live cookie jar** as well as the device token — treat as a credential. |
126
126
  | `MAH_WS_PORT` | `37149` | fetchproxy concentrator port (bridge mode only). The whole fleet shares this one port; override only when hosting. |
127
127
  | `MAH_READ_ONLY` | `false` | `true` refuses `mah_reply_message` sends (previews still work). The tool stays listed either way. |
128
- | `MCP_CONFIRM_MODE` | `ask-user` | What a reply does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). `ask-user`: two steps — the first call sends nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. `auto`: the same two steps, but the model may use the token after reviewing the preview itself. `refuse`: replies are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt. An unrecognised value is treated as `refuse`. |
128
+ | `MCP_CONFIRM_MODE` | `ask-user` | What a reply does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). `ask-user`: two steps — the first call sends nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. `auto`: the same two steps, but the model may use the token after reviewing the preview itself. `refuse`: replies are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless `MCP_CONFIRM_ELICITATION=off`. An unrecognised value is treated as `refuse`. |
129
+ | `MCP_CONFIRM_ELICITATION` | `on` | `off` never shows a confirmation prompt, so every client gets the `MCP_CONFIRM_MODE` path. Set it for a client that claims to support prompts but never shows one (the reply hangs — opencode 2.0.x). Any other value stays `on`, with a warning on stderr. |
129
130
  | `MCP_CONFIRM_TTL_SECONDS` | `600` | How long a token stays valid. |
130
131
  | `MCP_CONFIRM_SECRET` | random per process | Signing key; set it only if tokens must survive a server restart. |
131
132
 
@@ -155,7 +156,6 @@ stated rather than inferred.
155
156
  | `mah_list_insurance` | Insurance coverages on file |
156
157
  | `mah_list_care_team` | Care team providers, internal and external |
157
158
  | `mah_list_billing_accounts` | Billing accounts and balances (parsed from HTML) |
158
- | `mah_get_menu` | Which portal features this account exposes |
159
159
  | `mah_healthcheck` | Connection health — bridge status when relaying, credential and session status when signing in server-side |
160
160
  | `mah_auth_status` | Whether a session can be resumed and whether a device token is stored |
161
161
  | `mah_sign_in` | Sign in server-side; reports verification channels if a code is needed *(needs credentials)* |
@@ -213,7 +213,8 @@ local organization returns HTTP 500. The client assembles this from
213
213
  `body`, and optionally `attachments`. It replies **as whichever patient is active**.
214
214
 
215
215
  - **It asks before it sends.** A client that can show a confirmation prompt (Claude
216
- Code) gets one with the thread, recipients, body and attachments. Elsewhere the first
216
+ Code) gets one with the thread, recipients, body and attachments, unless
217
+ `MCP_CONFIRM_ELICITATION=off`. Elsewhere the first
217
218
  call sends nothing and returns that preview plus a `confirmToken`; only a repeat call
218
219
  with the same arguments and that token sends. `MCP_CONFIRM_MODE` (above) decides
219
220
  whether the model must get your approval in chat before using it (`ask-user`, the