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_pricing | Compute Unit のウェイト、無料プランのパラメーター、キーの既定値を読み取ります(GET /v1/plans)。 | 不要 | 読み取り専用 |
estimate_usage | 1 つ以上のメソッドの Compute Unit と料金を見積もります。 | 不要 | 読み取り専用 |
how_to_get_api_key | API 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/mcpconfig.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 またはエラーコードのリファレンスで確認してください。
関連リソース
- AI エージェントを接続する:機械可読ファイル、公開 JSON エンドポイント、チェーン選択のワークフロー。
- プログラムによる登録:ブラウザーを使わず、ウォレット署名で API key を作成します。
- エージェントフレームワークのレシピ:ElizaOS、viem、wagmi、Coinbase AgentKit。
- エラーコード:課金と再試行のルールを含むすべてのエラー。
最終更新: