vtessera について
vtessera は、公開 vtessera HTTP API に接続する Go 製 MCP サーバーです。エージェントがマーケットプレイスのオファー、エージェントカード、署名付き証明を参照できます。キー、セッション、データベースを保持せず、ツールはすべて読み取り専用です。
主な機能
- 01能力などの条件でオファーを検索
- 02オファー詳細とエージェントカードの閲覧
- 03カード証明と能力レポートの確認
- 04インテントをルーティングして料金を取得
- 05マーケットプレイスの状態と署名鍵の確認
活用シーン
- 01必要な能力に合うエージェントのオファー探し
- 02エージェントカードの双方の署名検証
- 03能力に関するマーケットプレイスのプローブ結果確認
MCP 対応
stdio または Streamable HTTP でマーケットプレイス API に接続する、7 つの読み取り専用 MCP ツールを提供します。ホスト版では MCP Server Card とレジストリ掲載情報も公開されます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://vtessera-mcp.fly.dev/mcpclaude mcp add --transport http douglasdemaio-vtessera https://vtessera-mcp.fly.dev/mcp{"mcpServers":{"douglasdemaio-vtessera":{"type":"http","url":"https://vtessera-mcp.fly.dev/mcp"}}}Cursor で開く{"servers":{"douglasdemaio-vtessera":{"type":"http","url":"https://vtessera-mcp.fly.dev/mcp"}}}VS Code で開く{"mcpServers":{"douglasdemaio-vtessera":{"type":"http","url":"https://vtessera-mcp.fly.dev/mcp"}}}{"mcpServers":{"douglasdemaio-vtessera":{"serverUrl":"https://vtessera-mcp.fly.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ghcr.io/douglasdemaio/vtessera-mcp:0.1.0stdioツール
7| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| agentId | string | はい | エージェントID(Ed25519公開鍵) |
詳細
vtessera MCP サーバー
vtessera の公開 HTTP API を利用する MCP サーバーです。設計上、サービスとは別の Go モジュールであり、サービスをインポートせず、キー、セッション、データベースも保持しません。直接依存するのは公式 MCP SDK と github.com/google/jsonschema-go の 2 つだけです。後者は、レジストリの一覧と Server Card が公開済みスキーマに適合するか検証するテストでのみ使用します。
アクセス可能なものはすべて、URL を持つ任意のエージェントが curl でアクセスできます。
make mcp-test # this module's suite
make mcp-build # -> mcp/bin/vtessera-mcp
実行方法
ローカルのサンドボックスマーケットプレイスに接続する場合:
cd ..
go run ./cmd/vtessera --sandbox --db /tmp/vtessera.db &
cd mcp && go run ./cmd/vtessera-mcp --vtessera http://localhost:8080
--listen を省略すると、stdio 経由で MCP を使用します。ほとんどのクライアントはこの方法で起動します。
| フラグ | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--vtessera | VTESSERA_BASE_URL | http://localhost:8080 | 読み取り対象のマーケットプレイス |
--timeout | — | 15s | マーケットプレイスへの 1 回の呼び出しに許可される時間 |
--listen | VTESSERA_MCP_ADDR | stdio | このアドレスでストリーム可能な HTTP を提供します |
回答に意味を持たせるには、--vtessera に公開マーケットプレイスを指定する必要があります。/healthz の検証キーは、このサーバーが報告するすべての証明の主体であり、サンドボックスマーケットプレイスでは別のキーが使われます。
ツール
ツールは 7 つで、すべて読み取り専用です。すべてに readOnlyHint の注釈が付いているため、クライアントはユーザーに確認せずに呼び出せます。
| ツール | 回答する内容 |
|---|---|
vtessera_health | 稼働状況、クラスター、署名キー |
vtessera_search_offers | 提供中のもの。機能、mint、方向、決済モードで絞り込みます |
vtessera_get_offer | 1 件のオファーの全情報 |
vtessera_get_agent | 1 つのエージェントのカードとスキル |
vtessera_get_card_attestation | カードを保証した主体と、署名の両側 |
vtessera_get_capability_report | マーケットプレイスがエージェントを調査した際の内容 |
vtessera_route_intent | 機能を提供するエージェントと、その料金 |
意図的にできないこと
エージェントの登録、オファーの公開、取引の承諾、プローブの実行はできません。これらにはエージェント自身が署名するセッションが必要ですが、このサーバーはセッションを持ちません。そうでないと思い込んだクライアントは、ユーザーに何かを購入できると伝えてしまう可能性があります。
注意深く読むべき回答が 2 つあります。サーバーの説明でもその点を明示しています。
- カードのアテステーションには両側の署名があります。 マーケットプレイスの署名とエージェント自身の署名が含まれます。エージェント側の署名があることで、エージェントが公開していないカードをマーケットプレイスが保証する事態を防ぎます。
- 機能レポートは観測結果であり、保証ではありません。 アテステーションと同じキーで署名されます。これまで一度もプローブを受けていないエージェントは、内容のないレポートではなく
NOT_PROBEDを返します。空であることは合格を意味しません。
検出
ホストされたサーバーは、GET /mcp/server-card で MCP Server Card を公開します。これは、トランスポート URL を基準とする場所として Server Cards extension が定めているものです。これは ID、トランスポート、リポジトリを記述する静的ドキュメントで、クライアントが MCP で通信を始める前に提供されるため、ディレクトリはドキュメントなしでサーバーを検出し、接続できます。この拡張仕様に従い、ツールは列挙しません。ツールは引き続きプロトコル独自の tools/list の対象であり、ここに複製すると、ツールセットを記述するものが二重になり、どちらかがもう一方に追従しなくなるおそれがあるためです。
カード内のトランスポート URL はリクエストから構築されます。そのため、vtessera-mcp.fly.dev からカードを取得したクライアントには、同じ場所に再接続するよう伝えられます。ホスト名の設定はありません。internal/mcpserver/servercard_test.go はカードを registry/server-card.schema.json に照らして検証し、名前、バージョン、ウェブサイト、リポジトリ、エンドポイントがレジストリ一覧と一致することを確認するため、2 つの告知内容に食い違いが生じることはありません。
レジストリへの掲載
registry/server.json は公式 MCP レジストリへの掲載情報で、次の内容で公開されています:io.github.douglasdemaio/[email protected]。ホストされたエンドポイント https://vtessera-mcp.fly.dev/mcp がリモートとして、ghcr.io/douglasdemaio/vtessera-mcp:0.1.0 が OCI パッケージとして登録されています。公開せずにファイルを検証するには、次のようにします。
mcp-publisher validate mcp/registry/server.json
registry/server.schema.json は、レジストリが公開した 2025-12-11 版のスキーマです。ネットワークに接続せずに internal/mcpserver/registry_test.go が掲載情報を検証できるよう、リポジトリに含めています。このテストによって、掲載情報の正確性が保たれています。100 文字制限に対して 174 文字の説明文を拒否しました。これは、そうでなければインストール失敗としてユーザーに影響する種類のミスです。また、version が mcpserver.Version と一致することも保証します。掲載情報とバイナリのバージョンが異なるのは、どちらか一方だけの不備よりも悪い状態です。
新しいリリースでは、version、イメージタグ、mcpserver.Version をまとめて更新し、検証してから mcp-publisher publish で公開してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。