# mychart [Health: Active]

**Category:** 🧬 Biology & Bioinformatics  
**Repository:** https://github.com/kriskraw80/mychart-mcp-server  
**GitHub Stars:** 0  
**npm Downloads (last month):** 175  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mychart

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

## Tools
Capabilities this server exposes over MCP:

- **mychart_set_provider** — Set your health system's MyChart URL (one-time). Paste any URL from their MyChart site.
- **mychart_login** — Opens a visible browser window; you sign in + complete MFA there.
- **mychart_session_status** — Check provider config + whether the saved session is still valid.
- **mychart_list_test_results** — List ALL test results (auto-expands "Show more"), with ids `r1, r2, ...`.
- **mychart_get_test_result** — Full readable content of one result (values, ranges, comments).
- **mychart_download_test_result** — Save a result as PDF to `~/.mychart-mcp/downloads`.
- **mychart_screenshot** — Debug: full-page PNG of what the automation browser sees.
- **mychart_close_browser** — Close the browser process (session stays saved on disk).

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

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

## Documentation

## What mychart does

The mychart MCP server gives an MCP client access to test results in an Epic MyChart portal. It supports provider URL configuration, interactive authentication, session checks, result listing, detailed result retrieval, PDF downloads, screenshots, and browser shutdown.

The server is designed for personal use with your own health records. It automates the portal website rather than using an official general-purpose login API. That approach avoids requiring organization-specific FHIR app registration, but it depends on the structure and behavior of the health system's MyChart site.

## How it works

Playwright drives the MyChart website. During login, a visible browser window appears so you can enter credentials and complete multi-factor authentication yourself. Login information is not passed through MCP tool arguments. If credentials are supplied through optional process environment variables, the login form can be pre-filled, but MFA still takes place in the browser window.

After authentication, the server exports session cookies and reuses them on later launches. The browser profile and session data are stored under `~/.mychart-mcp/`. A session can expire on the portal side after inactivity, in which case you need to run login again.

Result listing tries modern MyChart application routes before older routes and expands additional results when the portal provides a “Show more” control. Results receive local identifiers such as `r1`, `r2`, and later detail or download operations use those identifiers.

## Setup and configuration

Install the package globally and install the Chromium browser used by Playwright:

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

The server can also be built from a source checkout with `npm install`, `npm run build`, and the same Playwright installation command. Register it as a stdio server in Claude Desktop or Claude Code using `npx mychart-mcp-server`, or point Node at `dist/index.js` for a source installation.

Set the provider with `mychart_set_provider` by pasting a URL copied from the relevant MyChart site. `MYCHART_URL` can provide a default instead. The server stores the provider configuration, browser profile, exported cookies, result URL cache, PDFs, and screenshots in `~/.mychart-mcp/`; avoid placing this directory in a file-synchronization folder.

## Tools and capabilities

The mychart MCP server exposes these operations:

- Configure the MyChart provider URL.
- Start interactive login and complete MFA in the visible browser.
- Check provider configuration and saved-session validity.
- List all discovered test results and assign result IDs.
- Read one result with values, reference ranges, and comments.
- Render a result detail page to PDF in `~/.mychart-mcp/downloads`.
- Save a full-page PNG of the browser view for troubleshooting.
- Close the browser process without deleting the saved session.

PDF creation renders the result detail page with headless Chrome instead of relying on a portal-specific download button.

## Limitations and notes

The mychart MCP server is not an officially sanctioned Epic integration. Portal markup differs between health systems and Epic versions, so a list operation may return no results even when the account contains them. Use `mychart_screenshot` to inspect what the automated browser sees; provider-specific selector changes may be needed.

Paste the actual portal URL from your browser because some organizations use domains that do not contain the expected `mychart` hostname. Browser-brand details can also matter: the server prefers installed Chrome, then Edge, then Playwright Chromium, and a persistent profile should remain with the same browser brand. The project is licensed under MIT and provides no warranty.

_Full upstream README: https://allmcps.com/mcp/mychart/readme_

