accueil / serveurs / Recherche & Web / com.chainstack/chainstack
com.chainstack/chainstack
serveur MCP (Model Context Protocol) · Chainstack 1.11.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.chainstack/chainstack est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.chainstack/chainstack » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 23 outils
- contact_chainstack≈ 863 tokens
Submit a message to Chainstack's sales and support team. Use when the user wants to ask about pricing, get a custom quote, request a plan upgrade, request node customizations (Enterprise), report a problem, or reach Chainstack for any reason. Posts to the same contact form as chainstack.com/contact/. ## Before calling this tool CRITICAL — follow these steps EVERY time: 1. Draft the message based on your conversation context. 2. Show the user the EXACT message, email, and name you will send. 3. If the user has a Chainstack API key configured, tell them their org name and ID will be included so the team can find their account and reply faster. 4. Ask: "Shall I send this to Chainstack? Please confirm there's no sensitive information you'd like removed." 5. Only call this tool after the user explicitly confirms. NEVER include in the message: - API keys, tokens, passwords, private keys, wallet seeds, mnemonics - RPC endpoint URLs (Chainstack or any other provider) - Wallet addresses, transaction hashes, on-chain account details, or anything else the user hasn't explicitly approved sharing ## Writing an effective message Include what you know: what they're building and at what scale, current plan and usage, what they need, what they've tried, and specific numbers. Bad: "I have a question about pricing." Good: "Pro plan user running 200M RU/month across Base and Ethereum, evaluating Business plan for archive access and higher RPS. Looking for annual pricing or a trial." Not for incidents or urgent outages — point users to https://support.chainstack.com/hc/en-us/requests/new and https://status.chainstack.com. Not for feature requests — point users to https://ideas.chainstack.com (product) or https://github.com/chainstacklabs/mcp-server/issues/new (MCP server). Works with or without an API key; with one, the org info is attached.
Paramètres, retour & exemple (4)
Paramètresname· string · requis
User's name (full name is fine, will be split on first space). Required. Ask the user if you don't have it on hand.email· string · requis
User's contact email. Required. Ask the user if you don't already have it.message· string · requis
The full message to send. Compose from conversation context — what the user is building, their plan and usage, what they need — so the Chainstack team can respond with a tailored answer instead of a generic one.category· string · optionnel
Routing hint. One of: - sales — pricing, quotes, plan upgrades, custom terms. - support — errors, bugs, how-to, "something isn't working". - general — everything else. Case-insensitive. Unknown values fall back to "general". Default: "general".
Exemple d'appel{"name": "contact_chainstack", "arguments": {"name": "texte", "email": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"submitted": true, "lead_source": "texte", "alternative_channels": [], "estimated_response_time": "texte"}} - create_node≈ 399 tokens
Deploy a new blockchain node. Call get_deployment_options first for valid IDs. Trader nodes are region-bound (e.g., London, Ashburn, Singapore). Always confirm the region with the user before deploying — region cannot be changed after deployment.
Paramètres, retour & exemple (4)
Paramètresname· string · requis
Node name.cloud· string · requis
Cloud ID from get_deployment_options (e.g., CC-0016 for Global; Trader IDs vary by region).project· string · requis
Project ID from list_projects (e.g., PR-123-456-789).blockchain· string · requis
Blockchain ID from get_deployment_options (e.g., BC-000-000-008).
Exemple d'appel{"name": "create_node", "arguments": {"name": "texte", "cloud": "texte", "project": "texte", "blockchain": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "cloud": "texte", "region": "texte", "status": "texte", "network": "texte", "project": "texte", "protocol": "texte", "node_tier": "texte", "blockchain": "texte", "wss_endpoint": "texte", "api_namespaces": []}} - create_node_access_rule≈ 527 tokens
Add an IP or Origin allowlist rule to a Global node. New rules are deactivated and do nothing until activated. Active IP rules limit which client IPs can call the node; active origin rules limit which Origin headers it accepts. With both kinds active, a request must pass both. Everything else gets HTTP 403 within about 10 seconds. Rules don't affect the Chainstack API, so they can always be changed or deactivated with these tools. Before activating, confirm with the user that the IP rules cover every IP that calls the node (servers, CI, their own machine); you can't check this. Origin rules are for browser-only access: once one is active, every request without an Origin header (servers, scripts, curl) is blocked, even from an allowed IP. If an identical rule exists, it is returned instead of a duplicate.
Paramètres, retour & exemple (4)
Paramètresvalue· string · requis
For ip, one IPv4 or IPv6 address (no CIDR ranges). For origin, a host name without scheme or path: example.com, *.example.com (the domain and its subdomains), or * (any origin). Up to 65 characters.node_id· string · requis
Node ID (e.g., ND-123-456-789).activate· boolean · optionnel
Also activate the rule. Only after the user confirms the allowlist.rule_type· string · requis · ip | origin
ip or origin.
Exemple d'appel{"name": "create_node_access_rule", "arguments": {"value": "texte", "node_id": "texte", "rule_type": "ip"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rule": {}, "created": true, "message": "texte", "warnings": []}} - create_project≈ 199 tokens
Create a new project.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Project name.description· string · optionnel
Optional description.
Exemple d'appel{"name": "create_project", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "type": "texte", "creator": {}, "networks": 1, "created_at": "texte", "description": "texte"}} - delete_node≈ 121 tokens
Delete a node (irreversible).
Paramètres, retour & exemple (1)
Paramètresnode_id· string · requis
Node ID (e.g., ND-123-456-789).
Exemple d'appel{"name": "delete_node", "arguments": {"node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": "texte"}} - delete_node_access_rule≈ 205 tokens
Delete an access rule from a node (irreversible). Deleting an active rule changes who can reach the node; the result says what's enforced afterwards. With no active rules left, the node accepts requests from any IP and origin.
Paramètres, retour & exemple (2)
Paramètresnode_id· string · requis
Node ID (e.g., ND-123-456-789).rule_id· string · requis
Rule ID from list_node_access_rules (e.g., NAR-123-456-789).
Exemple d'appel{"name": "delete_node_access_rule", "arguments": {"node_id": "texte", "rule_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": "texte"}} - delete_project≈ 125 tokens
Delete a project (irreversible).
Paramètres, retour & exemple (1)
Paramètresproject_id· string · requis
Project ID (e.g., PR-123-456-789).
Exemple d'appel{"name": "delete_project", "arguments": {"project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": "texte"}} - get_chainstack_pricing≈ 714 tokens
Fetch Chainstack's public pricing and return a normalized snapshot. Use this to answer pricing questions before quoting the user: plan fit, overage math, per-chain dedicated-node costs, and add-on pricing (Unlimited Node flat-fee tiers, Yellowstone gRPC streams, Warp transactions, dedicated-node base rates). This tool returns the menu, not the bill — the calling agent does the arithmetic. All prices are list prices in USD; disclaimers are surfaced in the `disclaimers` field. Per-method RU billing rules are NOT in these sources. Plan-level rates (Full Node = 1 RU, Archive Node = 2 RU) are in the markdown, but some EVM archive-state methods (eth_getBalance, eth_call, eth_getProof, eth_getStorageAt, eth_getCode, eth_getTransactionCount, eth_callMany, eth_createAccessList) and all debug_* / trace_* methods are billed at 2 RU on a full node when called against old blocks. For method-level detail, call `search_docs` with "request units" or `get_doc_page("docs/request-units")`. No API key required — sources are fully public. Each call fetches both sources fresh (no caching), so a stale result isn't possible. Returns: A dict with fields: - `pricing_markdown`: raw markdown from chainstack.com/pricing.md. Read this for plan tiers, feature matrix, add-on pricing, support levels, PAYG details, and provider comparisons. - `dedicated_catalog`: user-orderable per-chain dedicated-node SKUs with flavor, regions (as infra slugs like "sgp1"), hourly and monthly prices in USD. - `region_legend`: slug → city name for every region slug in `dedicated_catalog`; use it for display. - `disclaimers`: list-price caveats (Enterprise "from" pricing, etc.). - `sources`, `warnings`: per-source status; warnings are set when a source failed and the result is best-effort. - `fetched_at`: UTC timestamp of this call.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_chainstack_pricing", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"sources": {}, "warnings": [], "fetched_at": "texte", "disclaimers": [], "region_legend": "texte", "pricing_markdown": "texte", "dedicated_catalog": "texte"}} - get_deployment_options≈ 232 tokens
List blockchain/cloud/network combinations for node deployment. Call before create_node to get valid blockchain and cloud IDs.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_deployment_options", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": []}} - get_doc_page≈ 202 tokens
Get the full content of a Chainstack documentation page. Use after search_docs to fetch the complete page when a snippet isn't enough.
Paramètres, retour & exemple (1)
Paramètrespage· string · requis
Page path from search results — pass the `page` field from a search_docs result (e.g., "docs/ethereum-trader-nodes"). The leading slash, the `.mdx` extension, and the docs.chainstack.com URL prefix are all optional and stripped if present.
Exemple d'appel{"name": "get_doc_page", "arguments": {"page": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": "texte"}} - get_node≈ 259 tokens
Get a node's full details including endpoints and cloud info.
Paramètres, retour & exemple (1)
Paramètresnode_id· string · requis
Node ID (e.g., ND-123-456-789).
Exemple d'appel{"name": "get_node", "arguments": {"node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "cloud": "texte", "region": "texte", "status": "texte", "network": "texte", "project": "texte", "protocol": "texte", "node_tier": "texte", "blockchain": "texte", "wss_endpoint": "texte", "api_namespaces": []}} - get_organization≈ 96 tokens
Get organization name and ID.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_organization", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte"}} - get_platform_status≈ 213 tokens
Check platform status, active incidents, and maintenances.
Paramètres, retour & exemple (1)
Paramètresnetwork· string · optionnel
Optional filter (e.g., "ethereum"). Without it, returns overall status and incidents only.
Exemple d'appel{"name": "get_platform_status", "arguments": {"network": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"status": "texte", "incidents": [], "components": [], "maintenances": []}} - get_project≈ 184 tokens
Get project details.
Paramètres, retour & exemple (1)
Paramètresproject_id· string · requis
Project ID (e.g., PR-123-456-789).
Exemple d'appel{"name": "get_project", "arguments": {"project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "type": "texte", "creator": {}, "networks": 1, "created_at": "texte", "description": "texte"}} - list_node_access_rules≈ 324 tokens
List a node's access rules (IP and Origin allowlists, Global nodes only). With no active rules, the node accepts requests from any IP and origin. If correctly configured rules still return 403, that's a support case: offer contact_chainstack.
Paramètres, retour & exemple (3)
Paramètresstatus· ? · optionnel
Only return activated or deactivated rules.node_id· string · requis
Node ID (e.g., ND-123-456-789).rule_type· ? · optionnel
Only return ip or origin rules.
Exemple d'appel{"name": "list_node_access_rules", "arguments": {"node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rules": [], "message": "texte"}} - list_nodes≈ 308 tokens
List nodes with status and connection endpoints.
Paramètres, retour & exemple (1)
Paramètresproject_id· string · optionnel
Optional project ID to filter by (e.g., PR-123-456-789). If omitted, returns all nodes in the organization.
Exemple d'appel{"name": "list_nodes", "arguments": {"project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": []}} - list_projects≈ 196 tokens
List all projects. Projects are containers for nodes.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_projects", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": []}} - request_testnet_funds≈ 490 tokens
Top up a testnet address from Chainstack's faucet. The faucet does not send a fixed amount — it tops the address up to the per-network maximum (e.g. 0.5 ETH for sepolia). If the address already sits above the cap, the call fails with an insufficient-balance error. Describe the behavior to the user as "top up" not "give", and surface the returned `amountSent` so they see the actual delta. One top-up per network every 24 hours: a repeat call for the same network is refused (429) if the same organization or the same address got funds there in the last 24 hours, and the error says when the next top-up is available. Other networks have separate cooldowns. A success is final even if the balance hasn't updated yet; track the returned `transaction` instead of calling again.
Paramètres, retour & exemple (2)
Paramètresaddress· string · requis
Destination address. EVM hex address for EVM networks, a TON address for `ton`, or a base58 Solana public key for `solana`. Validated server-side — format errors surface as 400.network· string · requis · sepolia | hoodi | base | amoy | bnb-testnet | zksync-testnet | robinhood | hyperevm
Testnet to fund. Must be one of the canonical ids in `enum`. Common aliases (ethereum-sepolia, base-sepolia, solana-devnet, ...) are accepted and normalized to the canonical id.
Exemple d'appel{"name": "request_testnet_funds", "arguments": {"address": "texte", "network": "sepolia"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "network": "texte", "amountSent": "texte", "transaction": "texte"}} - search_docs≈ 200 tokens
Search Chainstack docs — blockchain RPC methods, node infrastructure, Web3 APIs, deployment guides, and code examples.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Search query (e.g., "deploy ethereum node", "eth_call").
Exemple d'appel{"name": "search_docs", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": []}} - set_node_access_rules_status≈ 357 tokens
Activate or deactivate every access rule on a node at once. Activating enforces every rule within about 10 seconds: active IP rules limit which IPs can call the node, active origin rules limit which Origin headers it accepts, and a request must pass both kinds. Others get HTTP 403. First confirm with the user that the IP rules cover every IP that calls the node (servers, CI, their own machine); you can't check this. Origin rules block every request without an Origin header (servers, scripts, curl), even from an allowed IP. Deactivating opens the node to any IP and origin.
Paramètres, retour & exemple (2)
Paramètresstatus· string · requis · activated | deactivated
activated or deactivated.node_id· string · requis
Node ID (e.g., ND-123-456-789).
Exemple d'appel{"name": "set_node_access_rules_status", "arguments": {"status": "activated", "node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rules": [], "message": "texte"}} - update_node≈ 264 tokens
Rename a node.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
New name.node_id· string · requis
Node ID (e.g., ND-123-456-789).
Exemple d'appel{"name": "update_node", "arguments": {"name": "texte", "node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "cloud": "texte", "region": "texte", "status": "texte", "network": "texte", "project": "texte", "protocol": "texte", "node_tier": "texte", "blockchain": "texte", "wss_endpoint": "texte", "api_namespaces": []}} - update_node_access_rule≈ 413 tokens
Change an access rule's value, or activate or deactivate it. A rule's type can't change; delete it and create a new one. Before activating, confirm with the user that the IP rules cover every IP that calls the node. Activating the first origin rule blocks every request without an Origin header (servers, scripts, curl), even from allowed IPs. Changing or deactivating a rule can block clients that only it allowed.
Paramètres, retour & exemple (4)
Paramètresvalue· ? · optionnel
New value, in the format the rule's type needs (see create_node_access_rule).status· ? · optionnel
activated or deactivated.node_id· string · requis
Node ID (e.g., ND-123-456-789).rule_id· string · requis
Rule ID from list_node_access_rules (e.g., NAR-123-456-789).
Exemple d'appel{"name": "update_node_access_rule", "arguments": {"node_id": "texte", "rule_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rule": {}, "created": true, "message": "texte", "warnings": []}} - update_project≈ 244 tokens
Update a project's name or description.
Paramètres, retour & exemple (3)
Paramètresname· ? · optionnel
New name.project_id· string · requis
Project ID (e.g., PR-123-456-789).description· ? · optionnel
New description.
Exemple d'appel{"name": "update_project", "arguments": {"project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "type": "texte", "creator": {}, "networks": 1, "created_at": "texte", "description": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».