BlockVectra MCP 伺服器:給 AI Agent 的區塊鏈 RPC 與文件工具

BlockVectra MCP 伺服器為開發者與 AI Agent 提供免 key 的區塊鏈 RPC、鏈狀態、定價與文件工具,並支援 Claude Code、Cursor、VS Code、Codex、Gemini CLI 等一行安裝。

位於 https://docs.blockvectra.com/mcp 的 BlockVectra MCP 伺服器,為開發者與 AI Agent 提供 15 個區塊鏈 RPC 呼叫、鏈狀態、定價與文件工具。連線不需要 API key:其中 10 個工具永遠不需要 key,其餘工具使用用戶端標頭中的 x-api-key。一行安裝:claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp

端點為 MCP 端點(HTTP POST 接收 JSON-RPC 2.0;GET 回傳 405),採用 MCP Streamable HTTP 傳輸且無狀態。關於 HTTP 檔案、公開 JSON 及其周邊的註冊流程,請參閱連線 AI Agent。

工具

工具用途API key存取類型
read_doc讀取文件頁的 Markdown 原文。不需要唯讀
search_docs依關鍵字搜尋文件標題、路徑與摘要。不需要唯讀
list_chains列出支援的鏈、參數與方法政策(GET /v1/chains)。不需要唯讀
get_status讀取即時服務與鏈狀態(GET /v1/status)。不需要唯讀
get_pricing讀取計算單位權重、免費額度參數與 key 預設限額(GET /v1/plans)。不需要唯讀
estimate_usage估算一個或多個方法的計算單位與費用。不需要唯讀
how_to_get_api_key回傳取得 API key 的步驟與請求驗證寫法。不需要唯讀
get_method_info查看方法的可用鏈、CU 權重與價格。不需要唯讀
explain_error查詢錯誤的含義、是否計費、能否重試與復原方式。不需要唯讀
list_docs列出全部文件頁的路徑與標題。不需要唯讀
rpc_call在支援的鏈上執行唯讀 JSON-RPC 方法。選用:免 key 僅限該鏈 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廣播已簽署的原始交易(eth_sendRawTransaction)。選用:免 key 僅限該鏈 public.methods 內的方法廣播已簽署交易

此表由伺服器的工具登錄表產生,因此列出 tools/list 回傳的每一個工具。每個工具接受的參數與回傳的欄位,以其自身 tools/list 結構描述為準。

API key 安全

需要 key 的工具需要 API key,才能執行 Data API 請求、帳戶操作,或鏈上公開方法以外的 RPC 方法。

  • 僅從標頭讀取:API key 只會從 MCP 用戶端的 HTTP 請求標頭讀取(x-api-key: rgw_... 或 Authorization: Bearer rgw_...)。
  • 絕不放進對話:絕不要把 API key 或私鑰放在工具參數中,也不要貼到對話裡。工具參數與對話歷史會進入對話記錄與上下文;在參數中傳入 key 會被拒絕。

若呼叫時沒有 API key 標頭,需要 key 的工具會回傳 isError: true,並引導 agent 使用 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。免 key 的 RPC 存取遵循各鏈的公開方法政策。

x-api-key 標頭是選用的。沒有 API key 時,用戶端可以使用所有唯讀文件工具(read_doc、search_docs、list_docs)、鏈探索(list_chains)、即時狀態(get_status)、定價估算(get_pricing、estimate_usage)、錯誤說明(explain_error),以及公開端點允許的方法。使用需要 key 的工具(受限方法的 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)選項,並引用環境變數而不是貼上 key。請使用單引號,避免 shell 展開;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 時,Claude Code 會請你核准專案層級 .mcp.json 中的伺服器;在此之前,claude mcp list 會顯示為 Pending approval。

對於指令碼與 CI,請用 --mcp-config 傳入該檔案,並允許該伺服器的工具。key 留在環境變數中,由 MCP 用戶端自行加上標頭,因此 agent 不需要執行展開 $BLOCKVECTRA_API_KEY 的 shell 命令(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__*"

設定 key 後,rpc_call 的結果還會包含 cu_charged 與 balance_units;免 key 呼叫只回傳 JSON-RPC 回應。若該變數未設定,用戶端會原樣送出字面標頭文字,伺服器回應 invalid_api_key(錯誤碼 -32024),而不是退回免 key 端點。

官方文件: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} 形式依照 Cursor 文件,Cursor 會解析 url 與 headers 中的變數;這裡尚未在 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 支援引用輸入變數或環境檔案,而不必把 key 寫死。你也可以用命令面板動作 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 設定的 mcpServers 下新增伺服器,Streamable HTTP 使用 httpUrl:

{
  "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 中,於 mcpServers 下以 serverUrl 欄位設定伺服器:

{
  "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 會顯示每個伺服器的狀態。若要確認實際登錄了多少工具,可以用串流輸出執行一次並讀取 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)。在除錯日誌中,請找與 blockvectra-docs 有關的行,例如 Successfully connected 與 Failed to fetch tools。若伺服器顯示 connected 但沒有出現任何工具,請閱讀除錯日誌(--debug mcp)在 Failed to fetch tools 之後回報的原因。若要確認伺服器本身是否正常,請使用下方的 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":[]}}}'

第一個呼叫回傳工具清單;第二個在 result.structuredContent 中回傳 JSON-RPC 回應。鏈識別碼是 base_mainnet 這類 slug,可從 list_chains 取得。需要 key 的工具需要 x-api-key 標頭;下面這個呼叫使用環境變數中的 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 以及該 key 的速率限制。如果你的 agent 透過有權限控管的 shell 執行命令,這種變數展開可能被阻擋;請改在 MCP 用戶端中設定標頭。

常見問題

BlockVectra MCP 伺服器需要 API key 嗎?

不需要。連線不需要 key,15 個工具中有 10 個永遠不需要 key。rpc_call 與 send_raw_transaction 在沒有 key 時,只能用於該鏈 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 只回傳步驟;agent 透過 HTTP 依照程式化建立帳戶建立 key,一般使用者則在控制台建立。key 絕不會經過工具參數。

Agent 能透過 MCP 伺服器傳送交易嗎?

可以廣播,但不能簽章。rpc_call 會拒絕寫入方法,例如 eth_sendRawTransaction、eth_sendTransaction、eth_sign 與 personal_*。send_raw_transaction 會用 eth_sendRawTransaction 廣播你已在本機簽好章的交易;伺服器從不持有或看到私鑰。

呼叫失敗時會怎樣?

工具錯誤會回傳 isError: true 與結構化的原因。請使用 explain_error 或錯誤碼參考,查看失敗是否計費以及是否應該重試。

相關內容

最後更新:

本頁目錄