mcpField
P
people-context

people-context

ローカル
github.com/JinyangWang27メモリ・ナレッジ59今日更新

people-context について

people-context は、ローカルファーストの MCP サーバー兼 CLI であり、AI エージェントに人物の身元、関係、合意事項、コミュニケーションの好みに関する永続的なコンテキストを提供します。データは 1 つの SQLite ファイルに保存され、通常のコマンドはネットワークにアクセスしません。

主な機能

  1. 01名前、ニックネーム、別名、アカウントをまたぐ説明可能な人物特定
  2. 02組織、役割、根拠付きの事実を含む関係グラフ
  3. 03人物ごとの対話サマリーとタイムライン
  4. 04関係の途絶や近日中の日付のレポート
  5. 05記録前に確認できるステージング式のインポート審査

活用シーン

  1. 01会議前に相手の背景とコミュニケーションの好みを確認する
  2. 02新しい合意事項を監査記録付きで残す
  3. 03しばらく連絡していない重要な関係者を見つける

MCP 対応

MCP サーバーとして、resolve_person や get_relationship_graph などの限定的なツールを MCP クライアントに公開し、stdio とループバック HTTP の両方で動作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"jinyangwang27-people-context": {
"command": "uvx",
"args": [
"people-context"
]
}
}
}
起動コマンドuvx people-context

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypipeople-context1.3.0

ツール

41

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
hintsanyいいえ
limitintegerいいえ
querystringはい

詳細

people-context

English | 簡体字中国語

エージェントはすでにコードベースを記憶しています。今度は、あなたの周りの人々も記憶できます。

people-context はローカルファーストの MCP サーバー兼 CLI で、AI エージェントに、あなたの身近な人々についての永続的な記憶を提供します。相手が誰なのか、どう知り合ったのか、最後に何に合意したのか、どのような話し方を好むのかを記憶します。お使いのマシン上の SQLite ファイルは 1 つだけです。アカウントもクラウドもネットワーク通信も必要ありません。

CI codecov OpenSSF Scorecard OpenSSF Best Practices PyPI PyPI downloads Python License

pctx のデモ:架空のデータセットを登録し、人物の一覧を表示して、概要を出力します

その理由

アシスタントに「レポートの遅延について、Priyaにはどのように切り出せばよいですか?」と尋ねても、何も答えられません。どのPriyaなのか、相手がパートナー組織の担当者であること、先週新しい期限に合意したこと、電話より短いメールを好むことを知らないからです。こうした情報は、あなたの頭の中や受信トレイ、エージェントが参照できないメモファイルに残っています。

people-context は、エージェントが限定的なツールを通じて問い合わせられるよう、情報を一か所にまとめます。

  • この人は誰ですか? 名前、ニックネーム、別名、ハンドルを対象に、根拠を説明できる名前解決を行います。Priyaが2人いる場合は、黙って推測するのではなく、一致理由とともに2人の候補を提示します。
  • どんな情報を把握していますか? 関係性、組織と役職、長期的に役立つ事実、簡潔なやり取りの要約、特性、リマインダー、人物ごとのタイムラインを扱います。それぞれ、リクエストに必要な範囲に限って開示します。
  • どのように話しかければよいですか? 記録された特性、過去の行き違い、未完了のフォローアップ、自分で書いた方針に基づき、コミュニケーションの指針を示します。
  • 誰との連絡が途絶えていますか? 保存済みの情報をもとに、関係が疎遠になっている相手や、近づいている日付を報告します。
  • データを安全に取り込むには? メール、mbox、vCard、カレンダー、LinkedIn、Outlook、WhatsApp のエクスポートを、確認できる候補として準備します。記録する内容はあなたが承認し、元のコンテンツは保存されません。

信頼を重視した設計です。書き込みは監査され、forget は実際にデータを削除します。機密レコードはプロンプトでは開けない、運用担当者専用のゲートで保護されます。また、通常のコマンドがネットワークにアクセスすることはありません。

デモ

パッケージに含まれる架空のデータセットを使えば、実データに触れることなく、人物の識別、グラフの探索、コンテキストの範囲制限をすぐに確認できます:

uvx --from people-context pctx demo --reset

デモでは、常に専用のデータベース {XDG_DATA_HOME or ~/.local/share}/people-context/demo.db に書き込みます。--db、PEOPLE_CONTEXT_DB、設定ファイルは無視され、--reset で置き換えられるのはこのファイルと、その -wal/-shm ファイルのみです。そのため、実データベースが読み取られたり変更されたりすることはありません。シード処理では、監査可能な架空の人物、ハンドル、所属、事実、やり取り、連結された関係グラフを書き込み、パスを指定したサーバーコマンドと、作成した ID を使う具体的なツール呼び出しを出力します:

Demo database: /home/you/.local/share/people-context/demo.db
Start MCP server: people-context-mcp --db /home/you/.local/share/people-context/demo.db
resolve_person {"query": "Amina Hassan"}
get_relationship_graph {"person_id": "<amina-id>", "depth": 2}
find_connection {"person_a": "<self-id>", "person_b": "<sofia-id>"}

人物 ID はシードごとに生成されるため、出力される値は上記のプレースホルダーとは異なります。出力されたサーバーコマンドを MCP クライアントで起動し、出力された呼び出しをそのまま実行してください。docs/cli.md を参照してください。

クイックスタート

Python 3.11 以降と uv が必要です。クライアントを選択してください。どのクライアントも手順は 1 つです。

Claude Code
claude plugin marketplace add JinyangWang27/people-context
claude plugin install people-context@people-context-plugins

Claude Code を再起動するか、/reload-plugins を実行してください。MCP サーバーに加えて、/people-context:who、/people-context:remember、/people-context:reminders を利用できます。詳細:docs/claude-code-plugin.md。

Claude Desktop

最新リリースから people-context.mcpb をダウンロードして開いてください。Claude Desktop は、独自の uv ランタイムを使って、指定されたリリースをインストールします。詳細:docs/desktop-and-editors.md。

Codex
codex plugin marketplace add JinyangWang27/people-context
codex plugin add people-context@people-context-plugins

新しい Codex セッションを開始してください。詳細:docs/codex-plugin.md。

Cursor、Windsurf、VS Code、または任意の MCP クライアント

クライアントの MCP 設定(.cursor/mcp.json、~/.codeium/windsurf/mcp_config.json、.vscode/mcp.json など)に stdio サーバーを追加してください:

{
  "mcpServers": {
    "people-context": {
      "command": "uvx",
      "args": ["--from", "people-context", "people-context"]
    }
  }
}

または、CLI に設定を書き込ませることもできます:uvx --from people-context pctx setup cursor(windsurf、vscode、claude-desktop も指定できます。プレビューするには --dry-run を追加してください)。VS Code では "type": "stdio" を含む servers キーを使います。エディターごとの設定例:docs/desktop-and-editors.md。

OpenClaw
openclaw plugins install clawhub:openclaw-plugin-people-context

ネイティブプラグインは、オプトイン方式のループバック HTTP サーバーと通信します。詳細:docs/openclaw-plugin.md。

CLI のみ
uv tool install people-context
pctx init        # seed your own record, optionally import a vCard, then connect a client
pctx --help

people-context と people-context-mcp はサーバーコマンド、pctx は人が操作する CLI です。

次に、エージェントで以下を試してください:

Amina は誰ですか?

Open City Lab の Amina は短いメールを好み、突然の電話を嫌がることを記録してください。

明日の Daniel との会議の前に、知っておくべきことは何ですか?

2 つ目の指示は、単一の remember ツール呼び出しです。名前を照合し、一致する人物がいない場合にのみ人物を作成し、所属と好みを 1 回の監査可能なトランザクションで記録します。曖昧な名前については、推測せず候補を返します。

エージェントを使わない場合は、pctx remember "Amina Hassan" "prefers short emails" --org "Open City Lab" と pctx brief "Amina Hassan" を実行してください。実例を使った 5 つのシナリオは、docs/use-cases にあります。

記憶することと、決してしないこと

記憶すること決してしないこと
名前、ニックネーム、別名、ハンドル名どこにも何もアップロードしません
正規化された拡張可能な語彙による関係性インポートしたメール、チャット、ファイルの生データを保存しません
組織、役職、期間を限定した所属センシティブな情報の開示や全件エクスポートをモデルに許可させません
根拠を伴う長期的な事実、観察事項、特性インポートしたデータやエージェントが抽出したデータを、ユーザーの確認なしに確定しません
簡潔なやり取りの要約と人物ごとのタイムライン個人情報を記録したり、forget の後にソフト削除したコピーを保持したりしません
リマインダー、フォローアップ、コミュニケーションに関する方針pctx reindex --semantic 以外でネットワークリクエストを実行しません

比較

people-contextアシスタントのメモリ(ChatGPT、Claude)メモリプラットフォーム(Mem0 など)
データの保存場所自分で所有する 1 つの SQLite ファイルベンダーアカウントベンダープラットフォーム、または独自のデプロイ環境
オフラインでの動作はいいいえセルフホストの場合のみ
人物を第一級のレコードとして扱うアイデンティティ、関係性、役職、グラフ、ガイダンスフリーテキストのメモフリーテキストまたはベクトルメモリ
一致の理由を説明理由付きの候補ランキング。曖昧さも提示いいえ類似度スコア
インポートの確認ゲートステージング、確認、確定該当なし自動抽出
削除1 回のトランザクションで完全削除と監査記録の編集ベンダーにリクエストAPI による削除
バックアップと移行pctx sync push / pull バンドル該当なしデプロイ環境による

日付と出典を記載し、ベンダーのドキュメントへのリンクを含むバージョンは、 docs/privacy-and-safety.md にあります。

セキュリティモデル

このプロジェクトは、起動したユーザーのファイルシステム権限でローカルの Python を実行します。通常の MCP 検出では、権限の高いセンシティブなコンテキストと全件エクスポートは除外されます。オペレーターの許可が必要なツールにはプロセス環境変数のフラグが必要です。モデルが引数を使ってこれらを有効にすることはできません。Vault のエクスポートは意図的に CLI 専用です。

データベースは、デフォルトでは平文の SQLite です。Unix 系システムでは新規作成時に 0600 が設定されるため、ほかのローカルアカウントから読み取ることはできません。これはアカウント間の境界であり、暗号化ではありません。そのため、フルディスク暗号化と併用するか、SQLCipher による保存時の暗号化を有効にしてください(uv sync --extra encrypted。キーは PEOPLE_CONTEXT_DB_KEY からのみ読み取られます)。データベースファイルの権限 と オプションの保存時暗号化 を参照してください。

さらに詳しく

  • ループバック HTTP:stdio を起動できないクライアント向けです。people-context-mcp --http --host 127.0.0.1 --port 8765 を実行します。 設計上、認証はなくローカル専用です。stdio の使用を推奨します。docs/cli.md を参照してください。
  • セマンティック検索:uv sync --extra semantic && pctx reindex --semantic を実行すると、固定された多言語対応の Model2Vec モデルが一度ダウンロードされます。サーバーの起動と検索はキャッシュのみで行われます。
  • Obsidian:pctx export-vault --output ~/PeopleVault を実行すると、決定論的で閲覧しやすい Vault が作成されます。また、読み取り専用の Obsidian プラグイン を使うと、ライブブリーフを表示できます。docs/obsidian-plugin.md を参照してください。
  • インポート:pctx import stage SOURCE PATH の後に review と commit を実行すると、メール、mbox、vCard、.ics、LinkedIn、Outlook、WhatsApp のエクスポートをインポートできます。エージェントも同じ方法で抽出した候補をステージングできます。docs/import.md を参照してください。
  • ローカルブラウザー:pctx browse --open を実行すると、ループバックのみでアクセスでき、トークンで保護されたページが提供されます。このページでは、人物の閲覧や、ステージングされたインポートバッチの確認、編集、コミットができます。docs/cli.md を参照してください。
  • グループ:pctx group でクラス、チーム、クラブ、世帯を記録し、pctx group shared A B で2人の関係を尋ねることができます。docs/shared-connections-examples.md を参照してください。
  • レポートとメンテナンス:pctx stale、pctx upcoming、pctx timeline、pctx doctor、pctx stats を使用します。
  • バックアップと2台目のデバイス:pctx sync push --output DIR と pctx sync pull --input PATH を使用します。
  • Docker:docker run --rm -i -v people-context-data:/data ghcr.io/jinyangwang27/people-context:latest を実行します。 利便性のためのイメージであり、サンドボックスではありません。docs/docker.md を参照してください。
  • データベースの場所:--db、次に PEOPLE_CONTEXT_DB、次に XDG 設定ファイル、最後に共有の ~/.pctx/people.db の順に使用されます。pctx db-path -v で確認できます。

すべてのコマンドのリファレンスは docs/cli.md にあります。MCP ツール一覧とレスポンスの仕様は docs/mcp-interface.md に、リリースをまたいで維持される仕様は docs/compatibility.md にあります。

アーキテクチャ

コードベースはポートとアダプターの設計に従っています。

adapters (SQLite, MCP, filesystem, imports, CLI)
        ↓ implement
ports (narrow Protocols)
        ↑ used by
app (use cases and policy)
        ↓ operates on
domain (entities and values)

依存関係は内側に向かいます。語彙の正規化とグラフの上限は app/domain にあり、再帰的な SQL とファイル書き込みはアダプターにあります。1つのコンポジションルートで stdio と HTTP の両方を構成します。docs/architecture.md を参照してください。

ドキュメント

ドキュメント内容
docs/architecture.mdレイヤー構成、依存関係のルール、エントリーポイントの接続
docs/data-model.mdスキーマ、マイグレーション、パースペクティブの display_type
docs/relationship-graph.md用語、正規化、パースペクティブ、トラバーサル、キュレーション
docs/identity-resolution.md解決の各段階、曖昧さ、音訳を保存済みエイリアスとして扱う理由
docs/communication-guidance.mdコミュニケーションのシグナルとコーチングのワークフロー
docs/vault-export.mdレイアウト、マーカーの安全性、決定性、機微情報
docs/mcp-interface.mdMCP ツールと安定したレスポンスの契約
docs/compatibility.mdMCP、DB、CLI、JSON でリリース間も安定している仕様
docs/cli.mdCLI コマンドと DB の解決
docs/import.mdインポート元、ステージング、レビュー、コミット
docs/design/sync.md同期の設計と提供済みのローカル基盤
docs/releasing.mdPyPI の信頼済みパブリッシング、Codecov、リリース手順
docs/mcp-registry.mdMCP Registry の名前空間、server.json、コミュニティディレクトリへの登録先一覧
docs/distribution-checklist.mdアカウント所有者向けガイド:Registry への公開、ディレクトリ、awesome リスト、Desktop ディレクトリ、Obsidian
docs/desktop-and-editors.mdネイティブ UV MCPB Desktop バンドルと Cursor/Windsurf/VS Code のスニペット
docs/docker.mdオプションの非 root stdio Docker イメージ、データボリューム、GHCR への公開
docs/claude-code-plugin.mdClaude Code のインストール、ランタイム、プライバシー、検証、公開
docs/codex-plugin.mdCodex のインストール、ランタイム、プライバシー、検証、公開
docs/openclaw-plugin.mdOpenClaw のインストール、ランタイム、プライバシー、検証、ClawHub への公開
docs/obsidian-plugin.mdObsidian の読み取り専用ペイン、サブプロセスの安全性、暗号化、リリースのミラーリング
docs/privacy-and-safety.md開示、監査、忘却、脅威モデル
docs/use-casesオンボーディング、会議準備、フォローアップ、移行、監査のためのシナリオ別レシピ
docs/evals.md評価ハーネス、固定タスク、採点ルール、日付付きの記録結果
コーチング、トランスクリプト、共通のつながりの例レビュー基準付きの架空のシナリオ例
docs/roadmap.md達成済みのマイルストーンと今後の候補

コントリビューション

Issue とプルリクエストを歓迎します。アーキテクチャのルール、検証コマンド、初めての貢献に適した Issue の一覧については、CONTRIBUTING.md をご覧ください。質問や成果の共有には Discussionsをご利用ください。

people-contextが役に立った場合は、スターを付けるとほかの人にも見つけてもらいやすくなります。

ライセンス

MIT。LICENSEをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。