プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

ChainRPC MCP

作者:John0n1バージョン 2.0.2i★ –iパソコンでもクラウドでも
レジストリ名io.github.John0n1/chainrpc-mcp

インストール

概要

作者による説明(英語の原文)

Safety-first EVM and Bitcoin RPC tools for balances, contracts, blocks, and transactions

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンでもクラウドでも
  • トランスポート: stdio, Streamable HTTP
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • 自分で入力するもの: EVM_RPC_URL, BITCOIN_RPC_URL, ALLOW_EVM_BROADCAST, ALLOW_BITCOIN_BROADCAST

必要なもの

  • クラウドで動くインストール不要。インターネット経由でつながります
  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://chainrpc-mcp.mitander.io/mcp

または、パソコンで動かす

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "chainrpc": {
      "command": "npx",
      "args": [
        "-y",
        "chainrpc-mcp"
      ],
      "env": {
        "EVM_RPC_URL": "your-value",
        "BITCOIN_RPC_URL": "your-value",
        "ALLOW_EVM_BROADCAST": "your-value",
        "ALLOW_BITCOIN_BROADCAST": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add --transport http chainrpc https://chainrpc-mcp.mitander.io/mcp

または、パソコンで動かす

claude mcp add chainrpc --env EVM_RPC_URL=your-value --env BITCOIN_RPC_URL=your-value --env ALLOW_EVM_BROADCAST=your-value --env ALLOW_BITCOIN_BROADCAST=your-value -- npx -y chainrpc-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "chainrpc": {
      "url": "https://chainrpc-mcp.mitander.io/mcp"
    }
  }
}

または、パソコンで動かす

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "chainrpc": {
      "command": "npx",
      "args": [
        "-y",
        "chainrpc-mcp"
      ],
      "env": {
        "EVM_RPC_URL": "your-value",
        "BITCOIN_RPC_URL": "your-value",
        "ALLOW_EVM_BROADCAST": "your-value",
        "ALLOW_BITCOIN_BROADCAST": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "chainrpc": {
      "type": "http",
      "url": "https://chainrpc-mcp.mitander.io/mcp"
    }
  }
}

または、パソコンで動かす

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "chainrpc": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "chainrpc-mcp"
      ],
      "env": {
        "EVM_RPC_URL": "your-value",
        "BITCOIN_RPC_URL": "your-value",
        "ALLOW_EVM_BROADCAST": "your-value",
        "ALLOW_BITCOIN_BROADCAST": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://chainrpc-mcp.mitander.io/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • EVM_RPC_URL env
    EVM JSON-RPC endpoint
  • BITCOIN_RPC_URL env
    Bitcoin Core-compatible JSON-RPC endpoint
  • ALLOW_EVM_BROADCAST env
    Explicitly enable signed EVM transaction broadcasts
  • ALLOW_BITCOIN_BROADCAST env
    Explicitly enable signed Bitcoin transaction broadcasts

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント John0n1 で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32725件のうち0%よりスターが多い
  • このカテゴリのほかの32725件のうち27%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32725件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

ChainRPC MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(2.0.2)がレジストリに届いたのは3 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Signoff

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211一昨日更新
インストール

Signoff

作者:ayuanxx-max

Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.

パソコンで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

ChainRPC MCP

JSON-RPC MCP server for EVM chains and Bitcoin

A safety-first Model Context Protocol server for EVM chains and Bitcoin.

ChainRPC MCP gives agents a focused set of tools for balances, blocks, transactions, logs, smart-contract reads, gas and fee estimation, and transaction decoding. It can submit already-signed transactions, but only behind explicit, disabled-by-default safety gates. It never accepts private keys, manages wallets, or signs transactions.

  • Two ecosystems, one server: EVM JSON-RPC and Bitcoin Core-compatible RPC.
  • Useful without an account: defaults to public Ethereum and Bitcoin endpoints from PublicNode.
  • Bring your own infrastructure: replace either endpoint and optionally use HTTP Basic authentication.
  • Official transports: local stdio and stateful Streamable HTTP through the official MCP SDK.
  • Constrained by design: no arbitrary RPC passthrough and no wallet, admin, debug, miner, or node-management methods.

Choose how to connect

Hosted, read-only service

The public endpoint is available now:

https://chainrpc-mcp.mitander.io/mcp

For clients that accept a remote Streamable HTTP server:

{

"mcpServers": { "chainrpc-mcp": { "url": "https://chainrpc-mcp.mitander.io/mcp" } } }

Health and upstream status:

curl 'https://chainrpc-mcp.mitander.io/health?upstream=1'

The hosted service is shared, rate-limited, and intentionally has both broadcast features disabled. It is suitable for evaluation and public-chain reads, but has no availability SLA. Requests are visible to the service operator and upstream RPC providers; use your own deployment for sensitive queries or production workloads.

Local stdio server

Requirements: Node.js 20 or newer.

npx -y chainrpc-mcp

Example client configuration:

{

"mcpServers": { "chainrpc-mcp": { "command": "npx", "args": ["-y", "chainrpc-mcp"], "env": { "EVM_RPC_URL": "https://ethereum-rpc.publicnode.com", "BITCOIN_RPC_URL": "https://bitcoin-rpc.publicnode.com" } } } }

The RPC variables are optional; they are shown to make the defaults explicit.

Available tools

EVM
ToolPurposeState-changing
evm_getBlockNumberReturn the latest block numberNo
evm_getChainInfoReturn chain ID and client versionNo
evm_getNativeBalanceRead a native-token balance at a blockNo
evm_getBlockRead a block by number, tag, or hashNo
evm_getTransactionRead a transaction and receiptNo
evm_callExecute an eth_call with encoded calldataNo
evm_readContractEncode, call, and decode a function from its ABINo
evm_estimateTransactionEstimate gas for an unsigned transactionNo
evm_getLogsQuery event logs with address and topic filtersNo
evm_broadcastTransactionPreflight and submit signed transaction bytesYes

Any HTTP(S) EVM JSON-RPC endpoint can be used, so the same tools work with Ethereum mainnet, testnets, and compatible chains. Results always come from the configured endpoint; callers should inspect evm_getChainInfo before making chain-specific assumptions.

Bitcoin
ToolPurposeState-changing
btc_getBlockchainInfoReturn network, height, sync, and pruning informationNo
btc_getAddressBalanceScan confirmed UTXOs for an addressNo
btc_getBlockRead a block by height or hashNo
btc_getTransactionRead raw transaction detailsNo
btc_getTxOutLook up an unspent transaction outputNo
btc_estimateFeeEstimate a fee rate for a confirmation targetNo
btc_decodeRawTransactionDecode serialized transaction bytesNo
btc_broadcastTransactionValidate and submit signed transaction bytesYes

Bitcoin Core is not an address indexer. btc_getAddressBalance uses scantxoutset, which reports currently unspent, confirmed outputs—not history or unconfirmed balance. Only one scan can run on a node at a time, so a shared endpoint may return scan already in progress. Use a dedicated node for frequent address scans.

Safety model

ChainRPC MCP treats transaction submission as an exceptional operation:

  • Broadcasting is off unless ALLOW_EVM_BROADCAST or ALLOW_BITCOIN_BROADCAST is explicitly enabled.
  • The server accepts only serialized, already-signed transaction bytes.
  • Every broadcast call requires the literal confirmation I understand this broadcasts a real transaction.
  • EVM submission checks the endpoint and transaction chain IDs, rejects unprotected legacy transactions, recovers the signer, and runs eth_estimateGas first.
  • Bitcoin submission checks the endpoint network and requires testmempoolaccept to approve the transaction.
  • Submission requests are never automatically retried. A timeout can leave broadcast status ambiguous.
  • Read inputs use strict schemas; upstream concurrency, timeout, retry, and response sizes are bounded.
  • HTTP mode validates hosts and browser origins, supports bearer authentication, caps request bodies, and binds to loopback by default.

RPC responses are untrusted external data. A compromised endpoint can lie about chain state, censor requests, or observe queries. Independently verify high-value decisions, ideally against infrastructure you control.

See SECURITY.md for vulnerability reporting and the complete trust boundary.

Configuration

Copy example.env to .env when running from a checkout.

VariableDefaultDescription
EVM_RPC_URLhttps://ethereum-rpc.publicnode.comAny HTTP(S) EVM JSON-RPC endpoint
BITCOIN_RPC_URLhttps://bitcoin-rpc.publicnode.comAny HTTP(S) Bitcoin Core-compatible endpoint
EVM_RPC_USERNAME / EVM_RPC_PASSWORDunsetOptional EVM HTTP Basic authentication pair
BITCOIN_RPC_USERNAME / BITCOIN_RPC_PASSWORDunsetOptional Bitcoin HTTP Basic authentication pair
RPC_TIMEOUT_MS12000Per-attempt upstream timeout
RPC_RETRIES1Retry count for retryable reads only
RPC_MAX_RESPONSE_BYTES10000000Maximum upstream response body
RPC_MAX_CONCURRENCY20Maximum concurrent requests per chain client
ALLOW_EVM_BROADCASTfalseEnable signed EVM transaction submission
ALLOW_BITCOIN_BROADCASTfalseEnable signed Bitcoin transaction submission
TRANSPORTstdioDefault transport: stdio or http
HOST / PORT127.0.0.1 / 3000HTTP bind address and port
MCP_PATH/mcpStreamable HTTP MCP path
MCP_AUTH_TOKENunsetOptional bearer token for /mcp
ALLOWED_HOSTSunsetRequired allowlist when binding HTTP to a non-loopback address
CORS_ORIGINSunsetComma-separated browser-origin allowlist
MAX_MCP_SESSIONS1000Maximum concurrent HTTP MCP sessions
HTTP_BODY_LIMIT1mbExpress request-body limit

GETH_URL remains a deprecated compatibility alias for EVM_RPC_URL. Credentials embedded in RPC URLs are rejected; use the matching username and password variables.

Self-host with Streamable HTTP

Start a loopback-only HTTP server:

npm start

curl 'http://127.0.0.1:3000/health?upstream=1'

To bind beyond loopback, explicitly set the host allowlist and authentication:

HOST=0.0.0.0 \

ALLOWED_HOSTS=mcp.example.com \ MCP_AUTH_TOKEN='replace-with-a-long-random-secret' \ npm start

Terminate TLS at a trusted reverse proxy, preserve the original Host header, and keep the origin private. A bearer token is useful for a single trusted client; use an OAuth-capable gateway and network access policy for multi-user deployments.

Docker defaults to stdio. Override the command for HTTP:

docker build -t chainrpc-mcp .

docker run --rm -p 127.0.0.1:3000:3000 \ -e HOST=0.0.0.0 \ -e ALLOWED_HOSTS=localhost,127.0.0.1 \ -e MCP_AUTH_TOKEN='replace-with-a-long-random-secret' \ chainrpc-mcp --http

Production service topology:

MCP client

| v Cloudflare edge -> outbound-only Cloudflare Tunnel -> nginx on loopback | v ChainRPC MCP / \ v v EVM RPC Bitcoin RPC

Deployment units, nginx configuration, hardening details, and operating commands are in docs/OPERATIONS.md.

Development

git clone https://github.com/John0n1/chainrpc-mcp.git

cd chainrpc-mcp npm ci npm run check npm run test:coverage

Useful commands:

CommandPurpose
npm run start:stdioStart the stdio transport
npm startStart Streamable HTTP
npm run devStart HTTP with Node watch mode
npm testRun the test suite
npm run checkSyntax-check the entry point and run all tests
npm pack --dry-runInspect the npm package contents

The detailed design and remediation record is in docs/AUDIT.md. Contributions are welcome through issues and pull requests. Please use a private GitHub security advisory—not a public issue—for suspected vulnerabilities.

License

MIT

PopNxに聞く