Skip to content

ChainRay

by chainray.online · remote · no sign-in to list tools · v2.5.8 · published by online.chainray

Multi-chain on-chain intelligence for AI agents through a public remote MCP server.

Changes · 45

79 tools: 45 change things and 34 only read.

Scanned Oct 21, 2026

4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http chainray https://chainray.online/mcp

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • The server marks "token.unlock" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "token.unlock" says "unlock": a word for a change.

    What this check looks for
  • The server marks "wallet.labels" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "wallet.labels" says "label": a word for a change.

    What this check looks for
  • The server marks "monitor.watch.diff" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "monitor.watch.diff" says "diff": a word for reading.

    What this check looks for
  • The server marks "predict.whale_move" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "predict.whale_move" says "move": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

79 tools

Changes things 45Claude Code: ask
  • agent.card.discoverDiscover AI Agents by capability, chain, or keyword.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Discover AI Agents by capability, chain, or keyword. Returns matching agents with trust scores. Useful for finding agents to collaborate with. ($0.007)

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • agent.card.registerRegister an AI Agent in the ChainRay A2A Agent Card registry.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Register an AI Agent in the ChainRay A2A Agent Card registry. Requires agentId, name, and capabilities array. Auto-attaches KYA trust score if paymentAddress provided. Returns registration status. ($0.05)

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • agent.reputationKYA (Know Your Agent): 10-factor on-chain reputation scoring.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    KYA (Know Your Agent): 10-factor on-chain reputation scoring. Evaluates transaction volume, balances, token diversity, DeFi interactions, cross-chain intel, and risk flags. Returns trust score (0-100) and trust level. ERC-8004 compatible. Scope: Agent or wallet collaboration trust and reputation signals, including ERC-8004-compatible evidence. Use this before relying on another Agent. It is not a wallet's financial activity score (wallet.credit_score), a registered identity card (agent.card.lookup), or proof that the subject is a verified person or organization.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • chain.bridge.monitorDetect large token transfers involving known bridge contracts (Across, Wormhole, official bridges).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Detect large token transfers involving known bridge contracts (Across, Wormhole, official bridges). EVM only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • chain.crossCross-chain wallet correlation: queries all supported EVM chains in parallel to show balance, nonce, and activity.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Cross-chain wallet correlation: queries all supported EVM chains in parallel to show balance, nonce, and activity. Includes diversity score and classification.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • chain.healthChain health score aggregating gas data, protocol TVL, and stablecoin stability.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Chain health score aggregating gas data, protocol TVL, and stablecoin stability. Use for a single-chain operating snapshot before choosing where to act. The score is not a contract audit or a transaction guarantee; use security.contract.scan or token.risk for safety analysis and chain.block for block facts.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.aggregatorCross-chain DeFi yield ranking: scans Aave V3 across all supported chains to find the best supply APY and cheapest borrow rates.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Cross-chain DeFi yield ranking: scans Aave V3 across all supported chains to find the best supply APY and cheapest borrow rates. Use for a cross-chain ranking of configured DeFi lending opportunities. For a chain-specific protocol comparison, use defi.compare; for one protocol's rates, use defi.yields.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.healthAssess DeFi protocol health: combines TVL, utilization rates, and liquidation frequency into a composite health score (0-100).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Assess DeFi protocol health: combines TVL, utilization rates, and liquidation frequency into a composite health score (0-100). Use for protocol-level DeFi health and stress signals on one chain. It does not rank yields or inspect a token contract; use defi.aggregator for cross-chain lending rankings, defi.compare for protocol rates, or token.risk for token risk.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.tvlCalculate total value locked (TVL) in DeFi protocols (Aave V3, Compound V3) directly from on-chain aToken and Comet supplies.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Calculate total value locked (TVL) in DeFi protocols (Aave V3, Compound V3) directly from on-chain aToken and Comet supplies.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • gas.optimizeGas price optimization advisor: analyzes recent block patterns to recommend the best time to transact.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Gas price optimization advisor: analyzes recent block patterns to recommend the best time to transact. Includes savings estimate. Scope: read-only submission-timing advice derived from current and recent fee conditions. Use this for 'when should I submit?'. It is not the raw current quote (gas.tracker), a history response (gas.history), or a standalone forecast (gas.predict).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • gas.predictPredict near-future gas prices using moving average and trend analysis of recent block base fees.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Predict near-future gas prices using moving average and trend analysis of recent block base fees. Returns prediction, trend, and recommendation. Scope: short-horizon fee forecast from recent samples. Use this for 'what may fees be soon?'. It is not a live quote (gas.tracker), historical data (gas.history), or a timing recommendation (gas.optimize), and it never executes a transaction.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • market.new_pairsDiscover recently created Uniswap V3 pools and inspect token metadata.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Discover recently created Uniswap V3 pools and inspect token metadata. Returns an explicit unavailable result when the selected chain has no configured factory.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • market.solver_feedIntent Solver decision intelligence.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Intent Solver decision intelligence. Provides profitability analysis, gas costs, competition level, and recommendations for ERC-7683 cross-chain intent execution. ($0.007) Use before evaluating an ERC-7683 cross-chain intent to compare gas, liquidity, competition, and estimated profitability. It does not execute the intent and should not be treated as a guaranteed quote; both source and destination must be supported EVM chains.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • market.stablecoin.monitorMonitor stablecoin peg stability.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Monitor stablecoin peg stability. Detects USDC/USDT/DAI price deviations from $1.00 using on-chain DEX pool data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • monitor.flashloanMonitor flash loan activity on Aave V3.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Monitor flash loan activity on Aave V3. Detects recent flash loans with amounts and premiums paid.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • monitor.liquidationMonitor DeFi liquidation events on Aave V3.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Monitor DeFi liquidation events on Aave V3. High liquidation counts indicate market stress and potential cascading risk.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • monitor.watch.addressCreate a watch on an address.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Create a watch on an address. Returns a wallet snapshot and watchId; use watch-diff later to receive only changed fields. Use to create the first address snapshot in a stateful watch workflow. Save the returned watchId and call monitor.watch.diff in the same MCP session for later changes.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • monitor.watch.diffGet changes since the last check for a watched address.Reads text others write1 finding

    Why it is in this group

    • The name "monitor.watch.diff" says "diff": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "monitor.watch.diff" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "monitor.watch.diff" says "diff": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Get changes since the last check for a watched address. Returns changed fields and numeric deltas. Use only after monitor.watch.address has created a watchId in the same MCP session. It returns changes since the last check and advances the snapshot; create a new watch for a new address.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • monitor.whale.alertsMonitor large token transfers (USDC, WETH) on EVM chains or large SOL transfers on Solana.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Monitor large token transfers (USDC, WETH) on EVM chains or large SOL transfers on Solana. Returns recent whale movements above a threshold.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • monitor.whale.trackerTrack a specific whale address with Address Intelligence labels and wallet profile.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Track a specific whale address with Address Intelligence labels and wallet profile.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • oracle.gas_avgData Oracle: Multi-chain gas price aggregation.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Data Oracle: Multi-chain gas price aggregation. Returns gas prices across multiple chains with a cheapest-chain recommendation. Ideal for agents choosing settlement chains.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • oracle.price_feedData Oracle: Verified token price feed with Chain Proof signature.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Data Oracle: Verified token price feed with Chain Proof signature. Returns price, source, and confidence level. Lightweight alternative to Chainlink for agent use cases.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • predict.gasGas price prediction: EMA-based forecast for the next 5 minutes and 1 hour using accumulated readings.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Gas price prediction: EMA-based forecast for the next 5 minutes and 1 hour using accumulated readings.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • predict.liquidityLiquidity prediction: TVL trend analysis with health scoring, risk factors, and a 24-hour range.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Liquidity prediction: TVL trend analysis with health scoring, risk factors, and a 24-hour range.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • predict.token_momentumToken momentum prediction: BUY, SELL, or HOLD signal based on price change and trending activity.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Token momentum prediction: BUY, SELL, or HOLD signal based on price change and trending activity.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • predict.whale_moveWhale activity prediction: projects next-hour transfer count and volume using a frequency decay model.Reads text others write1 finding

    Why it is in this group

    • The name "predict.whale_move" says "move": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "predict.whale_move" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "predict.whale_move" says "move": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Whale activity prediction: projects next-hour transfer count and volume using a frequency decay model.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • security.contract.scanSecurity scan a smart contract via bytecode analysis.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Security scan a smart contract via bytecode analysis. Detects selfdestruct, delegatecall, proxy patterns, ownership. No external APIs. EVM only. Scope: bytecode-level inspection of one EVM contract for proxy, ownership, delegatecall, and selfdestruct signals. Use this for 'what does the deployed code expose?'. It is not a token market/liquidity assessment (token.risk), a wallet score, or a full audit, and it does not judge a trade by itself.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • security.contract.verifyCheck if an address is a smart contract or an EOA wallet.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Check if an address is a smart contract or an EOA wallet. Returns code size, balance, and classification.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • security.mev.detectQuick sandwich attack detection.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Quick sandwich attack detection. Analyzes 5 transactions before/after target in the same block. EVM only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • security.mev.intelCross-protocol spread analysis with chain-specific DEX names, cost estimates, and market microstructure data.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Cross-protocol spread analysis with chain-specific DEX names, cost estimates, and market microstructure data. This is a heuristic estimate, not real-time mempool data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • security.mev.shieldPre-trade safety analysis.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Pre-trade safety analysis. Evaluates sandwich attack risk, recommends optimal slippage, and suggests mitigations before executing on-chain trades. Every agent should call this before swapping. ($0.05) Scope: composite pre-trade decision for a proposed swap, bridge, or liquidity action, focused on MEV exposure and slippage mitigation. Use this before acting. It is not a historical sandwich scan (security.sandwich), a token due-diligence report (token.risk), or a transaction executor.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • security.sandwichBatch scan an address's recent transactions for MEV sandwich attacks.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Batch scan an address's recent transactions for MEV sandwich attacks. Checks front-run + back-run patterns in surrounding transactions. Use to inspect historical sandwich patterns around an address. It is not a pre-trade protection decision; use security.mev.shield before a swap or liquidity action.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.approvalCheck a wallet's ERC20 token approvals for security risks.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Check a wallet's ERC20 token approvals for security risks. Flags unlimited approvals and risky spender contracts.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.screenerScreen tokens by risk score and price.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Screen tokens by risk score and price. Returns sorted list of tokens matching criteria. EVM only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.sentimentOn-chain sentiment oracle for any token/chain.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    On-chain sentiment oracle for any token/chain. Derives market sentiment from 5 on-chain signals: gas trend, gas level, momentum, chain health, ecosystem trend. No LLM. ($0.012)

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.unlockRead token vesting/unlock schedule from on-chain contracts.Reads text others write1 finding

    Why it is in this group

    • The name "token.unlock" says "unlock": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "token.unlock" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "token.unlock" says "unlock": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Read token vesting/unlock schedule from on-chain contracts. Supports LinearVesting, CliffVesting, and Timelock patterns.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.context_briefCaaS (Context as a Service): Aggregates real-time on-chain signals into a structured context brief for agent decision-making.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    CaaS (Context as a Service): Aggregates real-time on-chain signals into a structured context brief for agent decision-making. Intents: swap (gas+price+whales), bridge (multi-chain gas), invest (yields+trending), monitor (whales+gas), general (all signals). No LLM cost — pure data. Use at the start of a swap, bridge, invest, monitor, or general workflow to collect the relevant signals in one structured brief. Use focused tools when the agent already knows the exact data it needs.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.intent_routerNatural language intent routing: describe what you want to know and ChainRay selects a focused set of data services.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Natural language intent routing: describe what you want to know and ChainRay selects a focused set of data services. Counts toward the client hourly MCP capacity policy; use the paid HTTP API for per-request settlement. Use when the agent has a natural-language data question and needs ChainRay to select a focused route. For deterministic workflows, call the specific tool directly; paid HTTP requests are separate from this MCP capacity policy.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.verify_proofVerify data integrity: pass a dataHash from any ChainRay response's _proof field to verify that the data was produced by ChainRay.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Verify data integrity: pass a dataHash from any ChainRay response's _proof field to verify that the data was produced by ChainRay. Use after receiving a ChainRay response with _proof.dataHash to verify its integrity. It verifies a supplied hash and does not independently validate the underlying blockchain data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.workflow_briefMulti-agent workflow intelligence.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Multi-agent workflow intelligence. Generates differentiated context briefs for each agent role in a collaborative workflow (swap, risk, bridge, settle, monitor, analysis agents). ($0.05)

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • wallet.credit_scoreCalculate an on-chain credit score (0-100) for any wallet.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Calculate an on-chain credit score (0-100) for any wallet. Factors: transaction history, native balance, token diversity, stablecoin holdings, DeFi activity. Returns grade (AAA to C). Scope: wallet-level financial behavior and activity score based on transaction history, balances, token diversity, stablecoins, and DeFi use. Use this for 'how active or creditworthy is this wallet?'. It is not Agent identity/reputation (agent.reputation), a registered card (agent.card.lookup), or token/contract risk.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • wallet.labelsQuery the Address Intelligence database for labels on an address (whale, smart_money, etc).Reads text others write1 finding

    Why it is in this group

    • The name "wallet.labels" says "label": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "wallet.labels" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "wallet.labels" says "label": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Query the Address Intelligence database for labels on an address (whale, smart_money, etc). Labels are learned automatically from whale alerts and smart money tracking.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • wallet.profileProfile a wallet address.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Profile a wallet address. EVM: ETH balance, token count, activity labels (whale/active/dormant). Solana: SOL balance, SPL token holdings, activity classification.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • wallet.reportComprehensive address report combining wallet profile, credit score, token approvals, and recent interactions in one response.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Comprehensive address report combining wallet profile, credit score, token approvals, and recent interactions in one response.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • wallet.smart_moneyTrack smart money patterns by analyzing whale transfer activity.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Track smart money patterns by analyzing whale transfer activity. Identifies accumulation vs distribution behavior and market sentiment.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 34Claude Code: allow
  • agent.card.lookupLook up a specific AI Agent's card by ID.Reads text others writeNo findings

    Why it is in this group

    • The name "agent.card.lookup" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Look up a specific AI Agent's card by ID. Returns identity, capabilities, trust score, and endpoints. ($0.002)

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • agent.erc8004Get agent reputation in ERC-8004 standard format (Identity + Reputation + Validation Registry schema).Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get agent reputation in ERC-8004 standard format (Identity + Reputation + Validation Registry schema). Same KYA analysis but formatted for on-chain registry compatibility. ($0.025)

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • analyze.recent_interactionsShow addresses that interacted with a target in recent ~2000 blocks.Reads text others writeNo findings

    Why it is in this group

    • The name "analyze.recent_interactions" says "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Show addresses that interacted with a target in recent ~2000 blocks. Labels known entities (CEX, DEX, bridges). EVM only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • analyze.risk_dashboardGet a unified risk assessment for any address: combines contract security scan, token approval risks, and market liquidation stress into one composite risk score.Reads text others writeNo findings

    Why it is in this group

    • The name "analyze.risk_dashboard" says "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get a unified risk assessment for any address: combines contract security scan, token approval risks, and market liquidation stress into one composite risk score. Scope: composite decision view for one wallet or contract, combining contract, approval, and liquidation-risk signals. Use this when the agent wants one prioritized address risk summary. Use security.contract.scan, token.approval, or wallet.credit_score when it needs one focused dimension instead.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • analyze.tx_decodeDecode a transaction: value, gas cost, status, method ID, and whether it's a contract call.Reads text others writeNo findings

    Why it is in this group

    • The name "analyze.tx_decode" says "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Decode a transaction: value, gas cost, status, method ID, and whether it's a contract call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • chain.blockGet latest or specific block data including gas, transactions, and timestamps.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get latest or specific block data including gas, transactions, and timestamps. Use for exact latest or historical block facts on one chain, including block number, gas, transactions, and timestamps. Do not use it for an aggregate chain health view; use chain.health for a single chain or oracle.chain_status for multi-chain status.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • chain.bridge.flowAnalyze cross-chain bridge capital flow direction.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Analyze cross-chain bridge capital flow direction. Determines if a chain is seeing net capital inflow (bullish) or outflow (bearish). Use for directional net capital flow across bridges on one chain. For large bridge-transfer detection, use chain.bridge.monitor; use chain.compare when choosing between chains.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • chain.compareSide-by-side comparison of EVM chains — gas costs, block time, and best DeFi yields.Reads text others writeNo findings

    Why it is in this group

    • The name "chain.compare" says "compare": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Side-by-side comparison of EVM chains — gas costs, block time, and best DeFi yields. Helps choose the optimal chain for transactions. Use to compare a bounded set of EVM chains when selecting a network for an action. It is a decision aid, not an outage monitor or transaction executor; use chain.health for a single-chain snapshot, gas.tracker for a live fee quote, or oracle.chain_status for multi-chain status.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.compareCompare DeFi lending rates across protocols.Reads text others writeNo findings

    Why it is in this group

    • The name "defi.compare" says "compare": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Compare DeFi lending rates across protocols. EVM: Aave V3 vs Compound V3 side-by-side. Solana: Kamino + staking yield.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.farmingGet Uniswap V3 LP pool statistics including liquidity, fee tiers, and current tick data.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get Uniswap V3 LP pool statistics including liquidity, fee tiers, and current tick data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.liquidityRead Uniswap V3 pool state for a token pair: current price, active liquidity, fee tier.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Read Uniswap V3 pool state for a token pair: current price, active liquidity, fee tier. EVM only. Use when a known token pair needs pool-depth and active-liquidity context. It requires both token addresses and does not rank lending yields; use defi.aggregator or defi.compare for rates.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.opportunityFind the best DeFi yield opportunity combined with optimal gas timing.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Find the best DeFi yield opportunity combined with optimal gas timing.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • defi.yieldsGet live DeFi lending rates.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get live DeFi lending rates. EVM: Aave V3 supply/borrow APY. Solana: Kamino KLend reserves + native staking yield.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • gas.historyGet 6-hour gas fee trend with 36 sampled data points.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get 6-hour gas fee trend with 36 sampled data points. EVM: base fee per block. Solana: TPS performance samples. Scope: recent sampled fee history and trend. Use this for 'how have fees behaved recently?'. It is not a current quote (gas.tracker), a forecast (gas.predict), or a submission recommendation (gas.optimize).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • gas.trackerGet current gas/fee data.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get current gas/fee data. EVM: base fee, priority fee, predictions. Solana: priority fees, TPS, congestion level. Scope: current fee snapshot for a transaction decision. Use this for 'what are fees now?'. It is not a historical series (gas.history), a short-horizon forecast (gas.predict), or timing advice (gas.optimize).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • market.dex_tradesGet recent DEX swap trades from a Uniswap V3 pool.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get recent DEX swap trades from a Uniswap V3 pool. Use for recent swaps in a known Uniswap V3 pool. It is pool-specific and read-only; use market.overview for a broad snapshot or defi.liquidity for pool state and depth.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • market.overviewGet a cross-chain market snapshot: ETH price, gas costs, and DeFi TVL across Base, Ethereum, Arbitrum, and Optimism in one call.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get a cross-chain market snapshot: ETH price, gas costs, and DeFi TVL across Base, Ethereum, Arbitrum, and Optimism in one call. Use for a fixed broad snapshot of major market, gas, and TVL signals. It is not a chain health verdict, token price lookup, or custom chain comparison; use chain.health, token.price, or chain.compare for those questions.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • market.stablecoin.supplyGet USDC/USDT/DAI total supply across chains.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get USDC/USDT/DAI total supply across chains.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • nft.collectionGet NFT collection info: name, symbol, total supply, owner count.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get NFT collection info: name, symbol, total supply, owner count. EVM chains only (ERC-721/1155).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • nft.floorAnalyze NFT collection activity: recent transfers, mints, burns, unique buyers, and activity level from on-chain ERC721 events.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Analyze NFT collection activity: recent transfers, mints, burns, unique buyers, and activity level from on-chain ERC721 events.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • nft.holdersAnalyze NFT holder distribution by scanning recent Transfer events.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Analyze NFT holder distribution by scanning recent Transfer events.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • nft.metadataGet individual NFT token metadata: owner, tokenURI, image, attributes.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "get" and "uri": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Get individual NFT token metadata: owner, tokenURI, image, attributes. Resolves IPFS URIs. EVM chains only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • oracle.chain_statusData Oracle: Real-time health and block freshness across configured EVM chains.Reads text others writeNo findings

    Why it is in this group

    • The name "oracle.chain_status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Data Oracle: Real-time health and block freshness across configured EVM chains. Detects chain outages, stale blocks, and RPC degradation before agents submit transactions.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • security.contract.eventsRead recent event logs from any smart contract.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Read recent event logs from any smart contract. Auto-decodes Transfer, Approval, Swap events. EVM only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.holdersAnalyze top token holders by recent accumulation.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Analyze top token holders by recent accumulation. Scans Transfer events to identify the largest net receivers of a token. Use for token-holder concentration and recent net accumulation. Do not use it for a wallet's portfolio or token price; use wallet.report for a wallet address or token.price for a token price.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.priceGet real-time token price.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get real-time token price. EVM: reads Uniswap V3 TWAP on-chain. Solana: reads Pyth oracle price account directly from chain. No external API.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.riskAnalyze a token's risk profile.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Analyze a token's risk profile. EVM: checks contract verification, proxy status, ownership renouncement, liquidity. Solana: checks mint/freeze authority, supply, Metaplex metadata. Scope: asset-level token due diligence for a token contract or mint, combining market, liquidity, verification, and control signals. Use this when the question is 'is this token safe or liquid?'. It is not raw bytecode inspection (use security.contract.scan), a wallet's financial behavior (use wallet.credit_score), or a multi-signal address dashboard (use analyze.risk_dashboard).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.supplyGet ERC20 token total supply, decimals, symbol, and name from on-chain data.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get ERC20 token total supply, decimals, symbol, and name from on-chain data. Use for contract-level supply metadata such as total supply, decimals, symbol, and name. It does not assess price, token safety, or holder concentration; use token.risk, token.price, or token.holders instead.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • token.trendingGet trending tokens by on-chain transfer volume.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get trending tokens by on-chain transfer volume. EVM only — ranks tokens by Transfer event count in recent blocks.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.ens_resolveResolve ENS domain names to Ethereum addresses (forward) or addresses to ENS names (reverse).Reads text others writeNo findings

    Why it is in this group

    • The name "util.ens_resolve" says "resolve": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Resolve ENS domain names to Ethereum addresses (forward) or addresses to ENS names (reverse). Also retrieves text records.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.governanceRead on-chain DAO governance proposals.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Read on-chain DAO governance proposals. Shows last 5 proposals with vote counts and states. Supported: Ethereum, Arbitrum, Optimism.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.multi_sigAnalyze a Gnosis Safe multi-sig wallet.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Analyze a Gnosis Safe multi-sig wallet. Returns owners, threshold, nonce, modules, and security assessment.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • util.stream_infoGet connection info for ChainRay real-time SSE streaming endpoints.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get connection info for ChainRay real-time SSE streaming endpoints. These endpoints require a direct HTTP connection with text/event-stream Accept header, not MCP. Use this tool to learn how to connect. Use to discover the five real-time SSE streams and their connection requirements. The returned guidance is not a stream itself; connect directly over HTTP with the documented Accept and payment headers.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • wallet.portfolioAnalyze a wallet's portfolio: total USD value, token breakdown, concentration analysis, and diversification score.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Analyze a wallet's portfolio: total USD value, token breakdown, concentration analysis, and diversification score.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Install

Pinned to version 2.5.8. Values in angle brackets are yours to fill in.

claude mcp add --transport http chainray https://chainray.online/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__chainray__token_risk",
      "mcp__chainray__gas_tracker",
      "mcp__chainray__token_price",
      "mcp__chainray__token_trending",
      "mcp__chainray__defi_yields",
      "mcp__chainray__nft_collection",
      "mcp__chainray__nft_metadata",
      "mcp__chainray__analyze_recent_interactions",
      "mcp__chainray__gas_history",
      "mcp__chainray__security_contract_events",
      "mcp__chainray__defi_compare",
      "mcp__chainray__defi_liquidity",
      "mcp__chainray__util_governance",
      "mcp__chainray__token_holders",
      "mcp__chainray__defi_farming",
      "mcp__chainray__util_multi_sig",
      "mcp__chainray__util_ens_resolve",
      "mcp__chainray__market_overview",
      "mcp__chainray__chain_compare",
      "mcp__chainray__wallet_portfolio",
      "mcp__chainray__analyze_risk_dashboard",
      "mcp__chainray__chain_bridge_flow",
      "mcp__chainray__nft_floor",
      "mcp__chainray__token_supply",
      "mcp__chainray__chain_block",
      "mcp__chainray__analyze_tx_decode",
      "mcp__chainray__nft_holders",
      "mcp__chainray__market_dex_trades",
      "mcp__chainray__market_stablecoin_supply",
      "mcp__chainray__defi_opportunity",
      "mcp__chainray__oracle_chain_status",
      "mcp__chainray__agent_card_lookup",
      "mcp__chainray__agent_erc8004",
      "mcp__chainray__util_stream_info"
    ],
    "ask": [
      "mcp__chainray__monitor_whale_alerts",
      "mcp__chainray__wallet_profile",
      "mcp__chainray__chain_bridge_monitor",
      "mcp__chainray__security_contract_scan",
      "mcp__chainray__security_mev_detect",
      "mcp__chainray__token_screener",
      "mcp__chainray__market_stablecoin_monitor",
      "mcp__chainray__gas_predict",
      "mcp__chainray__defi_tvl",
      "mcp__chainray__monitor_flashloan",
      "mcp__chainray__monitor_liquidation",
      "mcp__chainray__token_approval",
      "mcp__chainray__wallet_smart_money",
      "mcp__chainray__wallet_credit_score",
      "mcp__chainray__defi_health",
      "mcp__chainray__chain_cross",
      "mcp__chainray__security_sandwich",
      "mcp__chainray__token_unlock",
      "mcp__chainray__gas_optimize",
      "mcp__chainray__defi_aggregator",
      "mcp__chainray__wallet_labels",
      "mcp__chainray__security_contract_verify",
      "mcp__chainray__market_new_pairs",
      "mcp__chainray__wallet_report",
      "mcp__chainray__chain_health",
      "mcp__chainray__monitor_whale_tracker",
      "mcp__chainray__oracle_gas_avg",
      "mcp__chainray__oracle_price_feed",
      "mcp__chainray__agent_reputation",
      "mcp__chainray__util_context_brief",
      "mcp__chainray__agent_card_register",
      "mcp__chainray__agent_card_discover",
      "mcp__chainray__security_mev_shield",
      "mcp__chainray__market_solver_feed",
      "mcp__chainray__token_sentiment",
      "mcp__chainray__util_workflow_brief",
      "mcp__chainray__util_intent_router",
      "mcp__chainray__util_verify_proof",
      "mcp__chainray__monitor_watch_address",
      "mcp__chainray__monitor_watch_diff",
      "mcp__chainray__predict_gas",
      "mcp__chainray__predict_whale_move",
      "mcp__chainray__predict_liquidity",
      "mcp__chainray__predict_token_momentum",
      "mcp__chainray__security_mev_intel"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as chainray. Review it before you use it.

Capability tags behind 79 rules
  • mcp__chainray__monitor_whale_alerts untrusted-input
  • mcp__chainray__token_risk untrusted-input
  • mcp__chainray__gas_tracker untrusted-input
  • mcp__chainray__token_price untrusted-input
  • mcp__chainray__wallet_profile untrusted-input
  • mcp__chainray__token_trending untrusted-input
  • mcp__chainray__defi_yields untrusted-input
  • mcp__chainray__nft_collection untrusted-input
  • mcp__chainray__nft_metadata untrusted-input
  • mcp__chainray__chain_bridge_monitor untrusted-input
  • mcp__chainray__analyze_recent_interactions untrusted-input
  • mcp__chainray__security_contract_scan untrusted-input
  • mcp__chainray__gas_history untrusted-input
  • mcp__chainray__security_contract_events untrusted-input
  • mcp__chainray__security_mev_detect untrusted-input
  • mcp__chainray__defi_compare untrusted-input
  • mcp__chainray__token_screener untrusted-input
  • mcp__chainray__defi_liquidity untrusted-input
  • mcp__chainray__util_governance untrusted-input
  • mcp__chainray__market_stablecoin_monitor untrusted-input
  • mcp__chainray__gas_predict untrusted-input
  • mcp__chainray__defi_tvl untrusted-input
  • mcp__chainray__token_holders untrusted-input
  • mcp__chainray__defi_farming untrusted-input
  • mcp__chainray__monitor_flashloan untrusted-input
  • mcp__chainray__monitor_liquidation untrusted-input
  • mcp__chainray__token_approval untrusted-input
  • mcp__chainray__util_multi_sig untrusted-input
  • mcp__chainray__util_ens_resolve untrusted-input
  • mcp__chainray__market_overview untrusted-input
  • mcp__chainray__chain_compare untrusted-input
  • mcp__chainray__wallet_portfolio untrusted-input
  • mcp__chainray__wallet_smart_money untrusted-input
  • mcp__chainray__wallet_credit_score untrusted-input
  • mcp__chainray__analyze_risk_dashboard untrusted-input
  • mcp__chainray__chain_bridge_flow untrusted-input
  • mcp__chainray__defi_health untrusted-input
  • mcp__chainray__nft_floor untrusted-input
  • mcp__chainray__chain_cross untrusted-input
  • mcp__chainray__security_sandwich untrusted-input
  • mcp__chainray__token_unlock untrusted-input
  • mcp__chainray__gas_optimize untrusted-input
  • mcp__chainray__defi_aggregator untrusted-input
  • mcp__chainray__wallet_labels untrusted-input
  • mcp__chainray__token_supply untrusted-input
  • mcp__chainray__chain_block untrusted-input
  • mcp__chainray__security_contract_verify untrusted-input
  • mcp__chainray__analyze_tx_decode untrusted-input
  • mcp__chainray__nft_holders untrusted-input
  • mcp__chainray__market_dex_trades untrusted-input
  • mcp__chainray__market_new_pairs untrusted-input
  • mcp__chainray__market_stablecoin_supply untrusted-input
  • mcp__chainray__wallet_report untrusted-input
  • mcp__chainray__chain_health untrusted-input
  • mcp__chainray__defi_opportunity untrusted-input
  • mcp__chainray__monitor_whale_tracker untrusted-input
  • mcp__chainray__oracle_gas_avg untrusted-input
  • mcp__chainray__oracle_price_feed untrusted-input
  • mcp__chainray__oracle_chain_status untrusted-input
  • mcp__chainray__agent_reputation untrusted-input
  • mcp__chainray__util_context_brief untrusted-input
  • mcp__chainray__agent_card_register untrusted-input
  • mcp__chainray__agent_card_discover untrusted-input
  • mcp__chainray__agent_card_lookup untrusted-input
  • mcp__chainray__security_mev_shield untrusted-input
  • mcp__chainray__market_solver_feed untrusted-input
  • mcp__chainray__token_sentiment untrusted-input
  • mcp__chainray__util_workflow_brief untrusted-input
  • mcp__chainray__agent_erc8004 untrusted-input
  • mcp__chainray__util_intent_router untrusted-input
  • mcp__chainray__util_verify_proof untrusted-input
  • mcp__chainray__monitor_watch_address untrusted-input
  • mcp__chainray__monitor_watch_diff untrusted-input
  • mcp__chainray__predict_gas untrusted-input
  • mcp__chainray__predict_whale_move untrusted-input
  • mcp__chainray__predict_liquidity untrusted-input
  • mcp__chainray__predict_token_momentum untrusted-input
  • mcp__chainray__security_mev_intel untrusted-input
  • mcp__chainray__util_stream_info untrusted-input