PMB AI
概要
作者による説明(英語の原文)
Local-first persistent memory for AI coding agents.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi2項目中2項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況i初期↓ 120/週 · ★ 283
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 開発者ツール
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:2項目中2項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- レジストリには、入力が必要なキーは載っていません。
必要なもの
- PyPIPythonのuvのインストール(uvxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"pmb-ai": {
"command": "uvx",
"args": [
"pmb-ai"
]
}
}
}ターミナルでこれを実行します
claude mcp add pmb-ai -- uvx pmb-aiまたは、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"pmb-ai": {
"command": "uvx",
"args": [
"pmb-ai"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"pmb-ai": {
"type": "stdio",
"command": "uvx",
"args": [
"pmb-ai"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月10日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント oleksiijko で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:2 か月前
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
開発者ツールのほかのサーバーとの比較i
- このカテゴリのほかの5720件のうち98%よりスターが多い
- このカテゴリのほかの5720件のうち19%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5720件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
PMB AIは安全ですか?
当てはまる基本チェック2項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は2 か月前、最新バージョン(1.1.0)がレジストリに届いたのは5 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
代わりに使えるものは?
同じカテゴリには:REA, Netdata, Front-End Checklist
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Front-End Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
PMB
Local-first memory for your AI coding agent.
SQLite is the source of truth. No cloud, no API keys, no re-explaining.
*Local-first memory, visualized. 3,800+ entities and 41,000+ connections, captured automatically as you work.*
Website · Docs · Quickstart · Demo · Why PMB · How it works · FAQ
Your AI agent forgets everything between sessions. So you re-explain the same decisions, lessons and constraints over and over. PMB remembers them in one local workspace and feeds them back through MCP - no cloud, no API keys, no LLM call on the read path. And it tells you when memory is actually helping, instead of claiming "+X%".
⭐ Star the repo if PMB saves you a re-explanation.
PMB gives Claude Code, Cursor, Codex and the other MCP-aware agents a real memory: decisions you made last week, lessons you taught them, personal facts, project structure, PDFs. They survive every restart, every model upgrade, every agent switch - because they live in a local workspace you own, with SQLite as the durable source of truth and rebuildable search indexes beside it.
No API keys. No subscription. No LLM call on the read path. Just local files.
Quickstart
pip install pmb-ai # 1. install
pmb setup # 2. detect your agent + wire the MCP entry pmb warmup # 3. preload the model (first recall is instant)
4. restart your agent, then just talk to it - memory is automatic
pmb stats # 5. see what's stored pmb recall "auth decision" # 6. search memory from the terminal pmb doctor # 7. confirm everything is wired
That's it - your agent now remembers. No account, no keys, nothing leaves your machine.
Command name: the CLI is `pmb`. Via
pipyou also get the alias
`pmb-ai`; via
npm(npx pmb-ai setup) the command ispmb-aiand it
installs the Python package first, then runs setup. Same tool - use whichever
your install gave you.
Links: pmbai.dev (site) ·
docs.pmbai.dev (docs) ·
Demo
*What it feels like - same prompt, with and without memory:*
▶ Click to play the 2-minute setup
You: fix that LoadGuard pricing bug we hit last Tuesday
Agent: prepare(message="fix LoadGuard pricing bug") ↓ (6 ms) → project_context: 12 events about LoadGuard, 4 lessons (incl. "never lower NEGOTIATE/SKIP under 25%"), 3 decisions, 2 open goals → active_arcs: "LoadGuard verdict-policy refactor (started Tue)" → lessons: 1 directly matches "pricing" → recent_activity: 8 commits this week
Looking at src/engine/verdict-policy.ts (you opened it Tuesday 14:32, last changed Wednesday). The pricing bug is on line 142 where the bundle fallback tightened below the rate-floor. Per the lesson you saved, we never drop the threshold under 25% - restoring the guard there.
The agent didn't ask. It didn't guess. It read its memory in 6 ms and showed up already informed.
Why PMB
- Local-first, zero-config. SQLite holds the durable memory; rebuildable search indexes stay local. No account, API keys, telemetry, or cloud to trust.
- It actually gets used. On Claude Code / Codex, hooks inject the right memory *before* the model thinks - you never have to remember to call a tool.
- Multilingual, no setup. The embedder covers 50+ languages; a Russian query finds an English fact. No per-language config.
- MCP-native. One
pmb connectwires Claude Code, Cursor, Codex, Windsurf, Zed, VS Code, and more. - Fast read path. Recall in ~35 ms warm; writes return in under a millisecond - no LLM call to remember.
- Honest impact. The dashboard shows which lessons actually changed outcomes, instead of claiming "+X%".
- Your data, in the open.
pmb exportdumps everything to Markdown/JSON. Apache 2.0.
See your memory
pmb dashboard opens a local, liquid-glass web UI on http://127.0.0.1:8765 over everything PMB captured - written automatically, just by working. It binds to 127.0.0.1 only, so nothing leaves your machine.
*Map - every entity and connection in your project, as a live graph.*
*Timeline - your memory as a journal, newest first.*
Nine tabs: Map (entity graph, live), Timeline (git-graph by project), Overview, Entities, Arcs (narrative threads), Lessons (per-rule follow-rate, dead-lesson detection), Duplicates (inline merge), Performance (per-tool latency), Recall (debug ranker).
Verified local backups
pmb snapshot create --note "before maintenance"
pmb snapshot list pmb snapshot verify
Stop PMB servers, agent connections, and dashboards before restoring.
pmb snapshot restore
Snapshots use SQLite online backup to include committed WAL data and record file checksums. Restore checks the snapshot before changing memory and saves a verified copy of the previous state. Use pmb snapshot list --json in scripts. See backup and recovery for scope and limitations.
What you can store
# Personal facts that change (time-travel: old values archived, never lost)
record_keyed_fact("user", "city", "Warsaw")
Project structure - symbols, imports, .gitignore-aware
pmb index project .
Why each file exists + the intent behind every commit (Haiku-summarised, local)
pmb track modules # one-line purpose per indexed file pmb track changes # new commits: what changed and WHY
PDFs (research papers, manuals, contracts)
pmb index pdf paper.pdf pmb index pdf ~/docs --recurse
Whatever your agent logs as it works: decisions, lessons, completed tasks, goals
PMB is content-agnostic. If it's text the agent will care about later, PMB remembers and retrieves it.
What the agent gets back
A single MCP call - prepare(message) - returns the right things at the right level of detail, in 4-16 ms:
| Field | What it is |
|---|---|
project_context | Full project overview if the message mentions a project: key facts, lessons (RULES to follow), decisions, open goals, related entities, the project's narrative arc |
lessons | Procedural rules matching the query, each with a surface_id so the agent can confirm it followed the rule later |
recent_activity | Last 24 h of decisions / edits / completions for session continuity |
open_goals | In-progress goals so the agent knows what you're pursuing |
active_arcs | Narrative arcs the project is currently living in |
For everything else there's recall(query) (hybrid search, 35 ms warm) and 27 other tools in docs/reference/COMMANDS.md.
How it works
flowchart LR
A[Your agent] -->|MCP stdio| B[PMB MCP server] B --> C[Engine] C -->|read 35 ms| R[Hybrid recall BM25 + vector + graph + rerank] C -->|write under 1 ms| W[Async embed queue SQLite first, vectors later] R --> D[(SQLite)] R --> E[(LanceDB)] W --> D W --> E style A fill:#dbeafe,color:#1e3a8a style B fill:#ede9fe,color:#5b21b6 style C fill:#dcfce7,color:#14532d
- Storage - every durable event lives in SQLite, the source of truth. Rebuildable vector indexes live in LanceDB beside it. The whole workspace stays on your disk and can be copied or exported anytime.
- Recall - BM25 (lexical) + dense vector (semantic) + entity graph + optional cross-encoder rerank, fused via Reciprocal-Rank-Fusion.
- Writes - async. The MCP tool returns in under a millisecond; the embed + LanceDB insert happen on a background thread.
- Dedup - four layers: exact text match -> cosine >= 0.92 auto-merge -> cosine 0.80-0.92 borderline (LLM verify later) -> manual review in the dashboard. Old values are archived, never deleted; full history via
keyed_fact_as_of(t). - Multilingual - no language packs. The default embedder (
paraphrase-multilingual-MiniLM-L12-v2) covers 50+ languages, so *где я живу* finds a keyed-fact stored as *user.city = Warsaw*. Intent detection rides English semantic anchors that transfer cross-lingually, and the cold lexical path self-compiles from your own traffic. Recall stays strong across ~11 languages (top-3 ~= 0.9 on a 101-query eval; top-1 = 1.00 for en/fr/pt/ru). See docs/contributing/adding-a-language.md.
Install
The Quickstart above is all most people need. Other ways:
# From source
git clone https://github.com/oleksiijko/pmb.git && cd pmb python -m venv .venv && source .venv/bin/activate pip install -e . pmb warmup # prime the ~450 MB embedder once
Wire one or more agents (all stdio - the server runs as a child of your agent; no network, no port, no token):
pmb connect claude-code # also: codex · cursor · windsurf · gemini · vscode · zed · opencode · continue
Point several agents at one memory:
pmb connect claude-code --workspace personal
pmb connect cursor --workspace personal # both read/write the same workspace
Sharing one memory across machines or a team? That's an optional HTTP mode
with bearer-token auth - see docs/guide/TEAM.md. Not needed for local use.
Running the tests? Use the venv's Python:
.venv/bin/python -m pytest
(or
.venv\Scripts\python.exe -m pyteston Windows). Barepytestoutside
the venv just reports missing
numpy/fastmcp/typer.