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 或錯誤碼參考,查看失敗是否計費以及是否應該重試。
相關內容
- 連線 AI Agent:機器可讀檔案、公開 JSON 端點與選鏈流程。
- 程式化建立帳戶:不用瀏覽器,以錢包簽章建立 API key。
- Agent 框架配方:ElizaOS、viem、wagmi 與 Coinbase AgentKit。
- 錯誤碼:每個錯誤的計費與重試規則。
最後更新: