BlockVectra MCP サーバー:AI エージェント向けのブロックチェーン RPC とドキュメントツール

BlockVectra MCP サーバーは、開発者と AI エージェントに、キー不要のブロックチェーン RPC、チェーンの稼働状況、料金、ドキュメントのツールを提供します。Claude Code、Cursor、VS Code、Codex、Gemini CLI などに 1 行でインストールできます。

https://docs.blockvectra.com/mcp にある BlockVectra MCP サーバーは、開発者と AI エージェントに、ブロックチェーン RPC コール、チェーンの稼働状況、料金、ドキュメント向けのツールを 15 個提供します。接続に API key は不要です:10 個のツールはキーが一切不要で、残りのツールはクライアントのヘッダーにある x-api-key を使用します。1 行でインストールできます:claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp

エンドポイントは MCP エンドポイント(JSON-RPC 2.0 を受け取る HTTP POST。GET は 405 を返します)で、MCP Streamable HTTP で提供されるステートレスなサーバーです。HTTP ファイル、公開 JSON、および関連する登録フローについては、AI エージェントを接続するを参照してください。

ツール

ツール機能API keyアクセス種別
read_docドキュメントページを Markdown として読み取ります。不要読み取り専用
search_docsドキュメントのタイトル、パス、概要を検索します。不要読み取り専用
list_chains対応チェーン、パラメーター、メソッドポリシーを一覧表示します(GET /v1/chains)。不要読み取り専用
get_statusサービスとチェーンのリアルタイムの稼働状況を読み取ります(GET /v1/status)。不要読み取り専用
get_pricingCompute Unit のウェイト、無料プランのパラメーター、キーの既定値を読み取ります(GET /v1/plans)。不要読み取り専用
estimate_usage1 つ以上のメソッドの Compute Unit と料金を見積もります。不要読み取り専用
how_to_get_api_keyAPI key の取得手順とリクエスト認証の書き方を返します。不要読み取り専用
get_method_infoメソッドのチェーン別の対応状況、CU ウェイト、料金を表示します。不要読み取り専用
explain_errorエラーの意味、課金の有無、再試行の可否、復旧方法を調べます。不要読み取り専用
list_docsすべてのドキュメントページをパスとタイトル付きで一覧表示します。不要読み取り専用
rpc_call対応チェーンで読み取り専用の JSON-RPC メソッドを実行します。任意:キーなしで使えるのは、チェーンの public.methods に含まれるメソッドのみ読み取り専用
data_api_get対応チェーンの Data API に GET リクエストを送信します。必須(x-api-key ヘッダー)読み取り専用
get_accountアカウント残高、CU、レート制限を読み取ります(GET /v1/account)。必須(x-api-key ヘッダー)読み取り専用
get_deposit_addressアカウントの入金アドレス、利用可能なネットワークとトークンを読み取ります。必須(x-api-key ヘッダー)読み取り専用
send_raw_transaction署名済みの raw トランザクションをブロードキャストします(eth_sendRawTransaction)。任意:キーなしで使えるのは、チェーンの public.methods に含まれるメソッドのみ署名済みトランザクションをブロードキャスト

この表はサーバーのツールレジストリから生成されており、tools/list が返すすべてのツールを一覧にしています。各ツールが受け取る引数と返すフィールドは、そのツール自身の tools/list スキーマに記載されています。

API key の安全な管理

キーが必要なツールでは、Data API リクエスト、アカウント操作、またはチェーンの公開メソッド以外の RPC メソッドを実行するために API key が必要です。

  • ヘッダーからのみ読み取る:API key は MCP クライアントの HTTP リクエストヘッダー(x-api-key: rgw_... または Authorization: Bearer rgw_...)からのみ読み取ります。
  • チャットにキーを記載しない:API key や秘密鍵をツールの引数で渡したり、チャットに貼り付けたりしないでください。ツールの引数とチャット履歴は会話ログやコンテキストに含まれます。引数でキーを渡すと拒否されます。

API key のヘッダーなしで呼び出すと、キーが必要なツールは isError: true を返し、エージェントを how_to_get_api_key とプログラムによる登録ガイドに案内します。

クライアントにインストールする

一般的な開発環境やフレームワークから、https://docs.blockvectra.com/mcp にある BlockVectra のドキュメント MCP サーバーに接続できます。

まず API key なしで始めてください。MCP エンドポイントに接続し、list_chains を呼び出してから、read_doc で quickstart を読みます。Data API やアカウント用のツールが必要になったら、クライアントの HTTP ヘッダーに API key を追加してください。キーなしの RPC アクセスは、各チェーンの公開メソッドポリシーに従います。

x-api-key ヘッダーは任意です。API key がなくても、クライアントは読み取り専用のすべてのドキュメントツール(read_doc、search_docs、list_docs)、チェーンの探索(list_chains)、リアルタイムの稼働状況(get_status)、料金の見積もり(get_pricing、estimate_usage)、エラーの説明(explain_error)、公開エンドポイントで許可されているメソッドを使用できます。キーが必要なツール(制限付きメソッドでの rpc_call、send_raw_transaction、data_api_get、get_account、get_deposit_address)を使用する場合は、API key を x-api-key ヘッダーに設定してください。

Claude Code

CLI を使用して MCP サーバーに接続します:

claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp

認証付きツール用に任意の API key を含めるには、--header(または -H)オプションを指定し、キーを直接貼り付ける代わりに環境変数を参照します。シェルに展開されないよう、シングルクォートを使用してください。Claude Code はセッションの開始時に ${BLOCKVECTRA_API_KEY} を展開します:

claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp \
  --header 'x-api-key: ${BLOCKVECTRA_API_KEY}'

同じ設定をプロジェクトレベルの .mcp.json として記述した例です(claude mcp add --scope project が書き込む内容でもあります):

{
  "mcpServers": {
    "blockvectra-docs": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp",
      "headers": { "x-api-key": "${BLOCKVECTRA_API_KEY}" }
    }
  }
}

claude を起動する環境で BLOCKVECTRA_API_KEY をエクスポートしてください。Claude Code は、そのディレクトリで初めて claude を実行したときに、プロジェクトレベルの .mcp.json のサーバーを承認するよう求めます。承認するまで、claude mcp list では Pending approval と表示されます。

スクリプトや CI では、--mcp-config でファイルを渡し、サーバーのツールを許可します。キーは環境変数に置いたままにして、MCP クライアントが自らヘッダーを追加するため、エージェントが $BLOCKVECTRA_API_KEY を展開するシェルコマンドを実行する必要はありません(Claude Code の権限チェックは、非対話モードでそのようなコマンドを Contains simple_expansion として拒否しました):

claude -p "Use rpc_call to run eth_blockNumber on base_mainnet" \
  --mcp-config ./mcp.json --allowedTools "mcp__blockvectra-docs__*"

キーを設定した場合、rpc_call の結果には cu_charged と balance_units も含まれます。キーなしのコールでは JSON-RPC レスポンスのみが返されます。変数が設定されていない場合、クライアントはヘッダーのリテラル文字列をそのまま送信し、サーバーはキーなしのエンドポイントにフォールバックせず invalid_api_key(エラーコード -32024)を返します。

公式ドキュメント:Claude Code MCP ドキュメント。

Cursor

Cursor の MCP 設定にサーバーを追加します:

{
  "mcpServers": {
    "blockvectra": {
      "url": "https://docs.blockvectra.com/mcp"
    }
  }
}

Cursor は、base64 エンコードされた設定 eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9({"url":"https://docs.blockvectra.com/mcp"} を表します)を使ったディープリンクによるワンクリックインストールにも対応しています:

cursor://anysphere.cursor-deeplink/mcp/install?name=blockvectra&config=eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9

認証付きツール(Data API やアカウント管理)が必要な場合は、API key を含む headers オブジェクトを追加します:

{
  "mcpServers": {
    "blockvectra": {
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "${env:BLOCKVECTRA_API_KEY}"
      }
    }
  }
}

${env:NAME} 形式は、url と headers の変数を解決すると記載されている Cursor のドキュメントに従ったものです。この形式は、ここでは Cursor で実行して確認していません。このファイルは .cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)に配置してください。

公式ドキュメント:Cursor MCP ドキュメントと Cursor インストールリンク。

VS Code

VS Code では、.vscode/mcp.json のトップレベルの servers キーの下に、type: "http" を指定してサーバーを設定します:

{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp"
    }
  }
}

認証付きツールが必要な場合は、headers オブジェクトを追加します:

{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

機密性の高い認証情報を保存する際、VS Code ではキーを直接記述する代わりに、入力変数や環境ファイルを参照できます。コマンドパレットの MCP: Add Server アクションでサーバーを追加することもできます。

公式ドキュメント:VS Code MCP サーバーのドキュメントと VS Code MCP 設定リファレンス。

Codex

OpenAI Codex CLI を使ってサーバーを追加します:

codex mcp add blockvectra --url https://docs.blockvectra.com/mcp

config.toml にサーバー URL を設定します:

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"

認証付きツールが必要な場合は、config.toml にリクエストヘッダーを設定します:

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
http_headers = { "x-api-key" = "YOUR_API_KEY" }

または、環境変数からヘッダーを設定します:

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
env_http_headers = { "x-api-key" = "BLOCKVECTRA_API_KEY" }

公式ドキュメント:OpenAI Codex CLI MCP ドキュメント。

Gemini CLI

Gemini CLI の設定では、Streamable HTTP 用の httpUrl を使い、mcpServers の下にサーバーを追加します:

{
  "mcpServers": {
    "blockvectra": {
      "httpUrl": "https://docs.blockvectra.com/mcp"
    }
  }
}

認証付きツールが必要な場合は、API key を含む headers オブジェクトを追加します:

{
  "mcpServers": {
    "blockvectra": {
      "httpUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

公式ドキュメント:Gemini CLI MCP サーバーのドキュメント。

OpenAI Responses API

OpenAI Responses API を呼び出す際は、tools 配列に type: "mcp" を指定して MCP サーバーを渡します:

OPENAI_API_BASE="https://api.openai.com/v1"
curl "$OPENAI_API_BASE/responses" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "tools": [{
      "type": "mcp",
      "server_label": "blockvectra",
      "server_url": "https://docs.blockvectra.com/mcp",
      "require_approval": "never"
    }],
    "input": "..."
  }'

認証付きツールが必要な場合は、ツール定義に headers フィールドを含めます:

{
  "type": "mcp",
  "server_label": "blockvectra",
  "server_url": "https://docs.blockvectra.com/mcp",
  "headers": { "x-api-key": "YOUR_API_KEY" },
  "require_approval": "never"
}

公式ドキュメント:OpenAI MCP ツールガイドと OpenAI Responses API リファレンス。

Windsurf

Windsurf では、serverUrl フィールドを使い、mcpServers の下にサーバーを設定します:

{
  "mcpServers": {
    "blockvectra": {
      "serverUrl": "https://docs.blockvectra.com/mcp"
    }
  }
}

認証付きツールが必要な場合は、API key を含む headers オブジェクトを追加します:

{
  "mcpServers": {
    "blockvectra": {
      "serverUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Windsurf は、"x-api-key": "${env:BLOCKVECTRA_API_KEY}" などの環境変数の参照にも対応しています。

公式ドキュメント:Windsurf MCP ドキュメント。

Claude Desktop と claude.ai

カスタムコネクターはユーザーインターフェースから設定します:

  • claude.ai:Customize > Connectors を開き、+ Add をクリックして Add custom connector を選択し、URL を入力します:
    https://docs.blockvectra.com/mcp
  • Claude Desktop:アカウント設定メニューを開き、コネクターの画面からカスタムコネクターを設定します。

この URL に接続すると、Claude は認証情報なしでガイドを検索し、Markdown ドキュメントを読み、対応チェーンを調べ、ネットワークの稼働状況を確認し、料金を見積もれます。

公式ドキュメント:Claude カスタムコネクターガイド。

接続を確認してトラブルシューティングする

Claude Code では、claude mcp list で各サーバーの状態を確認できます。実際に登録されたツールの数を知るには、ストリーム出力を指定して 1 回実行し、init イベントを読み取るか、デバッグログを確認します:

claude -p "say ok" --mcp-config ./mcp.json --output-format stream-json --verbose
claude -p "say ok" --mcp-config ./mcp.json --debug mcp --debug-file mcp-debug.log

接続が正常な場合、init イベントに "status": "connected" と mcp__blockvectra-docs__* ツール(list_chains や rpc_call など)が表示されます。デバッグログでは、Successfully connected や Failed to fetch tools など、blockvectra-docs に関する行を探してください。サーバーが connected なのにツールが表示されない場合は、Failed to fetch tools の後にデバッグログ(--debug mcp)が報告する理由を確認してください。サーバー自体が正常かどうかを確認するには、以下の curl コールを使用します。

クライアントなしで MCP エンドポイントを呼び出す

エンドポイントは HTTP POST 上の JSON-RPC 2.0 なので、どの HTTP クライアントからでも呼び出せます:

curl -s https://docs.blockvectra.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

curl -s https://docs.blockvectra.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"rpc_call","arguments":{"chain":"base_mainnet","method":"eth_blockNumber","params":[]}}}'

1 つ目のコールはツールの一覧を返し、2 つ目は JSON-RPC レスポンスを result.structuredContent に返します。チェーンの識別子は base_mainnet のような slug で、list_chains で取得できます。キーが必要なツールには x-api-key ヘッダーが必要です。次のコールは、環境変数のキーを使ってアカウントを読み取ります:

curl -s https://docs.blockvectra.com/mcp -H 'content-type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_account","arguments":{}}}'

result.structuredContent に、key_id、plan、balance_units、balance_cu、およびキーのレート制限が返されます。エージェントが権限制御付きのシェルでコマンドを実行する場合、この変数展開がブロックされることがあります。その場合は、MCP クライアントでヘッダーを設定してください。

FAQ

BlockVectra MCP サーバーには API key が必要ですか?

いいえ。接続にキーは不要で、15 個のツールのうち 10 個はキーが一切不要です。rpc_call と send_raw_transaction は、チェーンの public.methods に含まれるメソッドに限り、キーなしで実行できます(list_chains で確認できます)。data_api_get、get_account、get_deposit_address には x-api-key ヘッダーが必要です。

MCP サーバーで API key を作成または失効できますか?

いいえ。API key を作成、一覧表示、失効させるツールはありません。how_to_get_api_key は手順を返すだけです。エージェントはプログラムによる登録に従って HTTP でキーを作成し、人間はコンソールで作成します。キーがツールの引数を通ることはありません。

エージェントは MCP サーバー経由でトランザクションを送信できますか?

ブロードキャストはできますが、署名はできません。rpc_call は、eth_sendRawTransaction、eth_sendTransaction、eth_sign、personal_* などの書き込みメソッドを拒否します。send_raw_transaction は、ローカルで署名済みのトランザクションを eth_sendRawTransaction でブロードキャストします。サーバーが秘密鍵を保持することも、目にすることもありません。

コールが失敗した場合はどうなりますか?

ツールのエラーは、構造化された理由とともに isError: true で返されます。失敗が課金されるかどうか、再試行すべきかどうかは、explain_error またはエラーコードのリファレンスで確認してください。

最終更新:

このページの目次