Serveur MCP BlockVectra : RPC blockchain et outils de documentation pour les agents IA

Le serveur MCP BlockVectra offre aux développeurs et aux agents IA des outils de RPC blockchain, d'état des chaînes, de tarifs et de documentation sans clé, avec une installation en une ligne pour Claude Code, Cursor, VS Code, Codex, Gemini CLI et plus encore.

Le serveur MCP BlockVectra, disponible à l'adresse https://docs.blockvectra.com/mcp, offre aux développeurs et aux agents IA 15 outils pour les appels RPC blockchain, l'état des chaînes, les tarifs et la documentation. Aucune API key n'est nécessaire pour s'y connecter : 10 outils n'en exigent jamais ; les autres utilisent x-api-key depuis les en-têtes de votre client. Installation en une ligne : claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp

Le point de terminaison est le point de terminaison MCP (POST HTTP recevant du JSON-RPC 2.0 ; GET renvoie 405), servi en MCP Streamable HTTP et sans état. Pour les fichiers HTTP, le JSON public et le flux d'inscription qui l'accompagne, consultez Connecter les agents IA.

Outils

OutilRôleAPI keyAccès
read_docLit une page de la documentation au format Markdown.Non requiseLecture seule
search_docsRecherche dans les titres, chemins et résumés de la documentation.Non requiseLecture seule
list_chainsListe les chaînes prises en charge, leurs paramètres et leurs politiques de méthodes (GET /v1/chains).Non requiseLecture seule
get_statusLit l'état en direct du service et des chaînes (GET /v1/status).Non requiseLecture seule
get_pricingLit les poids en Compute Units, les paramètres du forfait gratuit et les valeurs par défaut des clés (GET /v1/plans).Non requiseLecture seule
estimate_usageEstime les Compute Units et le coût d'une ou plusieurs méthodes.Non requiseLecture seule
how_to_get_api_keyRenvoie les étapes pour obtenir une API key et les formes d'authentification des requêtes.Non requiseLecture seule
get_method_infoAffiche la disponibilité d'une méthode par chaîne, son poids en CU et son prix.Non requiseLecture seule
explain_errorRecherche la signification d'une erreur, sa facturation, son caractère réessayable et la marche à suivre.Non requiseLecture seule
list_docsListe toutes les pages de la documentation avec leur chemin et leur titre.Non requiseLecture seule
rpc_callExécute une méthode JSON-RPC en lecture seule sur une chaîne prise en charge.Facultative : sans clé uniquement pour les méthodes de public.methods de la chaîneLecture seule
data_api_getEnvoie une requête GET à la Data API d'une chaîne prise en charge.Requise (en-tête x-api-key)Lecture seule
get_accountLit le solde du compte, les CU et les limites de débit (GET /v1/account).Requise (en-tête x-api-key)Lecture seule
get_deposit_addressLit l'adresse de dépôt du compte, les réseaux ouverts et les tokens.Requise (en-tête x-api-key)Lecture seule
send_raw_transactionDiffuse une transaction brute déjà signée (eth_sendRawTransaction).Facultative : sans clé uniquement pour les méthodes de public.methods de la chaîneDiffuse une transaction signée

Ce tableau est généré à partir du registre d'outils du serveur ; il liste donc chaque outil renvoyé par tools/list. Chaque outil accepte les arguments et renvoie les champs décrits dans son propre schéma tools/list.

Sécurité de l'API key

Les outils avec clé nécessitent une API key pour exécuter des requêtes Data API, des opérations de compte ou des méthodes RPC en dehors des méthodes publiques d'une chaîne.

  • Lecture stricte depuis les en-têtes : l'API key est lue uniquement à partir des en-têtes de requête HTTP du client MCP (x-api-key: rgw_... ou Authorization: Bearer rgw_...).
  • Ne jamais inclure de clés dans le chat : ne transmettez jamais d'API keys ou de clés privées dans les arguments d'outils et ne les collez pas dans le chat. Les arguments d'outils et l'historique du chat entrent dans les journaux de conversation et les contextes ; la transmission de clés dans les arguments sera rejetée.

S'ils sont appelés sans en-tête d'API key, les outils avec clé renvoient isError: true et orientent l'agent vers how_to_get_api_key et le guide d'inscription programmatique.

Installation dans votre client

Vous pouvez vous connecter au serveur MCP de documentation BlockVectra à l'adresse https://docs.blockvectra.com/mcp à travers les environnements et frameworks de développement courants.

Commencez sans API key. Connectez-vous au point de terminaison MCP, appelez list_chains, puis lisez quickstart avec read_doc. Ajoutez une API key dans les en-têtes HTTP de votre client lorsque vous avez besoin de la Data API ou des outils de compte. L'accès RPC sans clé suit la politique de méthodes publiques de chaque chaîne.

L'en-tête x-api-key est facultatif. Sans API key, les clients peuvent utiliser tous les outils de documentation en lecture seule (read_doc, search_docs, list_docs), la découverte des chaînes (list_chains), l'état en direct (get_status), l'estimation des tarifs (get_pricing, estimate_usage), les explications d'erreurs (explain_error) et les méthodes autorisées sur les points de terminaison publics. Lorsque vous utilisez des outils avec clé (rpc_call sur des méthodes restreintes, send_raw_transaction, data_api_get, get_account et get_deposit_address), configurez l'en-tête x-api-key avec votre API key.

Claude Code

Connectez-vous au serveur MCP à l'aide de la CLI :

claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp

Pour inclure une API key facultative pour les outils authentifiés, transmettez l'option --header (ou -H) et référencez une variable d'environnement au lieu de coller la clé. Utilisez des guillemets simples pour que votre shell ne l'expanse pas ; Claude Code expanse ${BLOCKVECTRA_API_KEY} au démarrage de la session :

claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp \
  --header 'x-api-key: ${BLOCKVECTRA_API_KEY}'

La même configuration sous forme de fichier .mcp.json au niveau du projet (ce que claude mcp add --scope project écrit également) :

{
  "mcpServers": {
    "blockvectra-docs": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp",
      "headers": { "x-api-key": "${BLOCKVECTRA_API_KEY}" }
    }
  }
}

Exportez BLOCKVECTRA_API_KEY dans l'environnement qui lance claude. Claude Code vous demande d'approuver un serveur .mcp.json de niveau projet la première fois que vous exécutez claude dans ce répertoire ; d'ici là, claude mcp list l'affiche comme Pending approval.

Pour les scripts et la CI, transmettez le fichier avec --mcp-config et autorisez les outils du serveur. La clé reste dans l'environnement et le client MCP ajoute lui-même l'en-tête, de sorte que l'agent n'a pas besoin d'une commande shell qui expanse $BLOCKVECTRA_API_KEY (la vérification des permissions de Claude Code rejetait de telles commandes en mode non interactif avec Contains simple_expansion) :

claude -p "Use rpc_call to run eth_blockNumber on base_mainnet" \
  --mcp-config ./mcp.json --allowedTools "mcp__blockvectra-docs__*"

Lorsque la clé est définie, le résultat de rpc_call contient aussi cu_charged et balance_units ; un appel sans clé ne renvoie que la réponse JSON-RPC. Si la variable n'est pas définie, le client envoie le texte littéral de l'en-tête et le serveur répond invalid_api_key (code d'erreur -32024) au lieu de basculer vers le point de terminaison sans clé.

Documentation officielle : Documentation MCP de Claude Code.

Cursor

Ajoutez le serveur à la configuration MCP de Cursor :

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

Cursor prend également en charge l'installation en un clic via des liens profonds (deep links) à l'aide de la configuration encodée en base64 eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9 (représentant {"url":"https://docs.blockvectra.com/mcp"}) :

cursor://anysphere.cursor-deeplink/mcp/install?name=blockvectra&config=eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9

Lorsque vous avez besoin d'outils authentifiés (Data API ou gestion de compte), ajoutez l'objet headers avec votre API key :

{
  "mcpServers": {
    "blockvectra": {
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "${env:BLOCKVECTRA_API_KEY}"
      }
    }
  }
}

La forme ${env:NAME} suit la documentation de Cursor, qui résout les variables dans url et headers ; cette forme n'a pas été exécutée avec Cursor ici. Placez le fichier dans .cursor/mcp.json (projet) ou ~/.cursor/mcp.json (global).

Documentation officielle : Documentation MCP de Cursor et Liens d'installation Cursor.

VS Code

Dans VS Code, configurez le serveur dans .vscode/mcp.json sous la clé de premier niveau servers avec type: "http" :

{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp"
    }
  }
}

Lorsque vous avez besoin d'outils authentifiés, ajoutez l'objet headers :

{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Pour stocker des identifiants sensibles, VS Code permet de référencer des variables d'entrée ou des fichiers d'environnement au lieu d'écrire les clés en dur. Vous pouvez aussi ajouter des serveurs avec l'action de la palette de commandes MCP: Add Server.

Documentation officielle : Documentation des serveurs MCP de VS Code et Référence de configuration MCP de VS Code.

Codex

Ajoutez le serveur à l'aide de la CLI OpenAI Codex :

codex mcp add blockvectra --url https://docs.blockvectra.com/mcp

Dans config.toml, configurez l'URL du serveur :

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"

Lorsque vous avez besoin d'outils authentifiés, configurez les en-têtes de requête dans config.toml :

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
http_headers = { "x-api-key" = "YOUR_API_KEY" }

Vous pouvez aussi faire correspondre l'en-tête à une variable d'environnement :

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
env_http_headers = { "x-api-key" = "BLOCKVECTRA_API_KEY" }

Documentation officielle : Documentation MCP de la CLI OpenAI Codex.

Gemini CLI

Dans la configuration de Gemini CLI, ajoutez le serveur sous mcpServers en utilisant httpUrl pour Streamable HTTP :

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

Lorsque vous avez besoin d'outils authentifiés, ajoutez l'objet headers avec votre API key :

{
  "mcpServers": {
    "blockvectra": {
      "httpUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Documentation officielle : Documentation du serveur MCP de Gemini CLI.

OpenAI Responses API

Lors de l'appel de l'OpenAI Responses API, transmettez le serveur MCP dans le tableau tools avec 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": "..."
  }'

Lorsque vous avez besoin d'outils authentifiés, ajoutez le champ headers dans la définition de l'outil :

{
  "type": "mcp",
  "server_label": "blockvectra",
  "server_url": "https://docs.blockvectra.com/mcp",
  "headers": { "x-api-key": "YOUR_API_KEY" },
  "require_approval": "never"
}

Documentation officielle : Guide des outils MCP d'OpenAI et Référence de l'OpenAI Responses API.

Windsurf

Dans Windsurf, configurez le serveur sous mcpServers en utilisant le champ serverUrl :

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

Lorsque vous avez besoin d'outils authentifiés, ajoutez l'objet headers avec votre API key :

{
  "mcpServers": {
    "blockvectra": {
      "serverUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Windsurf permet aussi de référencer des variables d'environnement, par exemple "x-api-key": "${env:BLOCKVECTRA_API_KEY}".

Documentation officielle : Documentation MCP de Windsurf.

Claude Desktop et claude.ai

Les connecteurs personnalisés se configurent via l'interface utilisateur :

  • claude.ai : accédez à Customize > Connectors, cliquez sur + Add, sélectionnez Add custom connector et saisissez l'URL :
    https://docs.blockvectra.com/mcp
  • Claude Desktop : ouvrez le menu des paramètres du compte et configurez les connecteurs personnalisés via l'interface des connecteurs.

En se connectant à l'URL, Claude peut rechercher dans les guides, lire la documentation en Markdown, consulter les chaînes prises en charge, vérifier l'état du réseau et calculer des estimations de tarifs sans identifiants.

Documentation officielle : Guide des connecteurs personnalisés de Claude.

Vérifier la connexion et dépanner

Dans Claude Code, claude mcp list affiche l'état de chaque serveur. Pour connaître le nombre d'outils réellement enregistrés, exécutez une fois la commande avec la sortie en flux et lisez l'événement init, ou consultez le journal de débogage :

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

Une connexion fonctionnelle affiche "status": "connected" et les outils mcp__blockvectra-docs__* (tels que list_chains et rpc_call) dans l'événement init. Dans le journal de débogage, cherchez les lignes relatives à blockvectra-docs, comme Successfully connected et Failed to fetch tools. Si le serveur est connected mais qu'aucun outil n'apparaît, lisez la raison indiquée par le journal de débogage (--debug mcp) après Failed to fetch tools. Pour vérifier que le serveur lui-même fonctionne correctement, utilisez les appels curl ci-dessous.

Appeler le point de terminaison MCP sans client

Le point de terminaison est du JSON-RPC 2.0 sur POST HTTP ; n'importe quel client HTTP peut donc l'appeler :

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":[]}}}'

Le premier appel renvoie la liste des outils ; le second renvoie la réponse JSON-RPC dans result.structuredContent. Les identifiants de chaîne sont des slugs tels que base_mainnet ; obtenez-les avec list_chains. Les outils avec clé nécessitent l'en-tête x-api-key ; cet appel lit votre compte avec la clé issue d'une variable d'environnement :

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":{}}}'

Il renvoie key_id, plan, balance_units, balance_cu et les limites de débit de la clé dans result.structuredContent. Si votre agent exécute des commandes via un shell soumis à des permissions, cette expansion de variable peut être bloquée ; configurez plutôt l'en-tête dans le client MCP.

FAQ

Le serveur MCP BlockVectra nécessite-t-il une API key ?

Non. La connexion ne demande aucune clé, et 10 des 15 outils n'en exigent jamais. rpc_call et send_raw_transaction s'exécutent sans clé uniquement pour les méthodes de public.methods de la chaîne (lisez-les avec list_chains). data_api_get, get_account et get_deposit_address nécessitent l'en-tête x-api-key.

Le serveur MCP peut-il créer ou révoquer des API keys ?

Non. Aucun outil ne crée, ne liste ni ne révoque d'API keys. how_to_get_api_key ne renvoie que les étapes ; un agent crée une clé via HTTP en suivant l'inscription programmatique, et les personnes en créent une dans la console. Les clés ne passent jamais par les arguments d'outils.

Un agent peut-il envoyer des transactions via le serveur MCP ?

Il peut diffuser, pas signer. rpc_call rejette les méthodes d'écriture telles que eth_sendRawTransaction, eth_sendTransaction, eth_sign et personal_*. send_raw_transaction diffuse via eth_sendRawTransaction une transaction que vous avez déjà signée localement ; le serveur ne détient ni ne voit jamais de clé privée.

Que se passe-t-il en cas d'échec d'un appel ?

Les erreurs d'outils renvoient isError: true avec une raison structurée. Utilisez explain_error ou la référence des codes d'erreur pour savoir si un échec est facturé et s'il faut réessayer.

Pages associées

Dernière mise à jour :

Sur cette page