mcpField
S
SPM - Structured Project Memory

SPM - Structured Project Memory

リモート
getspm.comAI・エージェント011 週間前に更新
リポジトリ公式サイト

SPM - Structured Project Memory について

SPM - Structured Project Memoryは、セッションをまたいでプロジェクトの文脈を保持するAIエージェント向けの、プロジェクト単位のメモリーコネクターです。出典確認、範囲を限定したコンテキストパック、プロジェクト境界に対応します。リポジトリに含まれるのはコネクターのみで、メモリーエンジンはホスト型サービスです。

主な機能

  1. 01チャットやツールをまたいでプロジェクト記憶を保持
  2. 02範囲指定のコンテキストパックを作成し出典を検証
  3. 03時間軸メモリーとコンテキストグラフを検索
  4. 04ポリシーに基づく事前チェックを実行
  5. 05決定、テスト、証拠を記録

活用シーン

  1. 01コード変更前にコーディングエージェントへ要件と制約を提供
  2. 02エンジニアやパートナー向けに範囲を限定した情報を準備
  3. 03決定、テスト、証拠を戻して記憶を維持
  4. 04認可済みプロジェクトを別のエージェントや端末へ引き継ぐ

MCP 対応

認証付きのリモートMCPエンドポイントを提供し、プロジェクト単位で認可されたメモリー、コンテキストパック、グラフ、チェックをクライアントから利用できます。トークンは範囲指定と失効が可能で、複数プロジェクトのコンテキスト利用には明示的なユーザー要求が必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://getspm.com/v1/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://getspm.com/v1/mcp認証が必要

ツール

詳細

SPM エージェントコネクター

SPM(Structured Project Memory)の公開コネクターパッケージです。

SPM は、プロジェクトの知識を、AI エージェントが活用できる、持続性があり、共有可能で、ガバナンスが適用された、内部的にスマートなプロジェクトメモリに変換します。このリポジトリには、認証済みのリモート MCP 設定、Codex、Claude Code、Cursor、OpenClaw 用のインストール可能なバンドル、ブラウザー認証ヘルパー、ライフサイクルアダプター、使用例、セキュリティガイダンスなど、公開コネクターの機能のみが含まれています。

SPM アプリケーション、バックエンド、課金システム、プライベートコンソール、メモリエンジン、インフラストラクチャは、このリポジトリには含まれていません。

ホステッド MCP エンドポイント

セットアップと確認のためのユーザー向けガイド:

https://getspm.com/agents
https://getspm.com/v1/mcp

公式 MCP Registry の記述子:

server.json

Registry 名:

com.getspm/spm

エンドポイントは検索用に公開されていますが、利用には認証が必要です。クライアントには、次のものが必要です。

  • SPM アカウント
  • 組織と、少なくとも 1 つのプロジェクト
  • トライアルまたは有料プラン
  • 1 つのプロジェクト、選択したプロジェクト群、または組織内でユーザーがアクセスできるプロジェクトに認可された SPM トークン

エージェントにできること

コネクタープロファイルは、エージェント向けの SPM 機能を提供します。

  • チャット、実行、ツールをまたいで、持続性のあるプロジェクトメモリを活用する
  • アクティブなプロジェクトを、ほかの認可済みプロジェクトと混同せずに特定する
  • 認可済みのプロジェクトを一覧表示し、ユーザーが明示的に求めた場合にのみ、プロジェクトを横断するコンテキストを組み立てる
  • 要件、現在の決定事項、完了した作業、ソースに裏付けられたコンテキスト、時間的なシグナルを保持するスマートメモリパックを扱う
  • 時系列のプロジェクトメモリを検索する
  • スコープを限定したコンテキストパックを要求する
  • コンテキストパックの来歴とハッシュを検証する
  • コンテキストグラフと境界を検索する
  • ポリシーを考慮した事前チェックを実行する
  • 完了したアクション、テスト、証拠、決定事項を報告する
  • クライアントがライフサイクルフックをサポートしている場合、ソースの来歴情報を付けて、エージェントのライフサイクルにおける各ターンを LLM 優先のメモリトリアージに送信する
  • 選択的なソース取得、完全な編集済みソースの取得、要約のみの取得、メタデータのみの取得をそれぞれ選択する。これらは、トリアージによって今後の利用向けに昇格されるメモリとは独立している
  • エージェントツールに保持された会話本文を公開することなく、追加順の取得ジャーナルを確認、検証する
  • 一致する認可済みプロジェクトがない場合、ソースに基づいたプロジェクトメモリの初期設定を提案し、不足している認可済みの証拠だけを具体的に要求したうえで、ユーザーが SPM でプロジェクトを作成、リンク、またはスキップするまで待機する
  • メモリ本文や認証情報ではなく参照を引き継ぐ、有効期間の短い一度限りのハンドオフを通じて、別のエージェントやデバイスで認可済みのプロジェクトを続行する
  • ハンドオフ前に本文を含まないワークスペースマニフェストを比較する。対象は、Git の ID、リビジョン、ローカル状態のハッシュ、Git 管理外のファイルやドキュメントのスナップショット、リモートのバージョン参照、またはメモリのみの作業
  • クライアントがライフサイクルフックをサポートしている場合、セッション開始時、ユーザーのターンの前、作業完了後にワークスペースマニフェストを自動更新する。これにより、ローカルファイルの本文をアップロードすることなく、古くなった観測結果や範囲外の変更を確認できる
  • メタデータのみのソース観測と実質的な証拠を区別し、現在の内容が必要な場合は、認可されたソースのハンドオフを要求する

代表的なユースケース

  • コーディングエージェントは、コードを変更する前に、実際に使用すべきプロジェクトメモリ、つまり要件、現在の決定事項、テスト、制約、完了した作業を受け取ります。
  • デリバリーチームは、プロジェクト全体を公開することなく、散在するプロジェクト知識をエンジニア、クライアント、パートナー、サポート向けのスコープ付きパックにまとめます。
  • パートナーや外部の協力者は、ソース、有効期限、取り消し、来歴、監査証拠を備えた、範囲が限定されたメモリを受け取ります。
  • エージェントのワークフローでは、タスクの完了後もメモリを保持できるよう、決定事項、テスト、証拠を SPM に報告します。

エージェントにできないこと

ホスト型 MCP コネクターでは、以下の操作は公開されていません。

  • 請求やチェックアウト
  • 請求書の支払い
  • カスタマーポータルの作成
  • テナントに対する破壊的な管理操作
  • 生のシークレット
  • グローバルオペレーター用ツール

この境界は意図的に設けられています。エージェントには必要なメモリツールを提供しつつ、商用または破壊的な管理権限は与えません。

Codex

このリポジトリのマーケットプレイスから Codex プラグインをインストールします。

.agents/plugins/marketplace.json

または、Codex を手動で設定します。

[mcp_servers.spm]
url = "https://getspm.com/v1/mcp"
bearer_token_env_var = "SPM_CODEX_MCP_TOKEN"
startup_timeout_sec = 30
tool_timeout_sec = 120

サインインしている組織ユーザーがアクセスできるすべてのプロジェクトについて、Codex を認証します。

python3 plugins/spm-codex/scripts/auth_spm_codex.py \
  --project-id <authorization-project-id> \
  --access-mode organization \
  --write-env ~/.spm/codex.env
source ~/.spm/codex.env

確認します。

python3 plugins/spm-codex/scripts/doctor_spm_codex.py

リモート MCP の機能スモークテストを実行します。

python3 plugins/spm-codex/scripts/smoke_spm_remote_mcp.py \
  --project-id <authorized-project-id>

スモークテストでは、Codex と同じ SPM_CODEX_MCP_TOKEN を使用し、明示的に認可されたプロジェクト ID(または SPM_SMOKE_PROJECT_ID)が必要です。ホスト型 MCP エンドポイントを初期化し、プロジェクト解決、複数プロジェクト、エージェントセッション、メモリツールの機能を検証します。次に、小規模なプロジェクトスコープのスモーク用メモリイベントを作成し、時間的状態を読み取り、コンテキストパックを作成して検証し、コンテキストグラフを照会し、エージェントの事前チェックを実行して、アクション後のエビデンスを報告します。トークンが表示されることはなく、ホスト型コネクターは返されるコンテキストから生のイベント本文を除去します。

トークンを変更せずに確認するには、次を使用します。

python3 plugins/spm-codex/scripts/smoke_spm_remote_mcp.py \
  --project-id <authorized-project-id> --read-only

Claude Code、Cursor、OpenClaw

このリポジトリには、ネイティブクライアント向けのバンドルが含まれています。

  • plugins/spm-claude
  • plugins/spm-cursor
  • plugins/spm-openclaw

MCP のみをサポートするクライアントは、同じリモートエンドポイントとベアラートークンを使用できます。汎用の認証ヘルパーは scripts/agent-connectors/authorize_spm_agent.py です。以下も参照してください。

  • examples/codex/config.toml
  • examples/claude-desktop/claude_desktop_config.json
  • examples/cursor/mcp.json
  • examples/windsurf/mcp_config.json

セキュリティ

トークンをコミットしないでください。環境変数、または各エージェントクライアントのシークレットストレージを使用してください。トークンは明示的にスコープを設定し、SPM から失効できる必要があります。組織内で見えるからといって、プロジェクトを暗黙的に混在させてよいわけではありません。各タスクでアクティブなプロジェクトは 1 つに保ち、複数プロジェクトにまたがるパックにはユーザーからの明示的なリクエストが必要です。セッションの継続によって、ワークスペースが複製、プル、リセット、または上書きされることはありません。引き継ぎ先のエージェントは実際の素材の状態を確認し、SPM のマニフェストと照合したうえで、リソースの取得や調整を行う前に確認を求めます。

SECURITY.md と docs/security-boundary.md を参照してください。

リンク

コメント

MCP は初めてですか?

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

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