Skip to main content
Glama
khawjaahmad

elysium-chain-mcp

by khawjaahmad

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNodebug, info, warn or error. Logs go to stderr only.info
MAX_FEE_HYPENoMost one write may cost in fees, else FEE_CAP_EXCEEDED.0.001
ENABLE_WRITESNoRegisters the write tools; needs ELYSIUM_PRIVATE_KEY and chain ID 99801.false
MAX_SEND_HYPENoMost HYPE one write may send, else VALUE_CAP_EXCEEDED.0.01
MCP_HTTP_HOSTNoHTTP bind address.127.0.0.1
MCP_HTTP_PORTNoHTTP port.3000
MCP_TRANSPORTNostdio or http.stdio
MCP_HTTP_TOKENNoBearer token (16+ chars); required off loopback, and for writes over HTTP.
RPC_TIMEOUT_MSNoTimeout per RPC attempt.10000
ELYSIUM_RPC_URLYesJSON-RPC endpoint. Testnet: https://testnet-rpc.elysium.kinetiq.xyz.
RPC_RETRY_COUNTNoRetries for timeouts, connection errors, 408/429/5xx and rate-limit errors.3
WRITE_ALLOWLISTNoComma-separated destinations; when set, others get ADDRESS_NOT_ALLOWED.
ELYSIUM_CHAIN_IDYesChain ID the endpoint must serve (testnet 99801); checked before use.
EXPLORER_API_URLNoEnables the explorer tools. Testnet: https://elysium.kinetiq.xyz/api/v2.
ELYSIUM_CHAIN_NAMENoDisplay name only.Elysium
RPC_RATE_LIMIT_RPSNoClient-side RPC requests per second, retries included.10
ELYSIUM_PRIVATE_KEYNoKey the write tools send from (64 hex chars). Never logged or returned.
EXPLORER_TIMEOUT_MSNoTimeout per explorer request.10000
MAX_LOG_BLOCK_RANGENoMost blocks per unfiltered get_logs query; filtered queries have no limit.2000
EXPLORER_RETRY_COUNTNoRetries for explorer timeouts, connection errors, 408/429/5xx; honours Retry-After.2
BLOCK_TIME_SAMPLE_SIZENoBlocks get_chain_status measures block time over.1000
EXPLORER_RATE_LIMIT_RPSNoClient-side explorer requests per second.5
RPC_RETRY_BASE_DELAY_MSNoBase for exponential backoff with jitter; Retry-After takes precedence.250
WRITE_RECEIPT_TIMEOUT_MSNoHow long a write waits for its receipt before returning pending.30000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_chain_statusA

Latest block, measured average block time, current base fee and gas price. Block timestamps have one-second resolution while Elysium produces several blocks per second, so block time is measured over a window of recent blocks.

get_blockA

Fetch a block by number, hash or tag. Returns header fields and transaction hashes (or full transactions).

get_transactionA

Fetch a transaction and its receipt by hash. With an ABI, the input data and event logs are decoded. If the transaction is still pending, receipt is null. systemTransaction is true for ArbOS-generated bookkeeping transactions (Arbitrum type 106, e.g. startBlock at index 0 of every block), which no user sent and which pay no fee.

get_balanceA

Native HYPE balance of an address, plus optional ERC-20 balances. A failure for one token is reported in that token's entry and does not fail the whole call.

get_token_infoA

Read an ERC-20 token's name, symbol, decimals and total supply. Fields the contract does not implement are null.

read_contractA

Call a view or pure function on a contract and return its decoded result. Nothing is sent to the chain. For state-changing functions, use simulate_call.

get_logsA

Query event logs over a block range. Filter by contract address and either an event signature (with optional indexed-argument values) or raw topics. Without an address or topic filter the range is capped at MAX_LOG_BLOCK_RANGE blocks (default 2,000, about 3-7 minutes on Elysium); with one, any range is allowed. Either way the RPC returns at most 10,000 logs per query; split longer ranges or add filters if you hit that.

simulate_callA

Dry-run a transaction with eth_call and estimate its gas, without sending anything. Provide either raw data, or abi + functionName + args to have the call data encoded and the result decoded. A transaction that would fail returns success: false with the revert reason; that is a result, not a tool error.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 8 tools

Disambiguation4/5

Each tool targets a distinct resource or action, and descriptions clearly delineate them. The only notable overlap is read_contract vs simulate_call, since both perform eth_call and decode results; the descriptions mitigate this by telling the agent to use simulate_call for state-changing functions.

Naming Consistency5/5

All tools use snake_case with a consistent verb_noun structure (get_chain_status, get_block, get_transaction, read_contract, simulate_call, etc.). The get_* family dominates with two well-formed outliers that still follow verb_noun.

Tool Count5/5

Eight tools is well-scoped for a read-focused chain RPC interface. Every tool earns its place with no redundancy, and the set stays comfortably within the ideal 3-15 range.

Completeness4/5

The surface covers chain status, blocks, transactions with receipts, balances (native + ERC-20), token metadata, contract reads, log queries, and call simulation, which is broad for a read-only chain client. Minor gaps exist (no dedicated gas/fee estimation tool, no code fetch, no write/submit path), but agents can work around these via simulate_call and the RPC surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues