프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Pyunto Diary

제작자: utagoeinc버전 0.3.0i★ –i내 컴퓨터에서 실행
레지스트리 이름com.pyunto/diary

설치

개요

제작자가 쓴 설명(영어 원문)

Read, search and write your encrypted Pyunto diary from Claude. Decrypts only on your own machine.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: 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에서 열기

또는 설정을 직접 복사하기

프로젝트의 .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"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • PYUNTO_AGENT_NAME env
    Display name of this assistant's own Pyunto account, shown to the people in the diary
  • PYUNTO_EMAIL env
    Optional: sign in as a registered Pyunto account instead of creating the assistant's own
  • PYUNTO_PASSWORD 비밀 env
    Password for PYUNTO_EMAIL
  • PYUNTO_AGENT_DIR env
    Where the account's identity key, space keys and decrypted attachments are kept

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 도메인 pyunto.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

검색 및 AI 기억 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 7243개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 7243개 중 50%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 7243개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Pyunto Diary, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: PYUNTO_PASSWORD

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.3.0)은 38일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Context7, Codebase Memory, Exa

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Context7

제작자: upstash

Up-to-date docs for AI agents

컴퓨터 또는 클라우드★ 64,224MIT오늘 업데이트
설치

Codebase Memory

제작자: DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

내 컴퓨터에서 실행★ 48,148MIT20일 전 업데이트
설치

Exa

제작자: exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

클라우드에서 실행★ 5,213MIT지난달 업데이트
설치

제작자의 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:

ServiceThe persona does what a chatbot will not
🏋️ Strength coachDemands the numbers, remembers last week's, refuses to praise a skipped session
🗣️ Language tutorCorrects every message, keeps a running list of the learner's own mistakes, escalates difficulty
🏥 Clinic follow-upAsks the post-operative questions in order, every day, and flags the answers a nurse should see
🥗 NutritionistReads the meal photographs, keeps the week's running total, notices the pattern rather than the meal
📚 Study supervisorHolds a student to a revision schedule, asks what was actually covered, will not accept "I studied"
🔧 Property managerTenants report a problem in the same thread each time; the agent triages, asks for a photograph, and escalates
📐 Field inspectionAn engineer photographs a site; the agent records it against the job and asks for what is missing
📅 Sobriety or habit supportChecks 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. --history gives 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 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.
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 firstthe agentyou
Runs in the backgroundyes, continuouslyno, only when asked
Where the person talks to itthe Pyunto app, on their phoneClaude Code / Desktop
Who it is fora service and its usersone person and their own diary
Typical usea coach, a tutor, a desk that answerssearching 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

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기