Pyunto Diary
概要
作者による説明(英語の原文)
Read, search and write your encrypted Pyunto diary from Claude. Decrypts only on your own machine.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい↓ 35/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 検索・AIの記憶
- 入力が必要なもの:PYUNTO_PASSWORD
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
PYUNTO_AGENT_NAME,PYUNTO_EMAIL,PYUNTO_PASSWORD,PYUNTO_AGENT_DIR
「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
- PyPIPythonのuvのインストール(uvxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、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"
}
}
}
}ターミナルでこれを実行します
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動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
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 own- Password for PYUNTO_EMAIL
PYUNTO_AGENT_DIRenvWhere the account's identity key, space keys and decrypted attachments are kept
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名はドメイン pyunto.com で確認済みです(レジストリがドメインの所有を確認しています)
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5751件のうち0%よりスターが多い
- このカテゴリのほかの5751件のうち50%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5751件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Pyunto Diaryは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:PYUNTO_PASSWORD
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.3.0)がレジストリに届いたのは41 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者の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
冒頭だけを表示しています。続きはリポジトリで読めます