Blockchain Interaction MCP Server

Enables AI assistants to interact with blockchains securely, allowing users to maintain control over transaction signing.

Local serverstdioTypeScript 10

What is the Blockchain Interaction MCP server?

Enables AI assistants to interact with blockchains securely, allowing users to maintain control over transaction signing. Exposed over MCP by the blockchain interaction mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

An MCP server that lets AI assistants read blockchain data and prepare transactions — while the user keeps full custody of their keys and signs every transaction in their own wallet.

  • Reads — (balances, contract state) happen server-side and return directly to
  • Writes — are only ever prepared server-side. The server hands back a URL;

Adding it to your client

mcp-blockchain-server on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Its toolset

Everything the assistant can do here goes through one of these:

  • get-chains — List supported networks and their chain ids
  • get-balance — Native-token balance for an address on a chain
  • read-contract — Call a read-only contract method (pass an abi or set ETHERSCAN_API_KEY)
  • prepare-transaction — Create an unsigned transaction and return a signing URL
  • get-transaction-status — Track a prepared transaction by id
  • Releasing — CI (build + tests) runs on every push and PR. To publish a new version to npm:

Configuration

You will need 7 environment variables: PUBLIC_BASE_URL, UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN, ETHERSCAN_API_KEY, DEFAULT_CHAIN_ID, KV_REST_API_URL, INFURA_API_KEY. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the blockchain interaction mcp server does with a few real requests.

When to reach for it

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Blockchain Interaction's toolset — get-chains, get-balance, read-contract and 3 more — is a fair guide to whether it matches your workflow. It is maintained by zhangzhongnan928; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Available tools

ToolWhat it does
get-chainsList supported networks and their chain ids.
get-balanceNative-token balance for an address on a chain.
read-contractCall a read-only contract method (pass an abi or set ETHERSCAN_API_KEY).
prepare-transactionCreate an unsigned transaction and return a signing URL.
get-transaction-statusTrack a prepared transaction by id.
ReleasingCI (build + tests) runs on every push and PR. To publish a new version to npm:

How to install the Blockchain Interaction MCP server

{
  "mcpServers": {
    "blockchain": {
      "command": "npx",
      "args": ["-y", "mcp-blockchain-server"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
PUBLIC_BASE_URLEndpoint or connection string the server talks to.Yes
UPSTASH_REDIS_REST_URLEndpoint or connection string the server talks to.Yes
UPSTASH_REDIS_REST_TOKENCredential the server authenticates with.Yes
ETHERSCAN_API_KEYCredential the server authenticates with.Yes
DEFAULT_CHAIN_IDConfiguration value read at startup.Optional
KV_REST_API_URLEndpoint or connection string the server talks to.Yes
INFURA_API_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use Blockchain Interaction to get-chains.
  • Use Blockchain Interaction to get-balance.
  • Use Blockchain Interaction to read-contract.

Frequently asked questions

Yes, it prioritizes security with features like private key isolation, API key management, rate limiting, input validation, and audit logging.