open format

Accept a USRKey.

Your users already carry their context — who they are, how they work, what they're focused on. It's a handful of plain markdown files they control, the same convention as CLAUDE.md or AGENTS.md — just written for the human instead of about a codebase. Here's how to read them.

01The format

No bespoke schema. Six files, each optional, each just markdown — matching usrkey-template exactly. If a page doesn't exist, the user chose not to write it — don't invent it, don't ask them to "complete" it.

identity.mdWho they are — name, role, how to introduce them.
stack.mdTheir tools, environment, and how they like to work.
now.mdWhat's true this week — current focus, what they want off their plate.
history.mdDurable facts worth keeping — decisions, milestones. Rare.
boundaries.mdHow to treat them. Never auto-shared; read only when explicitly granted.
agents.mdThe grants ledger — which tool may read which pages. Auto-generated by whatever writes the key; read it to learn your scope, never edit it.
# ~/.usrkey/identity.md

# identity

## One paragraph

Frank — runs a woodworking business in Ohio

Canonical location: ~/.usrkey/ (override the folder with $USRKEY_DIR). A page is just a file with that name in that folder — nothing more to parse.

02Three ways to read it

a
MCP — for AI apps and agents

One tool call and your agent knows the user. The connector exposes get_my_context (every page, concatenated) plus one resource per page — usrkey://identity, usrkey://now, etc. Never phones home.

$ npm i -g https://usrkey.dev/usrkey-connector-0.2.0.tgz

// then in your MCP config:
{ "mcpServers": { "usrkey": { "command": "usrkey-connector" } } }

MIT, three files, ~3 kB. "Never phones home" shouldn't be taken on faith — the tarball is the entire source; read it before you install it.

b
Read the files — for anything local

They're plain text at a known path. Read whichever pages exist, show the user what you read, and let them point you at a different folder with $USRKEY_DIR.

c
Accept a paste — for everything else

Users can copy a scoped bundle as text from usrkey.com. If your product has a text box, it already supports USRKey.

03End to end: from two files to a briefed agent

The whole integration, concretely. A user has two pages in ~/.usrkey/ (identity.md + now.md). One line added to Claude Desktop's config wires them in:

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    // ← everything you had before stays as-is; add one entry:
    "usrkey": { "command": "usrkey-connector" }
  }
}

Restart the app. From then on, what follows is verbatim — not a mockup:

// your agent calls the MCP tool:
{ "method": "tools/call", "params": { "name": "get_my_context" } }

// and receives, in full:
Context the user chose to share about themselves. Use it to work
with them as they are — don't re-ask what's already here.

# identity

## One paragraph

Frank — runs a woodworking business in Ohio. Wants tools to write
in plain, direct language.

---
# now

## Current focus

Launching the new product line this month.

That's the whole contract: a preamble telling the model how to treat it, then each granted page verbatim, separated by ---. No stack.md here — Frank didn't write one, and rule three below says treat that as his choice. Want one page instead of all of them? Read the per-page resource (usrkey://now) and skip the rest.

04The rules

user-ownedThe pages live with the user — their disk, their browser. You read them; you don't keep them, sync them, or train on them.
plaintextA user can open any page in any text editor and see exactly what tools see. No derived profiles, no hidden fields.
consent-scopedA missing page is a choice, not a gap. Never infer, backfill, or ask the user to "complete" it.
no gatekeeperThe format is open. No account, no API key, no registration — ours or anyone's — sits between you and a user's pages.

05Validate a page

Paste one page below to check it against the format above — no upload, this runs in your browser only.

Examples — click to load one:

06Who accepts a USRKey

Everything listed here is real and verifiable today — no logos of tools that merely could work. A format lives on visible adopters; this list is meant to grow.

USRKey extensionOne-click attach on ChatGPT, Claude, Gemini, Perplexity, and Copilot. Chrome Web Store.
usrkey-connectorMCP server — brings the pages to Claude Desktop, Cursor, Cline, Continue, and any other MCP-aware client. Source.
usrkey.comThe consumer writer — four questions in, six files out. Make a key.
usrkey-templateThe CC0 blank set — fill it in with any text editor, no app involved. GitHub.
USRCP vaultThe reference encrypted-vault implementation for the strictest tier of the guarantees. GitHub.

Built something that reads the six files and follows the rules above? Get listed — the only criteria are that it's public and the claim is verifiable.