mcpField
S
Stashpad

Stashpad

ローカル
github.comメモリ・ナレッジ01 週間前に更新

Stashpad について

Stashpadは、AIコーディングエージェント向けのローカルメモリーMCPサーバー兼コマンドラインツールです。出典付きのMarkdownノートを人が確認でき、モデルやクラウドを使わずに検索やセッション引き継ぎを行えます。

主な機能

  1. 01プロジェクト単位のMarkdownメモリーファイル
  2. 02エージェントによる書き込みのレビューキュー
  3. 03単語と同義語による検索
  4. 04セッション概要、ピン留め、引き継ぎ
  5. 05ローカルレビュー画面と監査ログ

活用シーン

  1. 01コーディングセッション間でプロジェクトの決定を保持
  2. 02エージェントが提案したメモリーの確認と承認
  3. 03コーディング依頼に関連するノートの検索
  4. 04コンテキスト圧縮時のセッション情報の引き継ぎ

MCP 対応

StashpadはMCPクライアントに8つのツールを提供し、メモリーの検索、読み取り、保存、管理のほか、引き継ぎとフィードバックを扱います。MCPを使わずコマンドラインだけでも利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"laaielichter-stashpad": {
"command": "npx",
"args": [
"-y",
"stashpad"
],
"env": {
"STASHPAD_DIR": "<STASHPAD_DIR>",
"STASHPAD_PASSPHRASE": "<STASHPAD_PASSPHRASE>"
}
}
}
}
起動コマンドnpx -y stashpad
設定が必要な環境変数
STASHPAD_DIRFolder where the memories live (default: ./.stashpad/memories in the working folder)
STASHPAD_PASSPHRASEシークレットOnly for a store encrypted with 'stashpad encrypt'

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

パッケージ
npmstashpad0.2.2

ツール

8

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

パラメーター型必須説明
kindenumいいえこの種類のみを対象にします。fact | preference | decision | task
as_ofstringいいえ日付 YYYY-MM-DD:その日に有効だった内容を検索します。
limitintegerいいえ返す結果の最大数(デフォルトは 10)。
querystringはい検索する語句。例:'database choice'。

詳細

Stashpad

あらゆる AI コーディングエージェントのためのローカルメモリ:出典、レビューキュー、検索機能を備えたプレーンな Markdown ノートを管理する MCP サーバーと CLI です。

CI npm MIT ライセンス

ターミナルでの Stashpad:ユーザーが決定事項を保存してピン留めし、エージェントのノートがレビュー待ちになり、リコールでリクエストに関連する両方の項目が見つかり、ブリーフで圧縮後にピン留めしたルールが再び表示されます

Claude Code、Codex、Cursor、VS Code、Gemini CLI など、あらゆる MCP クライアントで使えます。または MCP なしでも使えます(通常のコマンドと AGENTS.md ブロックを使用)。モデルも、クラウドも、依存関係も不要です。Node 20 以降が必要です。

クイックスタート

npm install -g stashpad
stashpad setup                  # prints the MCP settings for your agent app (generic, claude-code, vscode, codex)
stashpad doctor --client        # starts the server the way your agent app does and checks it answers

次のように表示されます:client start: the server answered with 8 tools in ... ms および Nothing is broken.

Claude Code ユーザーはプラグインをインストールすることもできます。以下のフックも追加されます:/plugin marketplace add laaielichter/stashpad、続いて /plugin install stashpad@stashpad(またはReversePort マーケットプレイスから stashpad@reverseport)。

Stashpad を使う理由

  • 圧縮後もエージェントが忘れなくなります。 ピン留めしたルールと最新の引き継ぎ内容が、すべてのセッション開始時と /compact の直後に再び表示されます。
  • 設定したルールがエージェントの前に表示され続けます。 stashpad pin は、すべてのブリーフに重要なルールをいくつか保持します。各プロンプトには、明確に一致するメモリだけが表示されます。
  • 知らないうちにメモリに追加されることはありません。 エージェント、ツール、ウェブからのノートは人による確認を待ちます。ほぼ同じ内容、秘密情報、隠しテキストは拒否されます。
  • 内容を読んで修正し、保持できます。 メモリは出典と日付を含む Markdown ファイルで、プロジェクト内に保存されます。必要なら git で管理できます。古い事実は上書きせず、終了扱いにします。
  • 動作し続けます。 プロジェクトごとにストアは 1 つ(ワークツリー間で共有)、並列書き込み用のロック、変更前のスナップショット、修正点を示す doctor を備えています。

比較

Stashpadmem0(オープンソース)MCP リファレンスメモリサーバーCLAUDE.md / AGENTS.md を手動で管理
必要なものNode 20LLM と埋め込み/ベクトルストアNodeなし
ストレージメモリごとに 1 つの Markdown ファイルベクトルストア(+履歴 DB)1 つの JSON Lines グラフファイル1 つの Markdown ファイル
保存される内容人が書いた内容、またはエージェントが提案して人が承認した内容LLM が会話から抽出した事実エージェントが書いた内容自分が書いた内容
検索単語(BM25)+同義語。一部の言い換えは見つかりませんセマンティック(埋め込み)部分文字列の一致エージェントがすべてを読み込みます
古い事実日付と置き換え履歴を付けて終了扱い更新または削除その場で編集手動で編集
圧縮後も保持フックによるブリーフ+ピン留め項目+引き継ぎクライアントによりますクライアントによりますはい(常に読み込み)
安全性レビューキュー、秘密情報と隠しテキストのチェック、データラベル、任意の暗号化セットアップによります組み込み機能なしなし
ライセンスMITApache-2.0MIT / Apache-2.0–

Stashpad が行わないこと:セマンティック検索(単語検索では、評価で言い換えられた質問の約 3 問中 2 問が見つかります)、チャットからのメモリの自動抽出(設計上行いません)、コンピューター間の同期(git を使用してください)、チーム向け共有サーバー。

セッションの開始と終了

stashpad brief                  # short summary: pinned rules, newest memories, open handoff
stashpad recall "add a postgres migration"    # the few memories that clearly match a request
stashpad handoff leave --text "Half done: auth. Next: tests."   # a note the next session reads once
stashpad sync-agents AGENTS.md  # put the brief in a file agents already read (no MCP needed)

Claude Code プラグインを使うと、これらはフックとして実行されます。セッション開始時と圧縮後、各プロンプト時、圧縮前(自動引き継ぎ)です。docs/HOOKS.md を参照してください。エージェントは AGENT-GUIDE.md を読んでください。

開発

Node 20 以降が必要です。ほかに依存関係はありません。

npm test                 # run the tests
npm run build            # build dist/
node bin/stashpad.mjs --help

メモリーは、プロジェクト内で最も近い .stashpad/memories フォルダーに保存されます。そのようなフォルダーがなければ、Git のルートに保存されるため、サブフォルダーと Git ワークツリーで同じストアを共有できます。stashpad where を実行すると、フォルダーがどのストアを使用しているか、その理由とともに表示されます。自分で選ぶには、STASHPAD_DIR を設定するか、--dir を渡します。どのプロジェクトでも共通すること(使用言語やコミットのスタイルなど)は、グローバルストアに保存します。--global(または -g)を追加してください。

使用する

stashpad save db-choice --kind decision --source-type user --source-ref "statement in chat" --text "We keep data in SQLite."
stashpad search "sqlite" --json
stashpad save db-choice-v2 --kind decision --source-type user --source-ref "later statement" --text "We keep data in Postgres." --supersedes db-choice
stashpad history db-choice-v2
stashpad search database --kind decision --as-of 2026-03-01 --explain   # what was decided on that day, and why it matched
stashpad entities                  # names, tools and files the memories talk about
stashpad about Postgres            # every memory about it, and what is mentioned with it
stashpad confirm db-choice-v2      # still true; doctor flags agent memories nobody confirmed for 180 days
stashpad handoff leave --text "Half done: auth. Next: tests."   # a note the next session reads once
stashpad handoff claim             # take it (a person's notes first); listing never takes one
stashpad feedback db-choice --signal stale   # helpful, stale or wrong; wrong also asks for it to end
stashpad lint                      # what deserves a look; changes nothing

コマンドライン、MCP サーバー、レビュー用ページは同時に実行できます。書き込みのたびに、ストアが短時間ロックされます。

エージェント、ツール、ウェブからの書き込みはレビュー待ちになります。

stashpad review
stashpad accept <id>
stashpad reject <id> --reason "not verified"
stashpad audit

MCP クライアントから使用する

stashpad setup を実行すると、クライアントに適した設定ブロックが表示されます。Node のフルパスも含まれます(サーバーが接続できない原因として最も多いのは、単独の node を指定することです)。次のようになります。

{
  "mcpServers": {
    "stashpad": {
      "command": "/full/path/to/node",
      "args": ["/full/path/to/stashpad/bin/stashpad.mjs", "mcp"]
    }
  }
}

8 つのツール:stashpad_search、stashpad_get、stashpad_recent、stashpad_about、stashpad_save、stashpad_forget、stashpad_handoff、stashpad_feedback。

チェックとインポート

stashpad eval                          # 40 notes, 33 queries (English and Dutch), safety checks; no language model is called. Paraphrased questions are measured too (about 2 of 3 found): word search misses some rewordings, and that is reported openly.
stashpad import notes.jsonl            # queue memories from an export; they wait for review
stashpad export --out memories.jsonl   # back up current memories as JSON Lines (--all adds ended ones)
stashpad save <id> --kind fact --source-type user --source-file notes.txt --text "..."   # keeps a copy of the raw source

stashpad review では、レビュー待ちのメモリーが現在のメモリーと競合する可能性があるか、また、そのメモリーを承認すると現在のメモリーが終了するかどうかも表示されます。

ページでレビューする

stashpad ui            # opens http://127.0.0.1:4317/ to review, search and read the audit log
stashpad ui --open     # the same, and opens the page in your browser

ページにアクセスできるのは、このコンピューターだけです。外部リソースを使用しない、小さなローカルページです。この決定を参照してください。

インポート形式は、JSON Lines(id、kind、text、省略可能な valid_from、source_ref)またはプレーンテキスト(段落ごとに 1 つの事実)です。

原則

  • まずはプレーンファイル。ファイルが信頼できる情報源です。
  • 人が承認するまで、エージェント、ツール、ウェブページからの内容は保存されません。
  • 書き込み時にシークレットを拒否します(キー、トークン、JWT、Bearer トークン、接続文字列内のパスワード)。
  • 不可視文字は拒否され、見た目が似た文字や分割された単語で、指示やシークレットを隠すこともできません。
  • 指示のようなテキスト(英語とオランダ語)には、レビュアー向けのフラグが付けられます。
  • ゲートキーパーは、短すぎるメモや、既存またはレビュー待ちのメモリーとほぼ同じメモをエージェントが記録しようとすると拒否し、その内容を監査ログに記録します。人が書いたメモがブロックされることはありません。
  • 上限:メモリー 1 件あたり 4000 文字、レビュー待ちの書き込み 200 件。
  • 呼び出されたテキストには、指示ではなくデータとしてラベルが付けられます。

ドキュメント

FAQ

Stashpad は何かを外部に送信しますか? いいえ。ネットワーク呼び出しやモデルの呼び出しは行わず、テレメトリーもありません。レビュー用ページが待ち受けるのは、このコンピューターだけです。

メモリーはどこにありますか? プロジェクトの .stashpad/memories にあります(stashpad where で確認できます)。開いたり、編集したり、コミットしたりできる Markdown ファイルです。

エージェントはメモリーに好きな内容を書き込めますか? いいえ。エージェントによる書き込みは人の確認待ちになります(stashpad review または stashpad ui)。シークレット、不可視文字、ほぼ同じ内容のメモは拒否され、呼び出された内容にはすべて、指示ではなくデータとしてラベルが付けられます。

MCP クライアントにサーバーの起動失敗を表示されます。 stashpad doctor --client を実行してください。エージェントアプリと同じ方法でサーバーを起動し、修正が必要な箇所を知らせてくれます。

姉妹ツール

同じ作者による、ローカルで使えるオープンソースのツールです。それぞれに専用の MCP サーバーがあります。

  • ReversePort:アプリ、ゲーム、バイナリ、ウェブサイトをリバースエンジニアリングし、Godot、Unity、Unreal、three.js および各種言語間で移植します。re_case remember は、証明ケースの調査結果を Stashpad のレビューキューに提案します (方法)。
  • agentdisk:コーディングエージェント向けのディスクレポートツールです。エージェントが残したワークツリー、チェックポイント、依存関係フォルダーを見つけ、安全なものだけを元に戻せる形でクリーンアップします。

Claude Code では、1 つのマーケットプレイスから 3 つすべてを利用できます:/plugin marketplace add laaielichter/reverseport を実行し、続けて /plugin install reverseport@reverseport、stashpad@reverseport、または agentdisk@reverseport を実行します。

コントリビューションとコミュニティ

アイデア、バグ報告、プルリクエストを歓迎します。CONTRIBUTING.md、初めてのコントリビューションに適した課題、ディスカッションをご覧ください。セキュリティ上の問題については、SECURITY.mdをご覧ください。

ライセンス

MIT。LICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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