Kaiser Permanente Northern California only

Your patient portal, directed by you.

OpenKP is a local MCP server that lets your AI assistant read and act on your Kaiser Permanente record using your own credentials, on your own Mac.

Claude Desktop
Why it exists

Kaiser shows the record. OpenKP helps you interrogate it.

Patient portals are built as filing cabinets. They show results, notes, messages, plans, and orders in separate drawers. OpenKP gives a patient an agentic interface over those same portal surfaces.

The framing is critical AI health literacy: patient-directed AI on data patients have a right to access, surfacing what institutional systems aren't built to make legible.

Trust boundary

Local-first by design.

You plain-language questions
MCP client Claude Desktop, Claude Code, Cursor, Zed, ...
OpenKP local Python subprocess
kp.org your web session

No OpenKP server

There isn't a hosted OpenKP service, shared database, or remote credential store.

Your credentials

Credentials live in your OS keychain or local environment, never in the repo.

Explicit writes

Write tools preview first and only commit when called with explicit confirmation.

What it makes possible

Questions a portal isn't designed to answer.

Which lab values have drifted in the last 18 months?
How many appointments did I have last year, split by virtual vs in-person?
Compare what my cardiologist and primary-care doctor each wrote over time.
Are there diagnoses on my problem list I don't recognize?
Tool surface

24 MCP tools, focused on real patient workflows.

Three housekeeping tools, nineteen read tools, and two write tools. Read paths are broadly live-verified. Write commit paths are still treated carefully.

Read

  • Profile, insurance, PCP, emergency contacts
  • Care team, specialists, implanted devices
  • Messages, message attachments, archival search
  • Lab results, imaging, PDFs, narratives
  • Medications, refill status, order tracking
  • Problems, allergies, appointments, past visits
  • Visit notes and after-visit summaries

Write

  • Preview and request a mail-order refill
  • Preview and send a non-urgent care-team message
  • Audit log records commit-path activity locally
  • Dry-run mode for smoke testing write flows
Install path

Built for technically curious KP NorCal members.

OpenKP is an MCP server. MCP, the Model Context Protocol, is an open standard for connecting AI clients to tools and data. At runtime, any MCP-capable client should be able to call OpenKP tools.

Claude Desktop and Claude Code are the tested clients today. Claude Code is also the recommended install assistant: open the cloned directory with Claude Code and ask it to walk you through the rest.

git clone https://github.com/hugooc/OpenKP.git

Setup still goes through a Python virtual environment, OS keychain credential storage, an MCP config block, and a one-time interactive Chromium login.

Runtime client: whichever MCP-capable assistant you prefer. Install assistant: Claude Code is the clearest path for non-developers who are comfortable following terminal instructions.

Works on Mac and Windows. Windows adds a couple of setup steps (Visual C++ runtime, a force-reinstall of one Python dependency). Notes in docs/install/windows.md.

Limits

OpenKP is a research tool, not a clinical product.

NorCal only

Kaiser regions differ. OpenKP is tested only against Kaiser Permanente Northern California.

Terms risk

Automated portal access may conflict with Kaiser's terms of use. Read the terms and judge for yourself.

Your assistant sees tool results

OpenKP is local, but your MCP client needs parsed record content to reason about your questions.

Endpoints can change

OpenKP depends on portal request shapes. It fails loudly when Kaiser changes them.

Own the interface to your own record.

Source-available. Noncommercial license (PolyForm NC 1.0.0). Local-first. A gift for patients who want to inspect, adapt, and direct their tools.

Get OpenKP on GitHub