Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Chainstack

REMOTE · MCP.CHAINSTACK.COM · SCANNED AUG 18

Deploy and manage blockchain nodes across 70+ protocols, search docs, request testnet funds.

+3 this week 68 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security66
Transport & Reachability100
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3563 tokens (~178/item across 20 items; 18 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage73
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 4% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.chainstack.com

# add to Claude Code
claude mcp add --transport http com-chainstack-chainstack https://mcp.chainstack.com/mcp
# ~/.codex/config.toml
[mcp_servers.com-chainstack-chainstack]
url = "https://mcp.chainstack.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-chainstack-chainstack": {
      "type": "remote",
      "url": "https://mcp.chainstack.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-chainstack-chainstack --url https://mcp.chainstack.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-chainstack-chainstack:
    url: "https://mcp.chainstack.com/mcp"
// mcp.json
{
  "mcpServers": {
    "com-chainstack-chainstack": {
      "type": "http",
      "url": "https://mcp.chainstack.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Aug 26 0
    • Stability: unverified → 0.03 functional
  • 11 Aug 26 65

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 18 Aug 2026 · Probed https://mcp.chainstack.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=chainstack.com CN=YE1,O=Let's Encrypt,C=US 14 Jul 2026 12 Oct 2026 ECDSA 256 ECDSA-SHA384 5f204ddcefbfac86ddc69c3eda5766c71ca
SANs: *.chainstack.com, *.core.chainstack.com, chainstack.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC secure

Validation of mcp.chainstack.com. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
chainstack.com. present 2371 13 Verified
mcp.chainstack.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy same-origin
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.chainstack.com/mcp Verified 200
http (plaintext) http://mcp.chainstack.com/mcp HTTPS enforced 301 https://mcp.chainstack.com/mcp
MCP tools · 18 exposed · ~2,829 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
contact_chainstack ~775

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: "I'll also include your Chainstack account info (org name and ID) so the team can pull up your account immediately — this means significantly faster handling and a more tailored response." 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, or on-chain account details the user hasn't approved sharing - Any information the user hasn't explicitly approved sharing If the user shared sensitive data during the conversation, do NOT include it unless they specifically approve it in the review step. ## Writing an effective message A great message gets the user a faster, more tailored response. Include what you already know from the conversation: - What they're building and at what scale - Current plan and usage (e.g., "Pro plan, ~80M RU/month on Base") - What they need (upgrade, custom pricing, migration help, etc.) - What they've tried or what's not working - Specific numbers when available 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 prici…

NameTypeReqDescription
categorystring
emailstringyes
messagestringyes
namestringyes
NameTypeReqDescription
alternative_channelsarrayyes
estimated_response_timestringyes
lead_sourcestringyes
submittedbooleanyes

No examples provided.

create_node ~164

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. Args: name: Node name. project: Project ID from list_projects (e.g., PR-123-456-789). blockchain: Blockchain ID from get_deployment_options (e.g., BC-000-000-008). cloud: Cloud ID from get_deployment_options (e.g., CC-0016 for Global, CC-0020 for London).

NameTypeReqDescription
blockchainstringyes
cloudstringyes
namestringyes
projectstringyes
NameTypeReqDescription
api_namespacesarray
beacon_endpointstring
blockchainstring
cloudstring
https_endpointstring
idstringyes
namestringyes
networkstringyes
node_tierstringyes
projectstringyes
protocolstringyes
regionstringyes
statusyes
wss_endpointstring

No examples provided.

create_project ~41

Create a new project. Args: name: Project name. description: Optional description.

NameTypeReqDescription
descriptionstring
namestringyes
NameTypeReqDescription
created_atstring
creatorobject
description
idstringyes
namestringyes
networksinteger
type

No examples provided.

delete_node ~43

Delete a node (irreversible). Args: node_id: Node ID (e.g., ND-123-456-789).

NameTypeReqDescription
node_idstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

delete_project ~43

Delete a project (irreversible). Args: project_id: Project ID (e.g., PR-123-456-789).

NameTypeReqDescription
project_idstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

get_chainstack_pricing ~663

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. Design: we pass pricing.md through as raw markdown. Marketing owns that file and its structure changes freely; parsing it server-side would couple us to heading text and table column names we don't control. The LLM reads markdown natively, so handing the raw text to the agent keeps us correct regardless of how the page is restructured. pricing_current.json is parsed into `dedicated_catalog` because it has a stable engineering-owned schema, and the catalog benefits from filtering (to user-orderable SKUs only), unit conversion (cents → USD, milli-cores → cores), and region humanization (via `region_legend`). 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`: us…

Input schema present but exposes no named parameters.

NameTypeReqDescription
dedicated_catalogyes
disclaimersarrayyes
fetched_atstringyes
pricing_markdownyes
region_legendyes
sourcesobjectyes
warningsarrayyes

No examples provided.

get_deployment_options ~31

List blockchain/cloud/network combinations for node deployment. Call before create_node to get valid blockchain and cloud IDs.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultarrayyes

No examples provided.

get_doc_page ~111

Get the full content of a Chainstack documentation page. Use after search_docs to fetch the complete page when a snippet isn't enough. Args: page: 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.

NameTypeReqDescription
pagestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

get_node ~48

Get a node's full details including endpoints and cloud info. Args: node_id: Node ID (e.g., ND-123-456-789).

NameTypeReqDescription
node_idstringyes
NameTypeReqDescription
api_namespacesarray
beacon_endpointstring
blockchainstring
cloudstring
https_endpointstring
idstringyes
namestringyes
networkstringyes
node_tierstringyes
projectstringyes
protocolstringyes
regionstringyes
statusyes
wss_endpointstring

No examples provided.

get_organization ~15

Get organization name and ID.

Input schema present but exposes no named parameters.

NameTypeReqDescription
idstringyes
namestringyes

No examples provided.

get_platform_status ~54

Check platform status, active incidents, and maintenances. Args: network: Optional filter (e.g., "ethereum"). Without it, returns overall status and incidents only.

NameTypeReqDescription
networkstring
NameTypeReqDescription
componentsarray
incidentsarrayyes
maintenancesarrayyes
statusstringyes

No examples provided.

get_project ~40

Get project details. Args: project_id: Project ID (e.g., PR-123-456-789).

NameTypeReqDescription
project_idstringyes
NameTypeReqDescription
created_atstring
creatorobject
description
idstringyes
namestringyes
networksinteger
type

No examples provided.

list_nodes ~59

List nodes with status and connection endpoints. Args: project_id: Optional project ID to filter by (e.g., PR-123-456-789). If omitted, returns all nodes in the organization.

NameTypeReqDescription
project_idstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_projects ~18

List all projects. Projects are containers for nodes.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultarrayyes

No examples provided.

request_testnet_funds ~548

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. Supported networks and their native assets: - sepolia, hoodi — Ethereum testnets (ETH) - base — Base Sepolia (ETH) - amoy — Polygon Amoy (POL) - bnb-testnet — BNB Smart Chain testnet (BNB) - zksync-testnet — zkSync Sepolia (ETH) - robinhood — Robinhood Chain testnet (ETH) - hyperevm — HyperEVM testnet (HYPE) - plasma — Plasma testnet (XPL) - monad — Monad testnet (MON) - ton — TON testnet (TON) - solana — Solana devnet (SOL) Per-address cooldown applies after each successful drip. On cooldown the faucet returns a `nextFaucetAvailable` timestamp (ISO 8601) that this tool surfaces in the error message. Requires a Chainstack API key. The key is also the rate-limiting identity — the faucet tracks usage per organization. Get a key at https://console.chainstack.com/user/settings/api-keys and add it as `Authorization: Bearer <key>` in the MCP client config. Never ask the user to paste their API key in chat. Args: network: Canonical testnet id (the schema `enum` advertises the set). Case-insensitive; common aliases are normalized to the canonical id. address: 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. Returns: On success: `{network, amountSent, transaction}`. `amountSent` is a string in the network's native unit (not wei/lamports).

NameTypeReqDescription
addressstringyes
networkstringyesTestnet 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.
NameTypeReqDescription
amountSentstring
networkstringyes
transaction

No examples provided.

search_docs ~58

Search Chainstack docs — blockchain RPC methods, node infrastructure, Web3 APIs, deployment guides, and code examples. Args: query: Search query (e.g., "deploy ethereum node", "eth_call").

NameTypeReqDescription
querystringyes
NameTypeReqDescription
resultarrayyes

No examples provided.

update_node ~53

Rename a node. Args: node_id: Node ID (e.g., ND-123-456-789). name: New name.

NameTypeReqDescription
namestringyes
node_idstringyes
NameTypeReqDescription
api_namespacesarray
beacon_endpointstring
blockchainstring
cloudstring
https_endpointstring
idstringyes
namestringyes
networkstringyes
node_tierstringyes
projectstringyes
protocolstringyes
regionstringyes
statusyes
wss_endpointstring

No examples provided.

update_project ~65

Update a project's name or description. Args: project_id: Project ID (e.g., PR-123-456-789). name: New name. description: New description.

NameTypeReqDescription
description
name
project_idstringyes
NameTypeReqDescription
created_atstring
creatorobject
description
idstringyes
namestringyes
networksinteger
type

No examples provided.