# ChainRay (online.chainray/chainray): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/online.chainray%2Fchainray/versions/latest)
- Connected to: https://chainray.online/mcp
- Scoring rules: v2
- Tools: 79
- Average: 58.1 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how ChainRay (online.chainray/chainray)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 79 tools. Above 40, models choose less accurately.
- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `nft.holders`: 39 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: contract.
- `market.stablecoin.supply`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `chain.cross`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
- `chain.bridge.monitor`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `nft.floor`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `predict.gas`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `predict.liquidity`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `predict.whale_move`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `wallet.portfolio`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `defi.opportunity`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `monitor.whale.tracker`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
- `token.unlock`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
- `wallet.labels`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
- `agent.card.discover`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `agent.erc8004`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `analyze.recent_interactions`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: address.
- `chain.health`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
- `defi.farming`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `defi.tvl`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `market.stablecoin.monitor`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `monitor.flashloan`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `monitor.liquidation`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `nft.collection`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: contract.
- `nft.metadata`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: contract.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: tokenId. Name the tool or the place that returns it, or models look it up first.
- `security.contract.events`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: address.
  - Minor: The description mentions none of its 3 or more arguments.
- `security.mev.intel`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `token.approval`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `token.trending`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `util.governance`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `util.workflow_brief`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `wallet.profile`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `wallet.smart_money`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `analyze.tx_decode`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: txHash.
- `agent.card.lookup`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: agentId. Name the tool or the place that returns it, or models look it up first.
- `oracle.chain_status`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `predict.token_momentum`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `security.mev.detect`: 54 / 100
- `token.sentiment`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `util.ens_resolve`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
- `oracle.gas_avg`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `token.screener`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `util.multi_sig`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `security.contract.verify`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: address.
- `security.mev.shield`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
- `token.price`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `wallet.report`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: address.
- `security.sandwich`: 58 / 100
- `agent.reputation`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `defi.compare`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `defi.yields`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `monitor.whale.alerts`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `market.dex_trades`: 61 / 100
- `market.new_pairs`: 61 / 100
  - Minor: No `required` list, so every argument is optional.
- `oracle.price_feed`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `chain.bridge.flow`: 62 / 100
  - Minor: No `required` list, so every argument is optional.
- `security.contract.scan`: 62 / 100
- `defi.health`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
- `gas.history`: 65 / 100
  - Minor: No `required` list, so every argument is optional.
- `gas.tracker`: 65 / 100
  - Minor: No `required` list, so every argument is optional.
- `util.verify_proof`: 65 / 100
- `agent.card.register`: 67 / 100
  - Minor: String arguments with no constraint or example: name.
  - Minor: Required identifiers whose description does not say where the value comes from: agentId. Name the tool or the place that returns it, or models look it up first.
- `chain.block`: 67 / 100
  - Minor: No `required` list, so every argument is optional.
- `monitor.watch.address`: 67 / 100
- `token.holders`: 67 / 100
- `util.context_brief`: 67 / 100
  - Minor: No `required` list, so every argument is optional.
- `util.intent_router`: 67 / 100
- `market.overview`: 68 / 100
- `defi.aggregator`: 69 / 100
- `market.solver_feed`: 70 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `monitor.watch.diff`: 70 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: watchId. Name the tool or the place that returns it, or models look it up first.
- `token.risk`: 70 / 100
- `util.stream_info`: 70 / 100
- `chain.compare`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
- `token.supply`: 73 / 100
  - Minor: String arguments with no constraint or example: address.
- `analyze.risk_dashboard`: 75 / 100
- `wallet.credit_score`: 75 / 100
- `defi.liquidity`: 77 / 100
  - Minor: String arguments with no constraint or example: tokenA, tokenB.
  - Minor: The description mentions none of its 3 or more arguments.
- `gas.optimize`: 77 / 100
  - Minor: No `required` list, so every argument is optional.
- `gas.predict`: 77 / 100
  - Minor: No `required` list, so every argument is optional.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
