vcp-mcp について
vcp-mcp は、VCP プロトコル操作をローカルで実行する MCP サーバーです。トークンやコンテキスト文書の検証、コンテキストのエンコードを必要とするクライアント向けに、ネットワーク通信やリクエスト間の状態保持なしで legacy vcp-sdk の機能を提供します。
主な機能
- 01VCP/I トークンと CSM1 コードの解析
- 02VCP/A コンテキスト次元のエンコード
- 03VCP-Lite 文書の検証と CSM1 への変換
- 04原則を Schwartz の価値観に分類
- 05同梱 VCP-Lite サンプル文書の提供
活用シーン
- 01MCP クライアントでの VCP トークンや CSM1 コードの検証
- 02VCP-Lite 文書の確認と対応コードの取得
- 03ワイヤ形式、JSON、セッションメタデータ向けのコンテキストエンコード
- 04同梱 VCP-Lite サンプルの参照
MCP 対応
SDK のプロトコル操作を MCP ツールとして公開し、`vcp://lite/examples` リソースを提供します。既定の stdio に加え、ステートレスな Streamable HTTP トランスポートにも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
vcp-sdk
Value Context Protocol (VCP) 用の Python SDK — ポータブルな AI 倫理検証 — と、署名済みの価値アーティファクトをインストールするための Creed Commons クライアント(vcp CLI)です。
- プロトコルとドキュメント:valuecontextprotocol.org
- Creed Commons レジストリ:Creed-Space/vcp-hub
レガシー配布の状況
このリポジトリは、PyPI 上のレガシーなスタンドアロン版 vcp-sdk 0.8.0 ディストリビューションと、MCP Registry の io.github.Creed-Space/vcp-mcp 0.8.0 サーバーエントリーを提供します。プロジェクトが保守する VCP-SDK とは別のものであり、同一ではありません。このソースを直接確認して実行するには、正確なコミットを選択して検証し、そのチェックアウトをインストールしてください。
git checkout --detach <reviewed-vcp-sdk-python-commit>
python -m pip install .
python -m pip install ".[hub]" # include the Creed Commons CLI dependencies
この候補版とプロジェクトが保守する VCP-SDK は、どちらも vcp Python インポート名前空間を使用します。それぞれを別の仮想環境にインストールしてください。同じ環境に両方をインストールすることはサポートされていません。一方のディストリビューションが、もう一方のモジュールを置き換える可能性があるためです。
SDK — トークン、CSM1、VCP-Lite
from vcp import Token, CSM1Code, validate_lite
token = Token.parse("[email protected]")
code = CSM1Code.parse("N5+F+E")
identity = {"domain": "family", "approach": "safe", "role": "guide"}
document = {"vcp_version": "lite-1.0", "identity": identity, "persona": "nanny", "adherence": 5, "scopes": ["F"]}
errors = validate_lite(document)
CSM1Code.encode()(および str(code))は、スコープをソートした正規形式を出力します(N5+F+E は N5+E+F としてエンコードされます)。これはプロジェクトが保守する VCP-SDK および仕様 §2.10.1 と一致します。to_nano()/to_micro() は入力順を保持します。また、Token.parse は creed:// と vcp:// の URI も受け付け、正規形式に正規化します。これは、parse がトークンの基本文法のみを受け付けるリファレンス SDK の機能を上回るものです。
Creed Commons — 署名済み価値アーティファクト
Creed Commons は、値エンジンが解釈する署名済みデータとして、憲章、信条、検出器設定を配布します。実行可能コードではありません。アーティファクトのインストールは、コードを実行するかどうかの判断ではなく、署名を検証するかどうかの判断です。
vcp search gaslighting
vcp install creed-space/anti_gaslighting # verify Ed25519 + sha256 + schema, then write
vcp verify # re-check installed tree against vcp.lock
vcp install は、このパッケージ内に固定された信頼ルートに対して検証し(レジストリ自身が自らの正当性を保証することはできません)、name@version とコンテンツの sha256、および検証に使った鍵を vcp.lock に固定します。取得したものをインポート、評価、実行することはありません。
コミュニティ名前空間は委譲されるものであり、新たなルートではありません。ハブの namespace_registry.json は各名前空間を発行者の Ed25519 鍵に紐付けており、このファイル自体も固定されたルートによって署名されています。アーティファクトは、自身の名前空間に登録された鍵に対して検証される必要があります。登録とモデレーションについては、GOVERNANCE.md を参照してください。
信頼レベル:signed は完全性と出所を証明しますが、意味上の妥当性は証明しません。verified にはさらに、ドメイン分離されたルートの副署名が付与されます(lint、レッドチーム、人によるレビューの後に発行)。クライアントはインストール時と、すべての vcp verify の実行時にこれを確認します。
CLI — プロトコル操作
Creed Commons のコマンドに加え、vcp ではプロトコル操作を直接実行できます。これらは MCP ツールと同じ関数を呼び出すため、スクリプトからの CLI 出力と MCP ツールの出力には同じフィールドが含まれます。
vcp token validate [email protected] # parse a VCP/I token
vcp token parse N5+F+E # parse a CSM1 code
vcp lite validate agent.json # validate a VCP-Lite document
vcp lite to-csm1 agent.json # VCP-Lite document -> CSM1 code
vcp encode --space office --agency peer # context -> VCP/A wire format
vcp classify "Never endanger a child" # principle -> Schwartz value
vcp status # versions, capabilities, vocabularies
デフォルトでは JSON を出力します。--quiet を指定すると、シェルで使用できるよう、コマンドの対象となる値のみが出力されます。
$ vcp lite to-csm1 agent.json --quiet
N5+E+F
$ vcp encode --space office --constraints legal --constraints time --quiet
📍🏢|🔒⚖️⏱️
validate/parse コマンドは、有効な場合は終了コード 0、無効な場合は 1 を返すため、CI のゲートとして利用できます。
vcp lite validate agent.json --quiet || exit 1
vcp encode は、コンテキストの各次元に対応するフラグ(--space、--agency、--cognitive-state、…)を 1 つずつ受け取ります。--company と --constraints は複数の値を指定するために繰り返し使用でき、個人的な各次元には対応する --<dim>-intensity(1~5)があります。全フラグの一覧は vcp encode --help を実行して確認してください。
MCP サーバー
vcp-mcp は、任意の MCP クライアント(Claude Code、Claude Desktop、またはプロトコルに対応するその他のもの)に SDK を公開します。デフォルトでは stdio 経由で動作し、完全なローカル処理を行います。ネットワーク呼び出しはなく、呼び出し間で状態を保持せず、ユーザーデータを読み取りません。
python -m pip install ".[mcp]"
vcp-mcp
Claude Desktop/Claude Code の設定:
{
"mcpServers": {
"vcp": {
"command": "vcp-mcp"
}
}
}
ツール
| ツール | 機能 |
|---|---|
vcp_status | SDK/仕様のバージョン、機能、次元とペルソナの語彙 |
vcp_validate_token | VCP/I トークンを解析し、ドメイン/アプローチ/役割/バージョン/名前空間を取得します |
vcp_parse_csm1 | CSM1 コードを解析し、ペルソナ/遵守度/スコープ/名前空間/バージョンを取得します(競合するスコープや非推奨のスコープは拒否されます) |
vcp_encode_context | 18 個の VCP/A コンテキスト次元をワイヤー形式、JSON、セッションメタデータにエンコードします |
vcp_validate_lite | VCP-Lite ドキュメントを検証し、同等の CSM1 コードとトークンを返します |
vcp_lite_to_csm1 | VCP-Lite のペルソナ/遵守度/スコープを CSM1 コードに変換します |
creed_classify_principle | 憲章の原則をSchwartzの価値観に対応付け、循環モデルの緊張関係にフラグを付けます |
リソース vcp://lite/examples は、同梱されている VCP-Lite のサンプルドキュメントを提供します。
HTTP トランスポート
ホスト環境にデプロイする場合、vcp-mcp は Streamable HTTP にも対応します。
vcp-mcp --transport http --port 8080 # binds 127.0.0.1, endpoint /mcp
--port の既定値は、$PORT、次に 8080 です。エンドポイントはステートレスで実行されます(リクエストごとに新しいトランスポートを使用するため、ゲートウェイは任意のリクエストを任意のレプリカにルーティングできます)。提供されるのは POST /mcp のみです。GET は接続ごとにアイドル状態のイベントストリームを開いたままにするため、クリーンな JSON-RPC 405 を返して拒否されます。GET /health エンドポイントは {"status": "ok"} を返します。
サーバーには認証機能がないため、ループバック以外にバインドするには明示的なオプトインが必要です。
VCP_MCP_ALLOW_INSECURE_HTTP=true vcp-mcp --transport http --host 0.0.0.0
ゲートウェイまたはリバースプロキシがサーバーの前段にあり、クライアント認証を処理する場合、または意図的にパブリックで認証なしのステートレスなコンピューティングエンドポイントとして実行する場合に限り、これを設定してください(このリポジトリの render.yaml がその例です)。後者の場合は、前段にレート制限/WAFを設置してください。サーバーは状態を保持せず、何も読み取らないため、露出によるリスクはデータではなく、有料コンピューティングの不正利用です。
開発
pip install -e ".[dev]"
pytest tests/
ライセンス
Apache-2.0。© Creed Space。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。