BlockVectra Docs

JSON-RPC & Data API docs, chains, status, CU pricing, error help, API key signup. No key needed.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
75%
命名质量
92%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,749token 数(工具定义)
~2.4 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.93%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

https://docs.blockvectra.com/mcpstreamable-http

它能做什么

工具清单

工具(13)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢read_doc(path, lang)

Read the raw Markdown content of a documentation page from /md/{lang}/{path}.md. Path must be an internal relative path (e.g. 'quickstart', 'guides/ai-agents', 'api/json-rpc', 'chains'). Parent path traversal ('..'), encoded traversal, protocol prefixes, hostnames, query strings and fragments are rejected. Data is retrieved from static documentation build assets.

输入模式

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "Internal relative documentation path (e.g. 'quickstart', 'guides/ai-agents', 'api/json-rpc'). Do not include protocol, hostname, query string, fragment, or '..'."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "zh"
      ],
      "description": "Documentation language: 'en' for English or 'zh' for Chinese. Defaults to 'en'."
    }
  },
  "required": [
    "path"
  ]
}
🟢search_docs(query, lang, limit)

Search documentation pages using keywords against page title, relative path, and first-paragraph summary in the lightweight static search index. Returns matching page titles, paths, and summaries.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Keywords to search for in documentation titles, paths, and summaries."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "zh"
      ],
      "description": "Language to search: 'en' for English or 'zh' for Chinese. Defaults to 'en'."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of search results to return (1-20, default 5)."
    }
  },
  "required": [
    "query"
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "path",
          "summary"
        ]
      }
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "results"
  ]
}
🟢list_chains

Fetch supported blockchain networks and static parameters from `GET /v1/chains`. `methods.allow` and `methods.deny` support wildcard patterns where `deny` takes precedence over `allow`. `state_window_blocks` indicates the historical state window in blocks for state queries (null when full history is available); `max_logs_block_range` limits log queries.

输入模式

{
  "type": "object",
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "chains": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "chain_id": {
            "type": "number"
          },
          "jsonrpc": {
            "type": "boolean"
          },
          "data": {
            "type": "boolean"
          },
          "ws": {
            "type": "boolean"
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "methods": {
            "type": [
              "object",
              "null"
            ]
          },
          "max_logs_block_range": {
            "type": [
              "number",
              "null"
            ]
          },
          "state_window_blocks": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "chain"
        ]
      }
    }
  },
  "required": [
    "chains"
  ]
}
🟢get_status

Live operational status and network health from `GET /v1/status`. Confirm chain `status` is 'ok' before calling methods; see `list_chains` for static chain capabilities and method policies. For Data API, `data_status` can be 'ok', 'syncing' (queryable and billed normally, but indexing is lagging behind latest block time), or 'unavailable'.

输入模式

{
  "type": "object",
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "checked_at": {
      "type": "string"
    },
    "gateway": {
      "type": "object"
    },
    "chains": {
      "type": "array"
    }
  },
  "required": [
    "gateway",
    "chains"
  ]
}
🟢get_pricing

Live prices and plan limits from `GET /v1/plans`. Use before estimating cost or when asked about free credits, rate limits or per-method prices. Units: 1 billing unit = `pricing.cu_per_unit` CU; 1 USD buys `pricing.units_per_usd` units. `method_weights` is CU per call; resolve a method by exact match, then the longest prefix rule ending in `*`, then the `*` row (JSON-RPC only; Data API operations have no default). `free.*` values are in billing units; `key_defaults` are per-key CU/s and burst CU. `promo.ends_at` is a sign-up coverage cutoff, not the end of the offer.

输入模式

{
  "type": "object",
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "free": {
      "type": "object"
    },
    "pricing": {
      "type": "object"
    },
    "method_weights": {
      "type": "array"
    },
    "key_defaults": {
      "type": "object"
    }
  },
  "required": [
    "pricing",
    "method_weights"
  ]
}
🟢estimate_usage(lines, method, calls_per_day)

Estimate daily and cycle Compute Units (CU) and USD cost for one or more methods and daily call volumes based on /v1/plans method weights and pricing. Pass 'lines' array of {method, calls_per_day}, or legacy single 'method' and 'calls_per_day'.

输入模式

{
  "type": "object",
  "properties": {
    "lines": {
      "type": "array",
      "description": "List of methods and daily call volumes to estimate.",
      "items": {
        "type": "object",
        "properties": {
          "method": {
            "type": "string",
            "description": "Method name (e.g. 'eth_call', 'eth_getLogs', 'eth_blockNumber', 'data.address_balances')."
          },
          "calls_per_day": {
            "type": "integer",
            "minimum": 0,
            "description": "Expected daily call volume (non-negative integer)."
          }
        },
        "required": [
          "method",
          "calls_per_day"
        ]
      }
    },
    "method": {
      "type": "string",
      "description": "Exact method name (e.g. 'eth_call', 'eth_getLogs', 'eth_blockNumber', 'data.address_balances'). Legacy single-method mode."
    },
    "calls_per_day": {
      "type": "integer",
      "minimum": 0,
      "description": "Expected daily call volume (non-negative integer). Legacy single-method mode."
    }
  }
}

输出模式

{
  "type": "object",
  "properties": {
    "method": {
      "type": "string"
    },
    "calls_per_day": {
      "type": "number"
    },
    "cu_weight": {
      "type": [
        "number",
        "null"
      ]
    },
    "daily_cu": {
      "type": "number"
    },
    "daily_cost_usd": {
      "type": [
        "number",
        "null"
      ]
    },
    "cycle_days": {
      "type": "number"
    },
    "cycle_cu": {
      "type": "number"
    },
    "cycle_cost_usd": {
      "type": [
        "number",
        "null"
      ]
    },
    "free_quota_cu": {
      "type": [
        "number",
        "null"
      ]
    },
    "quota_percent": {
      "type": [
        "number",
        "null"
      ]
    },
    "exceeds_free_quota": {
      "type": "boolean"
    },
    "average_calls_per_sec": {
      "type": "number"
    },
    "max_calls_per_sec": {
      "type": [
        "number",
        "null"
      ]
    },
    "exceeds_rate_limit": {
      "type": "boolean"
    }
  },
  "required": [
    "method",
    "calls_per_day"
  ]
}
🟢how_to_get_api_key(lang)

Get instructions and endpoints for obtaining a BlockVectra API key via preferred programmatic SIWE sign-up or browser handoff, plus authentication header and URL formats for JSON-RPC and Data API.

输入模式

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "zh"
      ],
      "description": "Documentation language: 'en' for English or 'zh' for Chinese. Defaults to 'en'."
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "preferred_path": {
      "type": "string"
    },
    "paths": {
      "type": "object",
      "properties": {
        "programmatic": {
          "type": "object",
          "properties": {
            "base_url": {
              "type": "string"
            },
            "guide_url": {
              "type": "string"
            },
            "steps": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "step": {
                    "type": "number"
                  },
                  "name": {
                    "type": "string"
                  },
                  "endpoint": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "step",
                  "name",
                  "description"
                ]
              }
            },
            "rate_limit_policy": {
              "type": "object",
              "properties": {
                "error_code": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "retry_after_header": {
                  "type": "string"
                },
                "instruction": {
                  "type": "string"
                }
              },
              "required": [
                "error_code",
                "status",
                "retry_after_header",
                "instruction"
              ]
            },
            "token_lifetime": {
              "type": "object",
              "properties": {
                "absolute_ttl_days": {
                  "type": "number"
                },
                "idle_ttl_hours": {
                  "type": "number"
                },
                "refresh_token": {
                  "type": "boolean"
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "absolute_ttl_days",
                "idle_ttl_hours",
                "refresh_token",
                "description"
              ]
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "security": {
              "type": "string"
            }
          },
          "required": [
            "base_url",
            "guide_url",
            "steps",
            "rate_limit_policy",
            "token_lifetime",
            "notes",
            "security"
          ]
        },
        "browser": {
          "type": "object",
          "properties": {
            "console_url": {
              "type": "string"
            },
            "instructions": {
              "type": "string"
            }
          },
          "required": [
            "console_url",
            "instructions"
          ]
        }
      },
      "required": [
        "programmatic",
        "browser"
      ]
    },
    "console_url": {
      "type": "string"
    },
    "handoff_instructions": {
      "type": "string"
    },
    "env_var": {
      "type": "string"
    },
    "auth_methods": {
      "type": "object",
      "properties": {
        "data_api": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string"
            },
            "example": {
              "type": "string"
            }
          },
          "required": [
            "header"
          ]
        },
        "json_rpc": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string"
            },
            "bearer": {
              "type": "string"
            },
            "example": {
              "type": "string"
            }
          },
          "required": [
            "header"
          ]
        }
      },
      "required": [
        "data_api",
        "json_rpc"
      ]
    },
    "security_notice": {
      "type": "string"
    }
  },
  "required": [
    "preferred_path",
    "paths",
    "console_url",
    "handoff_instructions",
    "env_var",
    "auth_methods",
    "security_notice"
  ]
}
🟢get_method_info(method, chain)

Inspect a method's availability across chains (per methods.allow and methods.deny), Compute Unit (CU) weight, price per million calls, and documentation link. Sourced from /v1/chains, /v1/plans, and the documentation catalog.

输入模式

{
  "type": "object",
  "properties": {
    "method": {
      "type": "string",
      "description": "Method name (e.g. 'eth_call', 'eth_getBalance', 'debug_traceBlockByNumber', 'data.address_balances')."
    },
    "chain": {
      "type": "string",
      "description": "Optional chain slug (e.g. 'robinhood_mainnet'). If specified, only availability for this chain is returned."
    }
  },
  "required": [
    "method"
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "method": {
      "type": "string"
    },
    "chain": {
      "type": [
        "string",
        "null"
      ]
    },
    "supported": {
      "type": "boolean"
    },
    "available_chains": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "cu_weight": {
      "type": [
        "number",
        "null"
      ]
    },
    "cost_per_million_usd": {
      "type": [
        "number",
        "null"
      ]
    },
    "docs_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "notes": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "method",
    "supported",
    "available_chains"
  ]
}
🟢explain_error(reason, code, http_status, lang)

Lookup error code, reason, or HTTP status in the official error reference catalog. Returns meaning, billing implications (whether the call was billed), retryability, retry delay, recommended agent action, and documentation URL.

输入模式

{
  "type": "object",
  "properties": {
    "reason": {
      "type": "string",
      "description": "Error reason slug (e.g. 'invalid_request', 'key_rate_limit', 'insufficient_balance', 'not_found')."
    },
    "code": {
      "type": [
        "number",
        "string"
      ],
      "description": "Error code (e.g. -32600, -32005, -32020, or console code string like 'siwe_invalid')."
    },
    "http_status": {
      "type": "number",
      "description": "HTTP status code (e.g. 200, 400, 402, 404, 429, 500, 503)."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "zh"
      ],
      "description": "Language for explanations: 'en' for English or 'zh' for Chinese. Defaults to 'en'."
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "matched": {
      "type": "boolean"
    },
    "count": {
      "type": "number"
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": [
              "number",
              "string"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "http": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "billed": {
            "type": [
              "boolean",
              "string"
            ]
          },
          "retryable": {
            "type": "boolean"
          },
          "retry_after": {
            "type": [
              "string",
              "null"
            ]
          },
          "action": {
            "type": "string"
          },
          "docs_url": {
            "type": "string"
          },
          "category": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "http",
          "message",
          "billed",
          "retryable",
          "action",
          "docs_url"
        ]
      }
    }
  },
  "required": [
    "matched",
    "errors"
  ]
}
🟢list_docs(lang)

List all available documentation pages, relative paths, and titles from the static documentation index. No API key required.

输入模式

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "zh"
      ],
      "description": "Documentation language: 'en' for English or 'zh' for Chinese. Defaults to 'en'."
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string"
    },
    "count": {
      "type": "number"
    },
    "docs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "path",
          "summary"
        ]
      }
    }
  },
  "required": [
    "lang",
    "count",
    "docs"
  ]
}
🔴rpc_call(chain, method, params)

Execute a JSON-RPC 2.0 method on a specified blockchain network using your BlockVectra API key. Requires the 'x-api-key' or 'Authorization: Bearer <key>' HTTP header in your MCP client configuration (never pass keys in tool parameters or chat). Returns the raw JSON-RPC response from the server.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "description": "Target blockchain network slug (e.g. 'robinhood_mainnet'). Must exist in GET /v1/chains."
    },
    "method": {
      "type": "string",
      "description": "JSON-RPC 2.0 method name (e.g. 'eth_blockNumber', 'eth_call', 'eth_getLogs')."
    },
    "params": {
      "type": "array",
      "description": "Optional JSON-RPC parameter array. Defaults to []."
    }
  },
  "required": [
    "chain",
    "method"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "jsonrpc": {
      "type": "string"
    },
    "id": {
      "type": [
        "number",
        "string",
        "null"
      ]
    },
    "result": {},
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "number"
        },
        "message": {
          "type": "string"
        },
        "reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "docs_url": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "cu_charged": {
      "type": "integer",
      "description": "Compute Units billed for this request (only present when charged and x-bv-meter: 1 was sent)."
    },
    "balance_units": {
      "type": "integer",
      "description": "Remaining balance units after this request (only present when balance is known and x-bv-meter: 1 was sent)."
    }
  }
}
🟢data_api_get(chain, path, query)

Query the BlockVectra Data API for a specified chain and path using your BlockVectra API key. Requires the 'x-api-key' or 'Authorization: Bearer <key>' HTTP header in your MCP client configuration (never pass keys in tool parameters or chat). Returns the HTTP status and JSON response body.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "description": "Target blockchain network slug (e.g. 'robinhood_mainnet')."
    },
    "path": {
      "type": "string",
      "description": "Path after '/v1/data/{chain}/' (e.g. 'status/freshness', 'address/0x.../balances'). Must not start with '/', and cannot contain '..', '//', '?', '#', or '%'."
    },
    "query": {
      "type": "object",
      "description": "Optional URL query parameters as key-value pairs.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "chain",
    "path"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "number"
    },
    "data": {},
    "error": {
      "type": "string"
    },
    "_truncated": {
      "type": "boolean"
    },
    "bytes": {
      "type": "integer"
    },
    "cu_charged": {
      "type": "integer",
      "description": "Compute Units billed for this request (only present when charged and x-bv-meter: 1 was sent)."
    },
    "balance_units": {
      "type": "integer",
      "description": "Remaining balance units after this request (only present when balance is known and x-bv-meter: 1 was sent)."
    }
  }
}
🟢get_account

Get the API key's own balance, Compute Units (CU), rate limits, and key parameters from GET /v1/account using your BlockVectra API key. Free and unbilled. Requires the 'x-api-key' or 'Authorization: Bearer <key>' HTTP header in your MCP client configuration (never pass keys in tool parameters or chat). Returns the account's key_id, plan, balance_units, balance_cu, balance_as_of_age_ms, and key limits.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "number"
    },
    "data": {},
    "error": {
      "type": "string"
    },
    "_truncated": {
      "type": "boolean"
    },
    "bytes": {
      "type": "integer"
    },
    "key_id": {
      "type": "string"
    },
    "plan": {
      "type": "string"
    },
    "balance_units": {
      "type": "integer"
    },
    "balance_cu": {
      "type": "integer"
    },
    "balance_as_of_age_ms": {
      "type": "integer"
    },
    "key": {
      "type": "object",
      "properties": {
        "cu_per_sec": {
          "type": "integer"
        },
        "burst_cu": {
          "type": "integer"
        },
        "cu_cap": {
          "type": [
            "integer",
            "null"
          ]
        },
        "cu_cap_remaining": {
          "type": [
            "integer",
            "null"
          ]
        },
        "expires_at": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    }
  }
}

社区

评价此服务器

证据

最近观测

已验证未记录版本13 个工具