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.
79 tools: 45 change things and 34 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things45Claude Code: ask: see these tools
- Only reads34Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warntoken.unlock
The server marks "token.unlock" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "token.unlock" says "unlock": a word for a change.
- Warnwallet.labels
The server marks "wallet.labels" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "wallet.labels" says "label": a word for a change.
The server marks "monitor.watch.diff" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "monitor.watch.diff" says "diff": a word for reading.
The server marks "predict.whale_move" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "predict.whale_move" says "move": a word for a change.
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.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "monitor.watch.diff" says "diff": a word for reading.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "predict.whale_move" says "move": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "token.unlock" says "unlock": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "wallet.labels" says "label": a word for a change.
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.
- Reads text others write79
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- 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/mcpRun 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.
{
"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