Pyunto Diary
概览
作者提供的说明(英文原文)
Read, search and write your encrypted Pyunto diary from Claude. Decrypts only on your own machine.
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 搜索与 AI 记忆
- 你需要填写:PYUNTO_PASSWORD
安装
选择你使用的 AI 应用,然后复制设置。
通过 3/3 项检查 · 在你的电脑上运行
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude,但需要先准备
需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
打开电脑版 Claude 应用的设置文件
SettingsDeveloperEdit Config
粘贴这些设置并保存文件
{ "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" } } } }只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
退出 Claude 再重新打开
试一试
用 Pyunto Diary 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude 说正在使用 Pyunto Diary,或回答中出现 Pyunto Diary 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
ChatGPT 暂时无法连接 Pyunto Diary
Pyunto Diary 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器
你可以改用这些方式
A · 使用能连接 Pyunto Diary 的应用
- 需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
- 需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次)
- 需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次)
- 需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次)
B · 搜索与 AI 记忆 类中能连接 ChatGPT 的其他服务器
从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
- Exa✓ ChatGPT
可连接 Claude Code,但需要先准备
需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次)
打开终端
Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell
粘贴这条命令并按 Enter
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 mcp按 Enter 前,把“your-value”改成你的密钥
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
在 Claude Code 中输入 /mcp
应能看到 Pyunto Diary 在列表中并显示已连接
试一试
用 Pyunto Diary 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude Code 说正在使用 Pyunto Diary,或回答中出现 Pyunto Diary 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Cursor,但需要先准备
需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次)
填写你的密钥
在 Pyunto Diary 的设置中,PYUNTO_AGENT_NAME, PYUNTO_EMAIL, PYUNTO_PASSWORD, PYUNTO_AGENT_DIR 还是空的,填入你的密钥并保存
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
在 Cursor 中以 Agent 模式打开 AI 聊天
试一试
用 Pyunto Diary 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Cursor 说正在使用 Pyunto Diary,或回答中出现 Pyunto Diary 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同
可连接 VS Code,但需要先准备
需要 Pyunto Diary 的密钥(在开发者网站注册,可能收费) · 需要先在电脑上安装 Python (uv)(只需一次)
填写你的密钥
在 Pyunto Diary 的设置中,PYUNTO_AGENT_NAME, PYUNTO_EMAIL, PYUNTO_PASSWORD, PYUNTO_AGENT_DIR 还是空的,填入你的密钥并保存
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
在 VS Code 中以 Agent 模式打开 AI 聊天
试一试
用 Pyunto Diary 告诉我你能帮我做什么,然后做一件给我看✓ 如果 VS Code 说正在使用 Pyunto Diary,或回答中出现 Pyunto Diary 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同
开发者专用:终端命令和 JSON 设置
安装在电脑上
Claude Code
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 mcpClaude Desktop (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"
}
}
}
}Cursor (~/.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"
}
}
}
}VS Code (mcp.json)
{
"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"
}
}
}
}需要你填写的值
PYUNTO_AGENT_NAMEenvDisplay name of this assistant's own Pyunto account, shown to the people in the diaryPYUNTO_EMAILenvOptional: sign in as a registered Pyunto account instead of creating the assistant's ownPYUNTO_PASSWORD机密 envPassword for PYUNTO_EMAILPYUNTO_AGENT_DIRenvWhere the account's identity key, space keys and decrypted attachments are kept
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
一览
哪些应用可以使用它
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
在你的电脑上运行,适用于
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月11日
- ✓ 通过
作者与仓库一致
注册名称已通过域名 pyunto.com 验证(注册中心会核实域名所有权)
- ✓ 通过
仍在维护
代码最后更新于43天前
- ✓ 通过
有许可证
使用 Apache-2.0
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
讨论
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
用户评价
还没有评价
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 5886 个服务器的 75%
- 发布到注册中心的时间比此分类中其他 5886 个服务器的 48% 更新
- 基础检查结果等于或优于此分类中其他 5886 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Pyunto Diary 安全吗?
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:PYUNTO_PASSWORD
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于43天前,最新版本(0.3.0)于43天前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
有什么可以替代它?
同一分类中有:Ruflo, Context7, Metabase
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
pyunto-agent
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.*
Two kinds of agent
The same package, the same account, the same keys. What differs is who starts the conversation.
1. Agent — it writes to your users
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.
- Hold them to the programme. If they skipped legs again, say so plainly.
- Always ask for the numbers: weight, sets, reps. A session without numbers is not logged.
- Compare against last week before you praise anything.
- No pep talk. One sentence of encouragement, only when it is earned.
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:
- The persona holds. It is a file you control, not a prompt the user can talk their way out of.
- It remembers.
--historygives every reply the recent thread, so "the same as last Tuesday" means something. - It is on their phone. A notification arrives; they reply in a messaging app they already have. No login, no tab, no app to learn.
- You see nothing. The diary is end-to-end encrypted and decrypted only in the process you run. That is a real claim to make to a client talking about their body, their health or their finances.
- One process, many clients. With no
--space,pyunto-agent runanswers every diary the account has been invited into, so onboarding a client is them scanning a QR code. Use--spaceto pin one agent to one client.
2. MCP — you ask Claude about a diary
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.
Which one?
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.
Quick start: a personal trainer your clients message
Building a real service, from nothing to a client's phone.
1. Install
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.
2. Write the trainer
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.
- Always ask for the numbers: exercise, weight, sets, reps. "I trained today" is not a log -- ask what they lifted.
- Compare against their recent sessions before responding. If the weight has not moved in three weeks, say so.
- If they skipped a session, ask what happened. Once. Then move on.
- No motivational speeches. One line of encouragement, only when the numbers earn it.
- Never give medical advice. Pain goes to a doctor, and say so plainly.
- Reply in the language they wrote in. Two to four sentences.
EOF
3. Make a QR code to hand out
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.
4. Start answering
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.
Just trying it yourself?
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.
Who it answers, and what members see
- In a diary with one person and the agent, it answers every entry.
- With three or more members (the agent counts), it answers only when it is mentioned by name, or when an entry is sent to everyone. An entry addressed to someone else does not wake it.
- An entry written by another agent or a robot is answered only when it names this agent (
@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. - A robo