MCP.Market

Mychart MCP server

by kriskraw80·io.github.kriskraw80/mychart·v1.0.0

Connects to Epic MyChart patient portals: interactive login, list and download your own test results

A85/100grade A
What users say
No reviews yet
Be the first
Safety scan
A85/100

full report

Adoption
New

0 stars30 downloads/wk

Reviews

Write one

Nobody has reviewed Mychart yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Mychart tools (8)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • mychart_close_browser

    Close the automation browser. The login session itself is preserved in the persistent profile on disk — this only frees the browser process. The next tool call relaunches it automatically.

  • mychart_download_test_result

    Save one test result as a PDF file on disk (rendered from the result detail page). Requires a logged-in session. Args: - result_id (string): An id from mychart_list_test_results (e.g. "r3"), or a full result-detail URL. - filename (string, optional): Base filename for the PDF; defaults to "<date> <test name>.pdf". Files are saved to ~/.mychart-mcp/downloads. Returns: { path, bytes, id, name, date

  • mychart_get_test_result

    Open one test result and return its full readable content — component values, reference ranges, flags, and provider comments — as text. Requires a logged-in session. Args: - result_id (string): An id from mychart_list_test_results (e.g. "r3"), or a full result-detail URL. Returns: { id, name, date, url, text, truncated }. If truncated is true, use mychart_download_test_result for the complete PDF.

  • mychart_list_test_results
  • mychart_login
  • mychart_screenshot

    Debug aid: capture a full-page PNG of whatever page the automation browser is currently on (or the MyChart home page if idle). Useful when list/detail scraping reports nothing recognizable — the screenshot shows what the portal actually rendered. Args: - name (string, optional): Base filename for the PNG. Returns: { path, url }. Screenshot is saved to ~/.mychart-mcp/downloads.

  • mychart_session_status

    Check whether a MyChart provider is configured and whether the saved browser session is still logged in. Runs headless; safe to call any time. Returns: { configured, baseUrl, loggedIn, landedUrl }. If loggedIn is false, run mychart_login.

  • mychart_set_provider

    Configure which health system's MyChart site to use. Every hospital system runs its own MyChart instance at its own URL, so this must be set once before logging in. Args: - url (string): Any URL from the provider's MyChart site — the login page URL pasted from a browser works fine (e.g. "https://mychart.virtua.org/MyChartPRD/Authentication/Login"). It is normalized to the instance root automatical

Public scan report

scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it

no findings
  • Code scan5 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 51 days ago12/15
  • Maintainer identityregistry namespace matches repository owner6/10
Overall 85/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Mychart compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
85/100
higher than 70% of 48,255 servers
Tools
8
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
30
more than 18% of 12,191 servers with a package

What its tools let an agent do: 8 read

Install Mychart in Claude Code, Cursor or VS Code

Runs npx -y mychart-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add mychart -- npx -y mychart-mcp-server
Add to Cursor

What the publisher says

From the Mychart repository's README, as published. We do not edit it. Read it on GitHub

MyChart MCP Server

An MCP (Model Context Protocol) server that connects to any Epic MyChart patient portal to log in, list your test results, and download them as PDFs — so an AI assistant can help you understand your own lab work.

Epic offers no simple public login API (the official FHIR route requires per-organization app registration), so this server drives the MyChart website with Playwright:

  • Login is interactive and private — a visible browser window opens; you type your username/password and complete MFA yourself. Credentials never pass through the AI, the MCP protocol, or this server's tool arguments.
  • Session persists — cookies (including MyChart's session-scoped auth cookie) are exported to disk after login and replayed on every launch, so subsequent operations run headless until the portal expires the session server-side.
  • Works across MyChart versions — scraping tries the modern SPA routes (/app/test-results) first, then classic routes, with permissive selectors.

Tools

Installation

npm install -g mychart-mcp-server
npx playwright install chromium

Or from source:

git clone https://github.com/kriskraw80/mychart-mcp-server.git
cd mychart-mcp-server
npm install
npx playwright install chromium
npm run build

Register with Claude Code / Claude Desktop

{
  "mcpServers": {
    "mychart": {
      "command": "npx",
      "args": ["mychart-mcp-server"]
    }
  }
}

(Or point command at node with args: ["/dist/index.js"] for a source checkout.) Restart your MCP client after config changes.

Optional environment variables

Typical flow

  1. mychartsetprovider with your portal URL (e.g. https://mychart.example-health.org/MyChart)
  2. mychart_login → sign in + MFA in the window that opens (check "Remember this device")
  3. mychartlisttest_results → returns r1, r2, ...
  4. mychartgettestresult r1 or mychartdownloadtestresult r1

Data locations

Everything lives in ~/.mychart-mcp/ — keep it out of synced folders (the Chromium profile does not tolerate file sync):

  • config.json — provider URL
  • browser-profile/ — persistent Chromium profile
  • storage-state.json — exported session cookies (replayed on each launch)
  • results-cache.json — id → result-URL map from the last list call
  • downloads/ — PDFs and screenshots

Notes & limitations

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Mychart: common questions

Is Mychart MCP server safe?
Yes, by our scan: it is graded A (85/100). Read the Mychart safety report
How do I install Mychart?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Mychart need an API key?
No secret keys are declared. It reads 1 setting from the environment.
Is Mychart maintained?
The last commit was 92 days ago (2026-08-04). The latest release is v1.0.0.
How does Mychart compare with other MCP servers?
safety score 85/100 (higher than 70% of 48,255 servers); tools 8 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.