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
| Outil | Rôle | API key | Accès |
|---|---|---|---|
read_doc | Lit une page de la documentation au format Markdown. | Non requise | Lecture seule |
search_docs | Recherche dans les titres, chemins et résumés de la documentation. | Non requise | Lecture seule |
list_chains | Liste les chaînes prises en charge, leurs paramètres et leurs politiques de méthodes (GET /v1/chains). | Non requise | Lecture seule |
get_status | Lit l'état en direct du service et des chaînes (GET /v1/status). | Non requise | Lecture seule |
get_pricing | Lit les poids en Compute Units, les paramètres du forfait gratuit et les valeurs par défaut des clés (GET /v1/plans). | Non requise | Lecture seule |
estimate_usage | Estime les Compute Units et le coût d'une ou plusieurs méthodes. | Non requise | Lecture seule |
how_to_get_api_key | Renvoie les étapes pour obtenir une API key et les formes d'authentification des requêtes. | Non requise | Lecture seule |
get_method_info | Affiche la disponibilité d'une méthode par chaîne, son poids en CU et son prix. | Non requise | Lecture seule |
explain_error | Recherche la signification d'une erreur, sa facturation, son caractère réessayable et la marche à suivre. | Non requise | Lecture seule |
list_docs | Liste toutes les pages de la documentation avec leur chemin et leur titre. | Non requise | Lecture seule |
rpc_call | Exé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îne | Lecture seule |
data_api_get | Envoie une requête GET à la Data API d'une chaîne prise en charge. | Requise (en-tête x-api-key) | Lecture seule |
get_account | Lit 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_address | Lit 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_transaction | Diffuse une transaction brute déjà signée (eth_sendRawTransaction). | Facultative : sans clé uniquement pour les méthodes de public.methods de la chaîne | Diffuse 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_...ouAuthorization: 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/mcpPour 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=eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9Lorsque 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/mcpDans 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.logUne 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
- Connecter les agents IA : fichiers lisibles par machine, points de terminaison JSON publics et flux de sélection de chaîne.
- Inscription programmatique : créez une API key avec une signature de portefeuille, sans navigateur.
- Recettes pour frameworks d'agents : ElizaOS, viem, wagmi et Coinbase AgentKit.
- Codes d'erreur : chaque erreur avec ses règles de facturation et de nouvel essai.
Dernière mise à jour :
Logs vs Transfers API
Choisissez eth_getLogs pour les logs d'événements de contrat ou l'API Token Transfers pour l'historique indexé des transferts ERC-20. Comparez les plages de blocs, la pagination, la couverture et la finalité.
Une clé, plusieurs chaînes
La même API key fonctionne sur toutes les chaînes prises en charge. Découvrez la structure des URL, la détection programmatique des chaînes et la mutualisation des soldes et limites.