原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。使用 Google 登录即可撰写评价。原型 · 每 30 分钟更新
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

OpenRecord — MyChart for Claude

作者:Fan-Pier-Labs版本 2.3.0i★ 75 (整个仓库的星标)i在你的电脑上运行
注册名称io.github.Fan-Pier-Labs/openrecord

安装方法

What it does

Read and manage your Epic MyChart records: labs, meds, imaging, notes, messages, refills.

  • Connects 在你的电脑上运行
  • Account or key No key needed
  • Category 文档、表格与办公

安装

选择你使用的 AI 应用,然后复制设置。

通过 2/3 项检查 · 在你的电脑上运行

第一步:你用哪个 AI?

选择你用的应用,步骤会显示在下方。

可连接 Claude,但需要先准备

不需要密钥,不用安装程序 · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

  1. 下载开发者的安装文件

    下载作者的 .mcpb 文件

    .mcpb 文件直接来自开发者,我们没有修改

  2. 双击文件,然后在电脑版 Claude 应用中点击 Install

  3. 试一试

    用 OpenRecord — MyChart for Claude 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude 说正在使用 OpenRecord — MyChart for Claude,或回答中出现 OpenRecord — MyChart for Claude 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

ChatGPT 暂时无法连接 OpenRecord — MyChart for Claude

OpenRecord — MyChart for Claude 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器

你可以改用这些方式

A · 使用能连接 OpenRecord — MyChart for Claude 的应用

  • 不需要密钥,不用安装程序 · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

B · 文档、表格与办公 类中能连接 ChatGPT 的其他服务器

从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的

Claude Code 暂时无法连接 OpenRecord — MyChart for Claude

开发者只提供了电脑版 Claude 应用的安装文件

你可以改用这些方式

A · 使用能连接 OpenRecord — MyChart for Claude 的应用

  • 不需要密钥,不用安装程序 · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

Cursor 暂时无法连接 OpenRecord — MyChart for Claude

开发者只提供了电脑版 Claude 应用的安装文件

你可以改用这些方式

A · 使用能连接 OpenRecord — MyChart for Claude 的应用

  • 不需要密钥,不用安装程序 · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

VS Code 暂时无法连接 OpenRecord — MyChart for Claude

开发者只提供了电脑版 Claude 应用的安装文件

你可以改用这些方式

A · 使用能连接 OpenRecord — MyChart for Claude 的应用

  • 不需要密钥,不用安装程序 · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看

查看所有支持 MCP 的应用 →

JSON 设置在下方“开发者专用”中

卡住了?问问正在用 OpenRecord — MyChart for Claude 的人💬 讨论 →

一览

GitHub 星标i
75 (整个仓库的星标)
该仓库包含多个 MCP 条目,星标在排名中只计算一次
每周下载量i
不在 npm/PyPI 上
许可证i
未注明许可证
连接方式
在你的电脑上运行
最新版本i
2.3.0
发布到注册中心i
2026年11月13日
代码最后更新i
2026年11月13日
作者
Fan-Pier-Labs
软件包
mcpb: …/openrecord.mcpb
注册状态
活跃

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

在你的电脑上运行,适用于

ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

全部应用及其优缺点 →

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月16日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Fan-Pier-Labs 验证,该账户拥有此仓库

  • ✓ 通过

    仍在维护

    代码最后更新于3天前

  • ! 注意

    有许可证

    GitHub 无法识别许可证类型;请打开文件自行查看

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

已公开的漏洞(OSV.dev)

未检查:只能检查标明版本的 npm 和 PyPI 包

我们检查什么 → · JSON

作者:申请重新检查或报告信息错误

讨论

提问、分享技巧或报告无法使用。按“有帮助”数量排序。

还没有帖子,欢迎第一个提问或分享。

此处内容由用户撰写,不代表 PopNx 团队。

登录后发帖

用户评价

还没有评价

登录后写评价

与“文档、表格与办公”中的其他服务器比较i

  • 星标数多于此分类中其他 3972 个服务器的 96%
  • 发布到注册中心的时间比此分类中其他 3972 个服务器的 89% 更新
  • 基础检查结果等于或优于此分类中其他 3972 个服务器的 47%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

OpenRecord — MyChart for Claude 安全吗?

它在 3 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于3天前,最新版本(2.3.0)于3天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。

有什么可以替代它?

同一分类中有:Puter MCP, XcodeBuildMCP, Anki MCP Server, Sosumi, Zapier

功能相近的其他选择

同一分类、其他作者、命令已通过检查。官方的排在前面,再按星标排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Puter MCP

Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more

作者:HeyPuter广泛使用★ 4.4万5个月前更新

在云端运行✓ 服务方 · puter.com

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

作者:getsentry广泛使用↓ 13万/周 共用包的下载量★ 65764个月前更新

在你的电脑上运行✓ 服务方 · xcodebuildmcp.com

Anki MCP Server

MCP server for Anki flashcards: adaptive review, notes, media, and deck management via AnkiConnect.

作者:ankimcp正在增长↓ 1136/周★ 55942天前更新

在你的电脑上运行✓ 服务方 · ankimcp.ai

Sosumi

Search and read Apple developer documentation, HIG, and WWDC transcripts as Markdown.

作者:NSHipster正在增长★ 4927天前更新

在云端运行✓ 服务方 · sosumi.ai

Zapier

Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.

作者:zapier正在增长★ 4604个月前更新

在云端运行✓ 服务方 · zapier.com
  • Puter MCP — 在云端运行,无需安装 · 不需要密钥
  • XcodeBuildMCP — 需要安装在电脑上 · 不需要密钥
  • Anki MCP Server — 需要安装在电脑上 · 不需要密钥
  • Sosumi — 在云端运行,无需安装 · 不需要密钥
  • Zapier — 在云端运行,无需安装 · 不需要密钥 · 在 Claude 的目录中

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

OpenRecord — Claude Desktop Extension

A Claude Desktop Extension (.mcpb) that gives Claude access to your Epic MyChart patient portal. Read your medications, lab results, imaging, messages, billing, and more — or send a message to your care team, request a refill, and manage emergency contacts — all through a natural conversation.

Install

cd claude-desktop-extension

bun install bun run pack # builds dist/server.cjs and produces openrecord.mcpb

Then double-click openrecord.mcpb (or drag it into Claude Desktop → Settings → Extensions).

Use

After installing, open a new Claude chat and say:

Set up my MyChart.

Interactive widget (recommended)

In Claude Desktop, Claude shows an inline step-based setup widget (get_setup_widget). It opens on a choice between two routes, and connects accounts one at a time: nearly every portal asks for a 2FA code, so each account runs to the end before the next is offered. The full flow is diagrammed in docs/mcpb-setup-flow.md.

Import from your browser (the easier one):

  1. Permission — a screen saying what the scan reads, that passwords stay on this machine, and that macOS will raise its own keychain prompt. Nothing is read until Allow and search my browsers is clicked; that runs import_browser_passwords (and list_accounts, to mark logins already connected).
  2. Pick one login — the confirmed MyChart logins, one to choose ("you can import more after this one"). One already connected, or saved without a username, is shown but can't be picked. The widget only ever holds import ids, never a password.
  3. Connect it — connect_imported_account, then the same 2FA and passkey steps as below. If the saved password is stale, it becomes the manual sign-in step with the username filled in.

Enter manually:

  1. Pick a health system — an autocomplete dropdown over the full MyChart directory. Results appear only once you type (no default list); each shows the system's banner logo. A portal the directory lacks can be reached by typing its web address, which adds a "Use " row. Search test, springfield, or fake-mychart to find the Springfield General Hospital (test) entry, which points at the fake-mychart.fanpierlabs.com sandbox (Homer Simpson fake data, no real credentials needed — sign in with homer / donuts123).
  2. Sign in — the chosen system's logo sits above username + password fields. Submitting runs the real login scrapers via setup_account. Validation/login errors show inline beneath the button.
  3. Two-step verification — shown only if setup_account reports the portal requires a code; entering it calls complete_2fa.
  4. Set up a passkey? — shown after login only when the account has no passkey saved. It explains what a passkey changes (no password or code when the session expires), where the private key is stored (the server's live answer — keystore or the file fallback — not a promise), that it adds a credential to the MyChart account until removed, and that some portals refuse registration. Set up passkey calls register_passkey; Skip for now finishes without one, and the message handed back to the chat says which happened so Claude doesn't offer again.

After every account, either route lands on one list: the accounts connected so far, then Connect for another imported login (while any are left), Enter an account manually, and I'm done, which sends one message to the chat naming the connected accounts and how each passkey offer went.

A call that outruns Claude Desktop's timeout comes back parked (see pending-call.ts) — most likely the scan, waiting on the keychain prompt. The note carries the call's id as structuredContent.pending_call.id, and the widget waits it out with check_pending_call rather than showing the note.

The widget is a small React app in src/setup-widget/: flow.ts is the whole flow as a reducer (every tool result is interpreted there, and unit-tested), host.ts is the MCP Apps JSON-RPC bridge, and the .tsx files only render. scripts/bundle-setup-widget.ts bundles it with esbuild, and a tsup plugin inlines the result into dist/server.cjs as the virtual:setup-widget module, so the resource is still one self-contained HTML page.

Logos. MyChart's only per-instance brand asset is the wide banner logo

(media.epic.com, ~640×230), so the widget uses it everywhere — a

banner-shaped slot in the dropdown and a banner above the inputs on the

sign-in / 2FA steps. Square favicons aren't used: ~half of instances are

multi-tenant (many orgs share one host, e.g. 200+ on mychart.ochin.org) and

favicons are per-host, so they can't distinguish those orgs; most are also

just the generic Epic icon.

That host has to be named in the widget resource's _meta.ui.csp

(SETUP_UI_RESOURCE_META in src/ui.ts): the MCP Apps host builds the

sandbox CSP from that declaration and every directive defaults to 'none',

so an undeclared origin — data: included — renders as a broken image.

Tool-call fallback

Without the widget (Claude.ai web, other MCP clients), Claude walks through the same setup sequence using ordinary tool calls:

  1. `search_mycharts` — Claude asks you for your health system name (e.g. "uchealth", "mass general") and looks up the hostname. Searches Epic's live directory, falling back to the list bundled with this build when it can't reach it.
  2. `setup_account(hostname, username, password)` — Claude asks you for your credentials in chat, then logs in. Credentials are stored locally in ~/.openrecord-mcpb/ on your machine. Never sent to Anthropic.

Or skip typing a password entirely, if your browser already has one saved:

  • `import_browser_passwords` — scans this machine's browser password stores (Chrome, Arc, Brave, Edge, Firefox) for MyChart logins. Read-only; on macOS it raises the system keychain prompt, which is where you consent. Only accounts it can confirm are offered — a known Epic instance, or one whose login page it verified. No passwords are returned — each entry carries an opaque import_id, and the credential stays on your machine. A login saved in more than one browser is one entry, even when the browsers hold different passwords.
  • `connect_imported_account(import_id)` — connects the one you picked, using the password already in your browser (each saved password in turn, until MyChart accepts one). Same 2FA and passkey flow as setup_account.

Anything it cannot confirm is left out rather than guessed at — use setup_account for those, or run the import again later if a portal was temporarily unreachable. See read-local-passwords/README.md for what is read and how confirmation works.

  1. `complete_2fa(pending_id, code)` — if MyChart requires 2FA, Claude asks you for the 6-digit code.
  2. `register_passkey(account)` — recommended, and never automatic. Logging in changes nothing about how your account signs in; Claude offers you a passkey afterwards and registers one only if you say yes. With one, future logins skip the password and the 2FA prompt entirely. The private key is stored in your OS keystore (the Keychain on macOS — see Architecture) and never sent to Anthropic; the credential itself lives on your MyChart account until you remove it with delete_passkey or disconnect_account.

After setup, every data tool takes a required account parameter — the account id returned by list_accounts, username@hostname. Multiple accounts can be active at the same time — just pass a different account per call. That includes several logins on the *same* hostname (a household sharing one health system): each keeps its own credentials, passkey, and session. An id resolves only on a perfect hostname + username match; there is no hostname-only shorthand, so a call can never land on the wrong login.

The data tools are not listed anywhere in this package. They are generated from the shared capability registry (shared/capabilities/), which is also what the CLI and the mobile app derive their surfaces from — so this extension cannot quietly support less than they do. registerAllTools hand-writes only the five account-management tools above, which manage credentials on this machine and have no counterpart in the other clients.

What's my next appointment at uchealth?

Refill my lisinopril (use my mass general account).

Send a message to Dr. Smith asking about my latest blood pressure reading.

Show me my last imaging study.

Google Calendar sync (macOS)

connect_google_calendar puts every connected account's upcoming appointments on a Google calendar and keeps them there. The setup widget offers it after I'm done when the accounts have appointments to sync; otherwise ask Claude to "sync my appointments to Google Calendar".

  • Scope. The only Google scope requested is calendar.app.created: OpenRecord creates a "MyChart Appointments" calendar and can see and change only that one. It never reads the user's other calendars.
  • All TypeScript, one binary. src/google-calendar/worker.ts is compiled with bun build --compile --aot into openrecord-calendar, one binary per Mac architecture, using this extension's own scrapers, credential store and passkeys: tray (the menu-bar item), connect (loopback + PKCE consent in the browser), sync (one pass) and disconnect.
  • The menu-bar item (tray.ts) drives AppKit through bun:ffi (objc.ts). [NSApp run] owns the main thread, and menu clicks, timers and wake notifications call straight into JS, so the process sleeps in the run loop while idle (0% CPU, about 80 MB). A sync runs as a child process of the same binary, started with NSTask, and writes its outcome to the state file the menu reads. It syncs when 4 hours have passed since the last sync, checking every 15 minutes and 30 seconds after a wake (once Wi-Fi is back), because a timer's clock stops while the Mac sleeps. Its icon is the medical cross (cross.case; macOS has no hospital symbol). The menu lists the connected MyChart accounts and has Sync Now, Open Google Calendar and Turn Off Calendar Sync.
  • Signing in to MyChart. A sync signs in with machineLogin (resolveSessionWithoutUser), so it never makes MyChart send a 2FA code: nobody is there to type one. An account that has only a password and hits 2FA fails with a hint to save a passkey. See docs/login-modes.md.
  • When a sync fails, three tries, then stop. Any failure counts: a sign-in MyChart refuses, a network error, Google, or a run that crashed or hit the 10-minute timeout. A failure is retried at the next four-hour sync. The third failure in a row stops scheduled syncs, for that account or, when the failure came before any account (Google, a crash), entirely. Repeated rejected passwords can lock a MyChart account. Then macOS shows a notification, once per stop (posted with osascript, since UNUserNotificationCenter refuses a binary that isn't an app bundle), and the menu says why. Sync Now retries everything with the count reset to zero, and so does connecting again.
  • Install. The binaries are not in the .mcpb, which would be ~200 MB bigger. deploy.sh uploads them beside it as https://openrecord.fanpierlabs.com/calendar/openrecord-calendar-darwin- - . Content-addressed names make them immutable, so every released bundle keeps finding its own. What ships is applet/calendar-binaries.json, the SHA-256 per architecture. On first connect the tool downloads the matching binary and installs it at ~/.openrecord-mcpb/bin/openrecord-calendar only if the

只显示了开头部分;其余内容请在仓库中阅读