MCP-сервер BlockVectra: блокчейн RPC и инструменты документации для ИИ-агентов
MCP-сервер BlockVectra дает разработчикам и ИИ-агентам блокчейн RPC без ключа, статус сетей, цены и инструменты документации с установкой одной командой для Claude Code, Cursor, VS Code, Codex, Gemini CLI и других клиентов.
MCP-сервер BlockVectra по адресу https://docs.blockvectra.com/mcp предоставляет разработчикам и ИИ-агентам 15 инструментов для вызовов блокчейн RPC, статуса сетей, цен и документации. Для подключения API key не нужен: 10 инструментов не требуют его никогда, остальные используют 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 и не хранит состояние (stateless). О файлах для HTTP, публичном JSON и связанном процессе регистрации см. в разделе Подключение ИИ-агентов.
Инструменты
| Инструмент | Что делает | 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 | Оценивает 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 | Отправляет GET-запрос к Data API поддерживаемой сети. | Обязателен (заголовок x-api-key) | Только чтение |
get_account | Читает баланс аккаунта, CU и лимиты запросов (GET /v1/account). | Обязателен (заголовок x-api-key) | Только чтение |
get_deposit_address | Читает адрес пополнения аккаунта, доступные сети и токены. | Обязателен (заголовок x-api-key) | Только чтение |
send_raw_transaction | Отправляет в сеть уже подписанную необработанную транзакцию (eth_sendRawTransaction). | Необязателен: без ключа только для методов из public.methods сети | Отправляет подписанную транзакцию в сеть |
Эта таблица формируется из реестра инструментов сервера, поэтому в ней перечислены все инструменты, которые возвращает tools/list. Аргументы и поля ответа каждого инструмента описаны в его собственной схеме tools/list.
Безопасность API key
Инструментам, требующим ключ, нужен API key для запросов к Data API, операций с аккаунтом или методов RPC за пределами публичных методов сети.
- Чтение строго из заголовков: API key считывается исключительно из HTTP-заголовков запроса MCP-клиента (
x-api-key: rgw_...илиAuthorization: Bearer rgw_...). - Никогда не передавайте ключи в чат: никогда не передавайте API key или приватные ключи в аргументах инструментов и не вставляйте их в чат. Аргументы инструментов и история чата попадают в логи бесед и контекст; передача ключей в аргументах будет отклонена.
При вызове без заголовка API key эти инструменты возвращают isError: true и направляют агента к how_to_get_api_key и руководству по программной регистрации.
Установка в вашем клиенте
Вы можете подключиться к MCP-серверу документации BlockVectra по адресу https://docs.blockvectra.com/mcp в распространенных средах разработки и фреймворках.
Начните работу без API key. Подключитесь к эндпоинту MCP, вызовите list_chains, затем прочитайте quickstart с помощью read_doc. Добавьте API key в HTTP-заголовки клиента, когда вам понадобятся Data API или инструменты для работы с аккаунтом. Доступ к 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), настройте заголовок x-api-key со своим API key.
Claude Code
Подключитесь к MCP-серверу с помощью CLI:
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}" }
}
}
}Экспортируйте BLOCKVECTRA_API_KEY в окружении, из которого запускается claude. При первом запуске claude в каталоге с .mcp.json Claude Code просит подтвердить сервер уровня проекта; до этого 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 documentation.
Cursor
Добавьте сервер в конфигурацию MCP в Cursor:
{
"mcpServers": {
"blockvectra": {
"url": "https://docs.blockvectra.com/mcp"
}
}
}Cursor также поддерживает установку в один клик через deep link с использованием конфигурации в формате base64 eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9 (соответствует {"url":"https://docs.blockvectra.com/mcp"}):
cursor://anysphere.cursor-deeplink/mcp/install?name=blockvectra&config=eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9Если требуются аутентифицированные инструменты (Data API или управление аккаунтом), добавьте объект headers с вашим API key:
{
"mcpServers": {
"blockvectra": {
"url": "https://docs.blockvectra.com/mcp",
"headers": {
"x-api-key": "${env:BLOCKVECTRA_API_KEY}"
}
}
}
}Форма ${env:NAME} взята из документации Cursor, которая раскрывает переменные в url и headers; здесь эта форма с Cursor не запускалась. Поместите файл в .cursor/mcp.json (проект) или ~/.cursor/mcp.json (глобально).
Официальная документация: Cursor MCP documentation и Cursor install links.
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 servers documentation и VS Code MCP configuration reference.
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 documentation.
Gemini CLI
В конфигурации Gemini CLI добавьте сервер в раздел mcpServers, используя httpUrl для Streamable HTTP:
{
"mcpServers": {
"blockvectra": {
"httpUrl": "https://docs.blockvectra.com/mcp"
}
}
}Если требуются аутентифицированные инструменты, добавьте объект headers с вашим API key:
{
"mcpServers": {
"blockvectra": {
"httpUrl": "https://docs.blockvectra.com/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}Официальная документация: Gemini CLI MCP server documentation.
OpenAI Responses API
При вызове OpenAI Responses API передайте MCP-сервер в массиве tools с type: "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 tools guide и OpenAI Responses API reference.
Windsurf
В Windsurf настройте сервер в разделе mcpServers, используя поле serverUrl:
{
"mcpServers": {
"blockvectra": {
"serverUrl": "https://docs.blockvectra.com/mcp"
}
}
}Если требуются аутентифицированные инструменты, добавьте объект headers с вашим API key:
{
"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 documentation.
Claude Desktop и claude.ai
Пользовательские коннекторы настраиваются через пользовательский интерфейс:
- claude.ai: перейдите в Настроить (Customize) > Коннекторы (Connectors), нажмите + Добавить (+ Add), выберите Добавить пользовательский коннектор (Add custom connector) и введите URL:
https://docs.blockvectra.com/mcp - Claude Desktop: откройте меню настроек аккаунта и настройте пользовательские коннекторы через интерфейс коннекторов.
Подключение по этому URL позволяет Claude искать по руководствам, читать документацию в Markdown, просматривать поддерживаемые сети, проверять статус сети и рассчитывать ориентировочную стоимость без ввода учетных данных.
Официальная документация: Claude custom connectors guide.
Проверка подключения и устранение неполадок
В 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 без клиента
Эндпоинт работает по JSON-RPC 2.0 через HTTP POST, поэтому его может вызвать любой 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":[]}}}'Первый вызов возвращает список инструментов; второй возвращает ответ JSON-RPC в result.structuredContent. Идентификаторы сетей — это слаги, например base_mainnet; получите их через 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":{}}}'Он возвращает key_id, plan, balance_units, balance_cu и лимиты частоты вызовов ключа в result.structuredContent. Если ваш агент выполняет команды через оболочку с проверкой разрешений, такое раскрытие переменной может быть заблокировано; настройте заголовок в MCP-клиенте.
FAQ
Нужен ли MCP-серверу BlockVectra API key?
Нет. Для подключения ключ не нужен, а 10 из 15 инструментов не требуют его никогда. 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 или справочник кодов ошибок, чтобы узнать, тарифицируется ли сбой и нужно ли повторять запрос.
Связанные материалы
- Подключение ИИ-агентов: машиночитаемые файлы, публичные JSON-эндпоинты и процесс выбора сети.
- Программная регистрация: создайте API key с помощью подписи кошелька без браузера.
- Примеры для фреймворков агентов: ElizaOS, viem, wagmi и Coinbase AgentKit.
- Коды ошибок: все ошибки с правилами тарификации и повтора.
Последнее обновление:
Логи против Transfers API
Выбирайте eth_getLogs для журналов событий контрактов или Token Transfers API для индексированной истории переводов ERC-20. Сравнение диапазонов блоков, пагинации, покрытия и финализации.
Один ключ для многих сетей
Один и тот же API key работает во всех поддерживаемых сетях. Узнайте структуру URL, как программно обнаруживать сети и как объединяются балансы и лимиты.