MoltNode by Chord

Read 31 blockchains over JSON-RPC and swap via Chord: best route, unsigned tx, simulation. No key.

Should I use this

Quality & Safety

A
Description quality
89%
Schema completeness
90%
Naming quality
91%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,594Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (1.25% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "moltnode": {
      "command": "npx",
      "args": [
        "moltnode-mcp"
      ]
    }
  }
}

Runnable packages

npmmoltnode-mcp1.1.4stdio

Remote endpoints

https://moltnode.ag/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_chains

List every chain MoltNode serves (slug, name, chainId, family, native coin, endpoint) and which ones Chord trades on. Call this first for valid chain slugs.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
🔴rpc_call(chain, method, params)

Call any JSON-RPC 2.0 method on a chain through MoltNode, no API key. EVM chains use eth_* methods; Solana and Sui use their own.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "monad",
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "solana",
        "avalanche",
        "hyperevm",
        "berachain",
        "abstract",
        "sei",
        "sonic",
        "mantle",
        "taiko",
        "zksync",
        "zetachain",
        "opbnb",
        "bob",
        "edge",
        "stable",
        "katana",
        "morph",
        "swell",
        "0g",
        "tac",
        "xlayer",
        "gnosis",
        "fantom",
        "sui"
      ],
      "description": "Chain slug, e.g. 'ethereum', 'base', 'monad', 'solana'."
    },
    "method": {
      "type": "string",
      "description": "JSON-RPC method, e.g. 'eth_call', 'eth_getLogs', 'getBalance'."
    },
    "params": {
      "type": "array",
      "items": {},
      "description": "JSON-RPC params array. Defaults to []."
    }
  },
  "required": [
    "chain",
    "method"
  ],
  "additionalProperties": false
}
🟢get_block_number(chain)

The latest block number of an EVM chain, as a decimal integer.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "monad",
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche",
        "hyperevm",
        "berachain",
        "abstract",
        "sei",
        "sonic",
        "mantle",
        "taiko",
        "zksync",
        "zetachain",
        "opbnb",
        "bob",
        "edge",
        "stable",
        "katana",
        "morph",
        "swell",
        "0g",
        "tac",
        "xlayer",
        "gnosis",
        "fantom"
      ],
      "description": "EVM chain slug."
    }
  },
  "required": [
    "chain"
  ],
  "additionalProperties": false
}
🟢get_balance(chain, address)

The native-coin balance of an address on an EVM chain, in wei and in whole coins.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "monad",
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche",
        "hyperevm",
        "berachain",
        "abstract",
        "sei",
        "sonic",
        "mantle",
        "taiko",
        "zksync",
        "zetachain",
        "opbnb",
        "bob",
        "edge",
        "stable",
        "katana",
        "morph",
        "swell",
        "0g",
        "tac",
        "xlayer",
        "gnosis",
        "fantom"
      ],
      "description": "EVM chain slug."
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Account address."
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "additionalProperties": false
}
🟢chord_find_token(chain, query)

Find a token by symbol, name or address on a chain Chord trades on (base, ethereum, monad, bnb, avalanche, arbitrum, robinhood, arc). Returns addresses, decimals and whether the token is verified; similar tickers are common, so compare addresses.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "base",
        "ethereum",
        "monad",
        "bnb",
        "avalanche",
        "arbitrum",
        "robinhood",
        "arc"
      ],
      "description": "Chord chain key."
    },
    "query": {
      "type": "string",
      "description": "Symbol, name or 0x address."
    }
  },
  "required": [
    "chain",
    "query"
  ],
  "additionalProperties": false
}
🟢chord_swap_quote(chain, tokenIn, tokenOut, amount, taker, ...)

Best swap route from Chord (getchord.xyz) across the DEXs of the chain, with the UNSIGNED transaction to sign, the ERC-20 approval it needs (as a ready transaction) and a simulation run from the taker wallet. Amounts are integer strings in the token's smallest unit; the zero address is the native coin. Nothing is sent: sign with your own key, then send_raw_transaction.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "base",
        "ethereum",
        "monad",
        "bnb",
        "avalanche",
        "arbitrum",
        "robinhood",
        "arc"
      ],
      "description": "Chord chain key."
    },
    "tokenIn": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Token sold (zero address = native coin)."
    },
    "tokenOut": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Token bought (zero address = native coin)."
    },
    "amount": {
      "type": "string",
      "pattern": "^[0-9]+$",
      "description": "Amount of tokenIn in its smallest unit, e.g. '10000000' = 10 USDC."
    },
    "taker": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The wallet that will sign. With it the answer carries tx + approval + a simulation from that wallet."
    },
    "slippageBps": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5000,
      "description": "Slippage in basis points (default 50)."
    }
  },
  "required": [
    "chain",
    "tokenIn",
    "tokenOut",
    "amount"
  ],
  "additionalProperties": false
}
🔴send_raw_transaction(chain, signedTransaction)

Broadcast a signed transaction (0x-prefixed raw bytes) on an EVM chain through MoltNode. Returns the transaction hash and an explorer link.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "monad",
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche",
        "hyperevm",
        "berachain",
        "abstract",
        "sei",
        "sonic",
        "mantle",
        "taiko",
        "zksync",
        "zetachain",
        "opbnb",
        "bob",
        "edge",
        "stable",
        "katana",
        "morph",
        "swell",
        "0g",
        "tac",
        "xlayer",
        "gnosis",
        "fantom"
      ],
      "description": "EVM chain slug."
    },
    "signedTransaction": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]+$",
      "description": "The signed transaction, RLP-encoded, 0x-prefixed."
    }
  },
  "required": [
    "chain",
    "signedTransaction"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools