mcpField
P
policyrecall

policyrecall

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

policyrecall について

policyrecallは、ツール呼び出しのポリシー確認が必要なエージェント向けのCLI兼stdio MCPサーバーです。エージェントIDを登録し、ローカルのEd25519鍵で呼び出しの想起やポリシーのライブ校正リクエストに署名します。

主な機能

  1. 01Ed25519によるエージェントID登録
  2. 02準拠したツール呼び出し案の想起
  3. 03ライブポリシーに基づく呼び出しの校正
  4. 04CLIとstdio MCPサーバー

活用シーン

  1. 01決済呼び出し案の金融ポリシー確認
  2. 02実行前のツール呼び出しの校正
  3. 03署名リクエスト前のエージェント登録

MCP 対応

stdio MCPサーバーは、ID登録、ポリシー準拠した呼び出しの想起、ライブポリシー校正をツールとして公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-policyrecall": {
"command": "npx",
"args": [
"-y",
"@reneturcios/policyrecall"
]
}
}
}
起動コマンドnpx -y @reneturcios/policyrecall

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

パッケージ
npm@reneturcios/policyrecall0.1.0
ocighcr.io/cloudcorprecords/policyrecall:0.1.0

ツール

3

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

パラメーター型必須説明
user_confirmedbooleanはいtrue である必要があります。ユーザーが新しいエージェント ID の登録を確認済みであることを示します。

詳細

policyrecall

policyrecall は、ホスト型の運用メモリーサービス用クライアントです。 エージェントの ID を登録すると、サービスはこれから実行するツール呼び出しについて、ポリシー検証済みの準拠バージョンを想起できます。また、ライブポリシーに照らして呼び出しを調整できます。 リクエストはローカルに保持された Ed25519 鍵で署名されるため、サービスは呼び出しが登録済みエージェントから実際に送信されたものか確認できます。 1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーを提供します。

ID と設定

想起や調整を行うには、あらかじめ ID が登録されている必要があります。

policyrecall achromat_register_identity --user-confirmed true

登録時に新しい Ed25519 鍵ペアを生成し、公開鍵に対する小規模なプルーフ・オブ・ワークを計算して、公開鍵をサービスに送信します。 秘密鍵はサービスが受け入れた後にのみ、所有者だけがアクセスできる権限(0600)を設定した PKCS#8 PEM ファイルとして保存されます。 鍵ファイルがすでに存在する状態で再登録するとエラーになります。既存の鍵が上書きされることはありません。 鍵ファイルがない状態で想起または調整を実行すると、ID の設定が必要であることと、登録手順を示すエラーが発生します。

クライアントは次の 2 つの環境変数で設定します。

変数デフォルト
ACHROMAT_BASE_URLhttps://mom.achromat.ai
ACHROMAT_AGENT_KEY_FILE~/.achromat/achromat_agent_key.pem

ツールを鍵の状態に応じて動的に提供する元のサーバーとは異なり、policyrecall は常に 3 つすべてのツールを一覧表示し、ツールの呼び出し時に状態を確認します。

インストール

npx @reneturcios/policyrecall --version

または、コンテナーイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/policyrecall

コンテナーはデフォルトで MCP サーバーを起動します(以下を参照)。CLI として使用するには、引数を渡してください。

CLI

サブコマンドの名前は MCP ツール名に対応しています。

policyrecall achromat_register_identity --user-confirmed true

policyrecall achromat_recall \
  --domain fintech \
  --tool-name send_payment \
  --task-description "Pay a verified vendor invoice on time" \
  --arguments '{"amount": 42, "currency": "USD"}'

policyrecall achromat_calibrate \
  --domain robotics \
  --tool-name move_arm \
  --task-description "Move the arm to the loading position" \
  --arguments '{"joint": 2, "angle": 45}' \
  --trap-id trap-7

policyrecall --version

--arguments には JSON オブジェクトを指定します。結果には、上流から返された JSON ペイロードが出力されます。 終了コード:成功時は 0、呼び出しの失敗時(ID の未登録や上流エラーを含む)は 1、使用方法のエラー時は 2 です。

MCP サーバー

mcp サブコマンドで stdio MCP サーバーを起動します。

npx -y @reneturcios/policyrecall mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "policyrecall": {
      "command": "npx",
      "args": ["-y", "@reneturcios/policyrecall", "mcp"],
      "env": { "ACHROMAT_BASE_URL": "https://mom.achromat.ai" }
    }
  }
}
ツール
ツール入力説明
achromat_register_identityuser_confirmed(必須、true である必要があります)Ed25519 鍵ペアを生成し、小規模なプルーフ・オブ・ワークを解き、公開鍵を登録して、秘密鍵をローカルに保存します。
achromat_recalldomain、tool_name、task_description、arguments(すべて必須)説明されたツール呼び出しについて、ポリシー検証済みの準拠バージョンを想起します。
achromat_calibratedomain、tool_name、task_description、arguments(必須)、trap_id(任意)説明されたツール呼び出しをライブポリシーに照らして調整します。

domain は fintech、industrial_iot、robotics、devsecops のいずれかです。 task_description は 16~1000 文字です。arguments は呼び出しの引数オブジェクトで、空にすることはできません。 想起と調整のリクエストはローカル鍵で署名されます。サービスには、ツール名が tool フィールドに渡されます。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only
npm run dev     # run the CLI from source via tsx

テストでは、フェイクの fetch と、一時ディレクトリ内での実際のローカル鍵生成・署名を使用します。稼働中のサービスには接続しません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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