Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Read, search and write your encrypted Pyunto diary from Claude. Decrypts only on your own machine.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
PYUNTO_AGENT_NAME, PYUNTO_EMAIL, PYUNTO_PASSWORD, PYUNTO_AGENT_DIRValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"diary": {
"command": "uvx",
"args": [
"pyunto-agent",
"mcp"
],
"env": {
"PYUNTO_AGENT_NAME": "your-value",
"PYUNTO_EMAIL": "your-value",
"PYUNTO_PASSWORD": "your-value",
"PYUNTO_AGENT_DIR": "your-value"
}
}
}
}Run this in your terminal
claude mcp add diary --env PYUNTO_AGENT_NAME=your-value --env PYUNTO_EMAIL=your-value --env PYUNTO_PASSWORD=your-value --env PYUNTO_AGENT_DIR=your-value -- uvx pyunto-agent mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"diary": {
"command": "uvx",
"args": [
"pyunto-agent",
"mcp"
],
"env": {
"PYUNTO_AGENT_NAME": "your-value",
"PYUNTO_EMAIL": "your-value",
"PYUNTO_PASSWORD": "your-value",
"PYUNTO_AGENT_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"diary": {
"type": "stdio",
"command": "uvx",
"args": [
"pyunto-agent",
"mcp"
],
"env": {
"PYUNTO_AGENT_NAME": "your-value",
"PYUNTO_EMAIL": "your-value",
"PYUNTO_PASSWORD": "your-value",
"PYUNTO_AGENT_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
PYUNTO_AGENT_NAME envPYUNTO_EMAIL envPYUNTO_AGENT_DIR envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain pyunto.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: PYUNTO_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 38 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Make an external agent the partner of a Pyunto exchange diary. The agent is an ordinary member: its own Pyunto account, its own X25519 identity key, invited with the normal invite link. The server is unchanged and never sees plaintext; decryption happens in this process.
Pyunto for iPhone and iPad · Pyunto for Android · pyunto-robotics — the same idea, with a robot at the other end (watch it, 100 s)
*A real run with Claude Code as the model: a strength-coach persona in a Markdown file, and a client logging sessions from their phone. The second reply compares with the day before. Watch the full 90-second video.*
The same package, the same account, the same keys. What differs is who starts the conversation.
You write; it replies, unprompted, in the same thread.
your phone your computer
┌───────────────┐ ┌──────────────────────┐ │ Pyunto app │ │ pyunto-agent run │ │ │ │ │ │ "tough day │ ───────▶ │ reads the entry │ │ at work" │ encrypted │ decrypts it HERE │ │ │ │ │ │ │ │ │ ▼ │ │ "that sounds │ ◀─────── │ Claude API, or │ │ exhausting" │ encrypted │ Claude Code, or │ └───────────────┘ │ your own HTTP URL │ └──────────────────────┘ │ │ └──────── api.pyunto.com ──────┘ (ciphertext only, never plaintext)
How you invite it: run pyunto-agent pair, scan the QR code with the app, choose a diary. The agent starts answering as soon as you approve.
What it is for: running a service that reaches people where they already are.
A general-purpose chatbot is a website somebody has to remember to visit, in a tab with no memory of them. This is a named contact in a messaging app on their phone, who has read everything they wrote before, and who answers in character because you wrote the character.
That character is a file. --persona coach.md is the whole difference between a polite assistant and a service worth paying for:
You are a strength coach. Your client logs every session here.
pyunto-agent run --backend claude-api --persona coach.md
Some shapes this takes:
| Service | The persona does what a chatbot will not |
|---|---|
| 🏋️ Strength coach | Demands the numbers, remembers last week's, refuses to praise a skipped session |
| 🗣️ Language tutor | Corrects every message, keeps a running list of the learner's own mistakes, escalates difficulty |
| 🏥 Clinic follow-up | Asks the post-operative questions in order, every day, and flags the answers a nurse should see |
| 🥗 Nutritionist | Reads the meal photographs, keeps the week's running total, notices the pattern rather than the meal |
| 📚 Study supervisor | Holds a student to a revision schedule, asks what was actually covered, will not accept "I studied" |
| 🔧 Property manager | Tenants report a problem in the same thread each time; the agent triages, asks for a photograph, and escalates |
| 📐 Field inspection | An engineer photographs a site; the agent records it against the job and asks for what is missing |
| 📅 Sobriety or habit support | Checks in at the hour that matters, keeps the streak, responds to a relapse the way you told it to |
What makes these work here rather than in a chat window:
--history gives every reply the recent thread, so "the same as last Tuesday" means something.--space, pyunto-agent run answers every diary the account has been invited into, so onboarding a client is them scanning a QR code. Use --space to pin one agent to one client.Nothing runs in the background. Claude Code or Claude Desktop reaches into the diary when you ask it to.
your computer
┌────────────────────────┐ │ Claude Code / Desktop │ │ │ │ ┌──────────────────┐ │ ▼ │ │ your phone │ │ "what did I write │ │ Pyunto app │ │ about the garden?" │ │ │ │ │ │ │ the same diary, │ │ ▼ │ │ read and written│ │ ┌──────────────────┐ │ │ from either end │ │ │ pyunto-agent mcp │──┼──────▶ │ │ │ │ read_thread │ │encrypt │ │ │ │ post_entry │ │ └──────────────────┘ │ │ ...12 tools │ │ │ └──────────────────┘ │ └────────────────────────┘
How you invite it: add the server to your MCP client (below), then ask Claude to pair: the pair tool shows a QR code to scan in the Pyunto app. No terminal step is needed.
claude mcp add pyunto-diary -- uvx pyunto-agent mcp
What it is for: using your diary as memory. Searching months of entries, summarising a week, writing an entry from the desktop, letting Claude check what you recorded before it answers. You start every exchange; it never speaks unasked.
Agent (run) | MCP (mcp) | |
|---|---|---|
| Who speaks first | the agent | you |
| Runs in the background | yes, continuously | no, only when asked |
| Where the person talks to it | the Pyunto app, on their phone | Claude Code / Desktop |
| Who it is for | a service and its users | one person and their own diary |
| Typical use | a coach, a tutor, a desk that answers | searching and summarising your entries |
Both can be paired into the same diary at once — they are the same account, and nothing stops run answering on your phone while mcp reads the same entries from your desk.
A third kind lives elsewhere. pyunto-robotics puts a robot at the other end instead of a language model: you write "go and find some sunlight" and a simulated — or real — machine does it and reports back with photographs. It is built on this package, and pairs the same way.
Building a real service, from nothing to a client's phone.
Python 3.11 or newer. Install into a virtual environment: Homebrew's Python refuses a global pip install (externally-managed-environment).
python3.12 -m venv ~/pyunto-env
source ~/pyunto-env/bin/activate pip install 'pyunto-agent[qr]'
Then choose where replies come from:
export ANTHROPIC_API_KEY=sk-ant-... # the Claude API (used below), or
claude --version # Claude Code, if installed: no API key needed
With Claude Code, replace --backend claude-api below with --backend command --command 'claude -p --output-format json'. If neither is set up, pair and run say so and list the options before showing a QR code.
This file is the service. Everything the trainer is — strict or gentle, what it insists on, what it refuses to let slide — is here, and your clients cannot talk it out of any of it.
cat > trainer.md <<'EOF'
You are a strength coach. Each client logs their sessions in this diary.
EOF
pyunto-agent pair --operator "Sano Fitness" --image trainer-qr.png
Written to trainer-qr.png — send this to whoever should be able to reach the
agent. Each person who scans it lets 🤖 Claude into their own diary; the code names the account asking and nothing else.
Put that image on your booking page, in the welcome email, or printed on a card at the desk. It is not a secret and it does not expire: the same image works for every client. Scanning it only lets them *ask* — each client approves it into their own diary, on their own phone, and sees who is running it before they do.
Use .svg instead of .png for print, or when Pillow is not installed.
pyunto-agent run --backend claude-api --persona trainer.md
It starts by naming every diary it answers in, so you can see which ones you were let into:
Answering in 2 diaries:
Sano Fitness - Aiko [2 members, answers every entry] 1552f3dc Sano Fitness - Ken [2 members, answers every entry] 3124f1b8 (cannot read it yet: open this space in the Pyunto app once)
One process serves every client who has scanned the code. A client writes:
Bench 80kg 5x5, felt heavy on the last set
and the trainer replies in their diary, having read what they lifted last week — as a notification on their phone, in an app they already have.
Each client's diary is separate and end-to-end encrypted. Decryption happens only in the process you are running; Pyunto's servers never see any of it.
Skip the persona and pair without an image — the QR code appears in the terminal, and the agent starts answering as soon as you scan it:
pyunto-agent pair --operator "your name" # with ANTHROPIC_API_KEY set
pyunto-agent pair --operator "your name" \ --backend command --command 'claude -p --output-format json' # or with Claude Code
Then open that space in the app once (that hands the agent the key) and write an entry.
@Claude). A robot's reports and another agent's check-ins are not replied to, so two programs in one diary never talk over the people in it or to each other in a loop.Only the beginning is shown; read the rest in the repo