Skip to main content
Glama

solana-infra-mcp

CI license: MIT

An MCP server that gives your agent Solana-infra awareness — RPC health, priority-fee estimation, leader schedule, chain state, and latency comparison. Provider-agnostic; point it at any Solana RPC (rpc edge is the flagship backend). Read-only, no keys logged, no heavy deps (plain JSON-RPC over fetch).

Tools

Tool

What it answers

rpc_health

Is this endpoint healthy? version, current slot, measured request latency

priority_fee_estimate

What compute-unit price lands right now? p50/p75/p90/max micro-lamports/CU

epoch_info

Where are we in the epoch? slot index, block height

next_leaders

Who are the next N slot leaders? (time your submissions)

latency_compare

How does my endpoint's read latency compare to a baseline?

submit_transaction

Relay a caller-signed base64 tx and confirm on-chain landing (keyless)

Related MCP server: SolTracker MCP Server

Add it to Claude

Build it, then register the server. Claude Code:

git clone https://github.com/rpc-edge/solana-infra-mcp && cd solana-infra-mcp
pnpm install && pnpm build
claude mcp add solana-infra -- node "$(pwd)/dist/index.js"

Or in a client config (Claude Desktop / others):

{
  "mcpServers": {
    "solana-infra": {
      "command": "node",
      "args": ["/abs/path/to/solana-infra-mcp/dist/index.js"],
      "env": { "SOLANA_RPC_URL": "https://rpc.rpcedge.com/?api-key=YOUR_KEY" }
    }
  }
}

Docker (Glama / directory hosts)

docker build -t solana-infra-mcp .
docker run -i --rm -e SOLANA_RPC_URL='https://rpc.rpcedge.com/?api-key=YOUR_KEY' solana-infra-mcp

glama.json claims maintainers for https://glama.ai/mcp (listing after publish). For the branded npm path use rpcedge-mcp (npx rpcedge-mcp@latest).

Skill & plugin

The repo also ships as a Claude Code plugin: .claude-plugin/plugin.json + .mcp.json (registers the server) + a skill (skills/solana-infra/SKILL.md) that teaches Claude when to reach for each tool. Because the server is TypeScript, run pnpm install && pnpm build once so dist/ exists; then install the plugin dir (or just claude mcp add as above). (An npx-installable published build is on the roadmap.)

Provider config

SOLANA_RPC_URL sets the default endpoint every tool uses (unset → public mainnet-beta). Point it at rpc edge with your key for the low-latency path; the API key is read from the environment at runtime and never logged (tools display the host only). Any tool also takes an explicit url argument to override per call.

Status & roadmap

Working today: six tools (five read-only + keyless submit_transaction), all verified against live mainnet; a bundled skill + Claude Code plugin.

Next:

  • yellowstone_sample — a bounded gRPC first-seen/freshness probe (MCP is request/response, so streaming is exposed as a time-boxed sample, not a live subscription).

  • Publish an npx-installable build on npm; finish Glama + MCP registry listings.

  • awesome-solana-ai PR: https://github.com/solana-foundation/awesome-solana-ai/pull/193

Develop

pnpm install
pnpm typecheck
pnpm build      # -> dist/
pnpm start      # runs the stdio server

License

MIT — see LICENSE. By rpc edge.

Available Tools

6 tools
epoch_infoEpoch infoB

Current epoch, slot index / slots-in-epoch, absolute slot, and block height.

Inputs: url.

latency_compareCompare RPC latencyA

getSlot read-latency (p50) across endpoints, default the configured one vs public mainnet-beta. Network-inclusive - not a landing/first-seen proxy.

Inputs: urls, samples.

next_leadersNext slot leadersA

The next N slot leaders (validator identities) from the current slot - for timing transaction submission.

Inputs: url, count.

priority_fee_estimatePriority fee estimateA

Recent prioritization-fee distribution (p50/p75/p90/max micro-lamports per CU) to price compute-unit fees for landing.

Inputs: url.

rpc_healthRPC healthB

Health, solana-core version, current slot, and measured getSlot latency for a Solana RPC endpoint.

Inputs: url.

submit_transactionSubmit transaction + confirm landingA

Relay a caller-SIGNED base64 transaction and confirm actual on-chain inclusion (landed slot + time). Keyless: the server never signs or holds keys - sign upstream, submit here.

Inputs: signedTransaction (required), url, maxWaitMs.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct operation: health check, fee estimation, transaction submission, epoch info, leader schedule, and latency comparison. No two tools overlap in purpose, despite rpc_health and latency_compare both touching latency metrics.

    Naming Consistency4/5

    All tool names use snake_case and are descriptive, but the pattern varies between noun-based (rpc_health, epoch_info), verb-initial (submit_transaction), and verb-final (latency_compare). This minor inconsistency prevents a perfect score.

    Tool Count5/5

    With 6 tools, the server is well-scoped for a Solana infrastructure toolkit. Each tool earns its place, covering monitoring, fee estimation, and transaction submission without unnecessary overhead.

    Completeness4/5

    The set covers health, fee estimation, transaction submission, and network timing comprehensively. Minor gaps like a getRecentBlockhash or getBalance tool exist, but the keyless submission design makes these optional rather than critical.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers