Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Read and manage your Epic MyChart records: labs, meds, imaging, notes, messages, refills.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 2/3 통과 · 내 컴퓨터에서 실행돼요
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있지만 먼저 준비가 필요해요
키 필요 없음, 설치 필요 없음 · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
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는 웹에서 도는 서버만 연결할 수 있어요
Claude Code는 아직 OpenRecord — MyChart for Claude에 연결할 수 없어요
제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요
A · OpenRecord — MyChart for Claude에 연결되는 앱 쓰기
Cursor는 아직 OpenRecord — MyChart for Claude에 연결할 수 없어요
제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요
A · OpenRecord — MyChart for Claude에 연결되는 앱 쓰기
VS Code는 아직 OpenRecord — MyChart for Claude에 연결할 수 없어요
제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요
A · OpenRecord — MyChart for Claude에 연결되는 앱 쓰기
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 16일 점검
레지스트리 이름이 GitHub 계정 Fan-Pier-Labs 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
코드 마지막 변경: 3일 전
GitHub가 라이선스 종류를 알아내지 못했어요. 파일을 열어 확인하세요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 3일 전 변경됐고, 최신 버전(2.3.0)은 3일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 MCPB도 있어야 해요.
같은 카테고리에는: Puter MCP, XcodeBuildMCP, Anki MCP Server, Sosumi, Zapier
같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
MCP server for Anki flashcards: adaptive review, notes, media, and deck management via AnkiConnect.
Search and read Apple developer documentation, HIG, and WWDC transcripts as Markdown.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.
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).
After installing, open a new Claude chat and say:
Set up my MyChart.
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):
import_browser_passwords (and list_accounts, to mark logins already connected).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:
fake-mychart.fanpierlabs.com sandbox (Homer Simpson fake data, no real credentials needed — sign in with homer / donuts123).setup_account. Validation/login errors show inline beneath the button.setup_account reports the portal requires a code; entering it calls complete_2fa.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_METAinsrc/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.
Without the widget (Claude.ai web, other MCP clients), Claude walks through the same setup sequence using ordinary tool calls:
~/.openrecord-mcpb/ on your machine. Never sent to Anthropic.Or skip typing a password entirely, if your browser already has one saved:
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.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.
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.
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".
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.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.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.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.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..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