Pensyve について
Pensyve は、事実、会話、観察、アクションの結果を保存し、後のセッションで検索できるようにするオープンソースのランタイムです。Python、MCP サーバー、コマンドライン、REST API から利用できます。エージェントに長期メモリを持たせたい開発者を対象としています。
主な機能
- 01事実、エピソード、結果、観察の 4 種類のメモリ
- 02ローカル SQLite ストレージとローカル埋め込みモデル
- 03テキスト、埋め込み、エンティティ関係による検索
- 04Python、TypeScript、Go の SDK
- 05API キー不要のローカル MCP サーバー
- 06統合と保持期間の管理
活用シーン
- 01Python エージェントでセッションをまたいだユーザー設定を保持する
- 02Claude Code、Cursor、Codex からメモリツールを利用する
- 03HTTP ゲートウェイを通じて複数のクライアントでメモリストアを共有する
MCP 対応
Pensyve はローカルの stdio MCP サーバー(pensyve-mcp)と、ゲートウェイ上の MCP HTTP エンドポイントを提供し、Claude Code、Codex、Cursor などのクライアントに pensyve_remember、pensyve_recall、pensyve_observe、pensyve_inspect などのツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/major7apps/pensyve-mcp:5.0.0ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/major7apps/pensyve-mcp:5.0.0stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

Pensyve
Pensyve は、AI エージェントの永続的なメモリを実現するオープンソースのランタイムです。事実、会話、観察、アクションの結果を保存し、エージェントが後のセッションでそれらを取得できるようにします。Python、Model Context Protocol(MCP)サーバー、コマンドラインツール、または REST API を通じて利用できます。
Rust エンジンはローカルストレージに SQLite を使用し、埋め込みモデルをローカルで実行して意味に基づく検索を行います。TypeScript と Go のクライアントは、ユーザー自身が実行するゲートウェイに接続します。ローカルでの利用に Pensyve アカウントや API キーは必要ありません。アプリケーションまたはクライアント連携から Pensyve を呼び出して、メモリを保存および取得します。
セットアップを選ぶ
| ユースケース | ここから開始 |
|---|---|
| Python エージェントに永続的なメモリを追加する | Python のクイックスタート |
| Claude Code、Cursor、Codex にメモリツールへのアクセスを提供する | MCP サーバーとクライアントのセットアップガイド |
| TypeScript、Go、REST を通じてメモリストアを共有する | HTTP ゲートウェイ |
| LangChain または LangGraph アダプターを使う | Python 連携またはTypeScript 連携 |
プロジェクトの状況
Pensyve Cloud は 2026 年 10 月 1 日に終了しました。オープンソースプロジェクトは Apache 2.0 ライセンスのもと、このリポジトリで継続しており、エンジン、SDK、連携機能、ドキュメントを利用できます。
Pensyve はメンテナンスモードです。リリースではセキュリティ修正と依存関係の更新を扱い、新機能の追加は予定していません。貢献とサポートに関する方針については、メンテナンスポリシーをご覧ください。保存済みの Cloud エクスポートがある場合は、セルフホストガイドで、独自のゲートウェイで利用する方法を説明しています。
できること
- ユーザー、プロジェクト、その他の名前付きエンティティに関する事実を保存し、会話をエピソードとして記録します。
- テキスト照合、埋め込み、エンティティ間の関係を使ってメモリを検索します。
- 観察とアクションの結果を記録し、統合機能を使って繰り返し現れる事実を昇格させ、メモリの保持を更新します。
- データをローカルの SQLite ストレージに保持するか、SQLite または PostgreSQL を使って HTTP ゲートウェイを実行します。
埋め込みモデルは、すでにキャッシュされていない場合、初回読み込み時にダウンロードされることがあります。ネットワークに接続せずに実行するには、あらかじめモデルファイルを準備する必要があります。モデルのセットアップとデプロイガイドをご覧ください。
エージェントメモリの仕組み
Pensyve は言語モデルの外部にメモリを保存します。アプリケーションが事実や会話を保存し、関連するレコードを検索して、その結果を後のプロンプトに追加します。同じストレージパスと名前空間を再利用すると、エージェントはプロセスやセッションをまたいで情報を取得できます。メモリを保存しても、言語モデルの学習や重みの変更は行われません。
ストアには、事実(意味記憶)、会話(エピソード記憶)、アクションの結果(手続き記憶)、観察という 4 種類のレコードが格納されます。何をいつ記録し、取得するかは、連携機能によって決まります。会話を記録しても、それが成功した手順に自動的に変換されるわけではありません。API とその制限については、保存と取得の仕組みおよび使用例をご覧ください。
Python クイックスタート
Python 3.10 以降が必要です。
pip install pensyve
ローカルストアを作成し、事実を保存して取得します。
import pensyve
p = pensyve.Pensyve(path="./memories", namespace="my-agent")
user = p.entity("user", kind="user")
p.remember(
entity=user,
fact="Prefers dark mode and vim keybindings",
confidence=0.95,
)
for memory in p.recall("editor preferences", entity=user):
print(memory.content)
後のプロセスで保存したメモリを取得するには、同じパスと名前空間を再利用します。Python SDK はエンジンをプロセス内で実行するため、HTTP ゲートウェイは必要ありません。
同じ p と user を使って、会話を記録することもできます。
with p.episode(user) as episode:
episode.message("user", "Use dark mode in my editor")
episode.message("agent", "I updated the editor settings")
episode.outcome("success")
groups = p.recall_grouped("editor settings", limit=10)
for group in groups:
for memory in group.memories:
print(memory.content)
recall_grouped() は、エージェントのプロンプトで使用できるよう、結果をソースセッションごとにグループ化します。詳細は、Python SDK ガイドとレシピをご覧ください。
MCP サーバー
Pensyve のローカル MCP メモリサーバーを使うと、Claude Code、Codex、Cursor などのクライアントでセッションをまたいでメモリを保存、取得できます。このリポジトリをチェックアウトした状態で、Rust 1.94 以降を使ってサーバーをインストールします。
git clone https://github.com/major7apps/pensyve.git
cd pensyve
cargo install --path pensyve-mcp --locked
Cargo のバイナリディレクトリがクライアントの PATH に含まれていることを確認してから、MCP 設定に stdio サーバーのエントリを追加します。
{
"mcpServers": {
"pensyve": {
"command": "pensyve-mcp",
"args": ["--stdio"],
"env": {
"PENSYVE_NAMESPACE": "my-project"
}
}
}
}
サーバーは pensyve_remember、pensyve_recall、pensyve_observe、pensyve_inspect などのツールを提供します。データはローカルに保存され、API キーは必要ありません。設定ファイルの場所はクライアントによって異なります。MCP セットアップガイドとインテグレーションガイドをご覧ください。
HTTP ゲートウェイ
ゲートウェイを実行すると、TypeScript SDK や Go SDK からも、REST または MCP HTTP 経由で Pensyve にアクセスできます。リポジトリのルートからローカルインスタンスを起動します。
HOST=127.0.0.1 PENSYVE_API_KEYS=psy_local_example \
cargo run --release -p pensyve-mcp-gateway
別のターミナルで、事実を保存して取得します。
curl http://localhost:3000/v1/remember \
-H "Authorization: Bearer psy_local_example" \
-H "Content-Type: application/json" \
-d '{"entity":"user","fact":"Prefers Python","confidence":0.95}'
curl http://localhost:3000/v1/recall \
-H "Authorization: Bearer psy_local_example" \
-H "Content-Type: application/json" \
-d '{"query":"programming language","entity":"user"}'
MCP HTTP エンドポイントは http://localhost:3000/mcp です。クライアントの Authorization: Bearer ヘッダーには、同じ API キーを使用してください。
サンプルキーはローカルテスト用です。デプロイ時には、必須の psy_ プレフィックスを付けた独自のキーを選び、HTTPS と許可するホストを設定してください。セルフホストガイド、ゲートウェイ設定、セキュリティに関するドキュメントをご覧ください。
SDK とインテグレーション
TypeScript SDK と Go SDK の使用には、実行中のゲートウェイが必要です。ゲートウェイの URL と、認証が有効な場合はそのゲートウェイの API キーを設定してください。
| インターフェース | インストールまたはガイド |
|---|---|
| Python | pip install pensyve、SDK ガイド |
| TypeScript | npm install @pensyve/sdk、SDK ガイド |
| Go | go get github.com/major7apps/pensyve/pensyve-go/v5@latest、SDK ガイド |
| Claude Code | プラグインのセットアップ |
| Cursor | MCP のセットアップとルール |
| Codex | プラグインのセットアップ |
| LangChain と LangGraph | Python アダプター、TypeScript アダプター |
| その他のクライアントとフレームワーク | インテグレーション一覧 |
コマンドラインツール
リポジトリのルートから CLI をインストールして、コマンドを確認します。
cargo install --path pensyve-cli --locked
pensyve --help
pensyve status
pensyve recall "editor preferences" --entity user
バイナリ名は pensyve です。既定の出力は JSON で、--format text を指定するとテキスト出力になります。CLI は独自の既定のローカル保存先を使用し、Python の例にある ./memories ディレクトリを自動的に開くことはありません。ストレージと名前空間のオプションについては、CLI のソースとコマンド定義をご覧ください。
ドキュメント
| ガイド | 内容 |
|---|---|
| ドキュメントの目次 | セットアップ方法を選び、API ガイドを確認し、過去の計画を参照できます |
| はじめに | クライアントまたは SDK ごとのセットアップ |
| セルフホスティング | ゲートウェイのデプロイ、モデルファイル、バックアップ、保存済みの Cloud エクスポート |
| レシピ | リコール、ファクト、エピソード、観察事項などの API 使用例 |
| アーキテクチャ | ストレージ、検索、コンポーネントの境界 |
| セキュリティ | 認証、名前空間の分離、実行制限 |
| 信頼性 | テストとランタイムの保証 |
| 変更履歴 | リリース履歴と破壊的変更 |
開発と貢献
前提条件とセットアップについては、CONTRIBUTING.md から始めてください。 リポジトリのルートから実行します。
uv sync --extra dev
make build
make check
make build は Rust をコンパイルし、Python 拡張機能をビルドします。make check
は Rust と Python の lint およびテストコマンドを実行します。TypeScript と Go には
個別のチェックがあり、貢献ガイドに記載されています。
課題とプルリクエストは、メンテナンスポリシーに従ってください。 セキュリティ上の問題は、非公開の脆弱性報告から報告してください。
ライセンス
Pensyve は Apache 2.0 ライセンスの下で公開されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。