cleartrace

Neutral on-chain execution benchmarking: slippage, revert rates, MEV, and DEX frontend attribution.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
86%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,331token 数(工具定义)
~2.0 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.82%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "cleartrace": {
      "url": "https://cleartracedata.com/mcp"
    }
  }
}

远程端点

https://cleartracedata.com/mcpstreamable-http

它能做什么

工具清单

工具(7)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢execution_benchmarks(chain, limit)

Rank DEXs and aggregators by realized execution quality: median slippage against a minute-level off-chain reference price (Dune prices.usd, an interpolated 5-minute exchange-aggregate feed and not a VWAP), expressed as a score of 0-100 (higher means less slippage). This score measures SLIPPAGE ONLY. Revert rates and MEV exposure are tracked as separate metrics and are deliberately not folded in, so do not present this as an overall 'best execution' ranking -- a venue can score well here and fail often, and the caller has to ask `revert_rates` to find that out. Execution quality is not uniform across chains: pass a chain for a single-chain ranking, or 'all' for the blended cross-chain rollup, and do not describe the blend as if it were one chain's result.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "default": "all",
      "description": "One of: ethereum, base, arbitrum, optimism, or 'all' (the default) for the blended cross-chain rollup. Do not describe the blend as one chain's result.",
      "title": "Chain",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Rows to return, 1-100, default 20. Values outside that range are clamped, not rejected. The ceiling is deliberately low because results land in a context window, where a large page evicts the conversation.",
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "execution_benchmarksArguments"
}
🟢revert_rates(chain, project, comparable_only, limit)

The share of a venue's routing transactions that fail on-chain, per chain. Reported separately from slippage because reliability and price are different questions. DO NOT RANK ACROSS EXECUTION MODELS. A revert rate measures reliability only where the failing transaction is the user's own -- a 'router' venue, where the user signs and submits the swap. On a batch-auction or intent venue a solver settles, and an order that cannot be filled never becomes a transaction at all, so its on-chain revert rate is structurally near zero no matter how well or badly it fills. Sorting every venue by revert rate puts those at the top and means nothing. `comparable_only` (the default) returns only the rows that may legitimately be ranked against each other. Read `user_revert_rate_pct` when present: the headline rate on some cells stays inflated by address-rotating spam senders that no per-sender filter separates cleanly, and the user-only figure is the measured genuine-user experience. Each row carries its `execution_model` and a `revert_comparable` flag; quote them.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "default": null,
      "description": "One of: ethereum, base, arbitrum, optimism. Omit for all four; an unrecognised value is not an error and falls back rather than failing, so pass one of the four or nothing.",
      "title": "Chain",
      "type": "string"
    },
    "project": {
      "default": null,
      "description": "Venue key to filter to, e.g. 'uniswap', 'oneinch'. Omit for every venue. Match the `project` value returned by this or `attribution`; it is not a display name.",
      "title": "Project",
      "type": "string"
    },
    "comparable_only": {
      "default": true,
      "description": "Default true, and leave it true unless you know why not. It restricts rows to venues whose execution model makes a revert rate comparable at all. Setting it false returns batch-auction and intent venues whose near-zero on-chain revert rate is structural, not a reliability signal, and ranking those against routers is the error this flag exists to prevent.",
      "title": "Comparable Only",
      "type": "boolean"
    },
    "limit": {
      "default": 20,
      "description": "Rows to return, 1-100, default 20. Values outside that range are clamped, not rejected. The ceiling is deliberately low because results land in a context window, where a large page evicts the conversation.",
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "revert_ratesArguments"
}
🟢attribution(chain, project, limit)

Which frontend, router or interface originated on-chain DEX volume, aggregated per contract per chain. This is the dataset ClearTrace exists for: it names the venue behind volume that block explorers leave as an anonymous contract. THE VOLUME COLUMNS ARE TWO DIFFERENT KINDS AND MUST NOT BE SUMMED TOGETHER. `direct_volume_usd`, `aggregator_volume_usd`, `proxy_volume_usd` and `aggregator_partner_volume_usd` partition `total_volume_usd` between them. `calldata_suffix_volume_usd` and `erc20_fee_volume_usd` are OVERLAYS: they re-describe dollars already counted in the first group, seen through a different attribution vector. A suffix figure larger than the total is therefore correct and is not a bug. Adding an overlay to a partition column double-counts. Volumes refresh weekly and are dated to the Monday of their window, so present them as a week's volume and never as today's.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "default": null,
      "description": "One of: ethereum, base, arbitrum, optimism. Omit for all four; an unrecognised value is not an error and falls back rather than failing, so pass one of the four or nothing.",
      "title": "Chain",
      "type": "string"
    },
    "project": {
      "default": null,
      "description": "Frontend or router key to filter to, e.g. 'uniswap', 'oneinch'. Omit for every attributed venue. This is the machine key, not a display name.",
      "title": "Project",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Rows to return, 1-100, default 20. Values outside that range are clamped, not rejected. The ceiling is deliberately low because results land in a context window, where a large page evicts the conversation.",
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "attributionArguments"
}
⚪contract_attribution(address, chain)

What ClearTrace knows about a single contract or wallet address: its per-chain volume split across the four attribution vectors, plus any label resolved for it. Most useful on the ANONYMOUS routers and proxies that aggregate views leave unnamed -- that is the differentiated question this answers. Known, named protocol contracts are often keyed by name rather than address upstream and may return nothing here, so an empty result for a famous router is not evidence the address is obscure. An address that resolves to no label is reported with a null label. Report that as 'not identified', which is what it means: these are genuinely anonymous deployments, and guessing an operator from volume or deployer alone has been wrong before.

输入模式

{
  "type": "object",
  "properties": {
    "address": {
      "description": "A single contract or wallet address, 0x-prefixed hex. Case-insensitive; checksummed or lowercase both work. One address per call.",
      "title": "Address",
      "type": "string"
    },
    "chain": {
      "default": null,
      "description": "One of: ethereum, base, arbitrum, optimism. Omit to return the address's split across all four, which is usually what you want, since the same deployment often appears on several.",
      "title": "Chain",
      "type": "string"
    }
  },
  "required": [
    "address"
  ],
  "title": "contract_attributionArguments"
}
🟢explain_transaction(tx_hash, chain, deep, price)

Classify a single transaction against the attribution engine: which frontend or router originated the trade and by which evidence, the pools it touched, any fee recipients, and whether it was sandwiched. Confidence is per-vector and is reported per result -- a calldata suffix is strong evidence a specific frontend tagged the swap, while a fee recipient is indirect evidence and is never rated high. Pass that qualification through instead of stating the frontend flatly. `estimated_volume_usd` (only with price=true) is a best-effort spot price on the dominant leg. It is an approximation for orientation and must never be quoted as a settlement figure. Fee amounts are exact raw token integers with no decimals or pricing applied. deep=true costs more upstream credits; leave it off unless a shallow classification came back unattributed.

输入模式

{
  "type": "object",
  "properties": {
    "tx_hash": {
      "description": "The transaction hash, 0x-prefixed hex. Must exist on `chain`: this does not search the other chains, so a hash from the wrong chain returns nothing rather than an error.",
      "title": "Tx Hash",
      "type": "string"
    },
    "chain": {
      "default": "ethereum",
      "description": "One of: ethereum, base, arbitrum, optimism. Defaults to ethereum, and an unrecognised value falls back to ethereum rather than failing, so pass the transaction's actual chain explicitly.",
      "title": "Chain",
      "type": "string"
    },
    "deep": {
      "default": false,
      "description": "Run the deeper classification pass. Slower. Worth setting only when the default pass came back unattributed.",
      "title": "Deep",
      "type": "boolean"
    },
    "price": {
      "default": false,
      "description": "Include price and value context alongside the routing classification.",
      "title": "Price",
      "type": "boolean"
    }
  },
  "required": [
    "tx_hash"
  ],
  "title": "explain_transactionArguments"
}
⚪gas_prices

Current gas price on each supported chain, from RPC. On the L2s (Base, Arbitrum, Optimism) this is the EXECUTION gas price only and excludes the L1 data availability fee, which is a real and sometimes dominant part of an L2 transaction's cost. Any cost estimate built from this figure on an L2 is a lower bound and should be labelled as one; comparing an L2 'cost' against Ethereum's on this basis overstates the L2's advantage.

输入模式

{
  "type": "object",
  "properties": {},
  "title": "gas_pricesArguments"
}
⚪request_api_key(email, use_case, name, company)

Mint a free API key that multiplies this server's rate limits by 10x. Requires an email address. The key changes LIMITS ONLY. Every figure served here is public and identical with or without one, there is no paid tier, and no data is gated behind it -- so present this as raising a ceiling, never as unlocking content. Ask the user before submitting their email; do not invent an address to satisfy the argument. The key is returned once and cannot be shown again, so surface it to the user verbatim.

输入模式

{
  "type": "object",
  "properties": {
    "email": {
      "description": "The user's own email address. ASK THEM FOR IT; never invent one to satisfy this argument. The key is mailed nowhere and returned once in the response, so this is a lead record, not a delivery channel.",
      "title": "Email",
      "type": "string"
    },
    "use_case": {
      "default": null,
      "description": "Optional, one line on what they are building. The single most useful field here.",
      "title": "Use Case",
      "type": "string"
    },
    "name": {
      "default": null,
      "description": "Optional. The user's name.",
      "title": "Name",
      "type": "string"
    },
    "company": {
      "default": null,
      "description": "Optional. Where they work.",
      "title": "Company",
      "type": "string"
    }
  },
  "required": [
    "email"
  ],
  "title": "request_api_keyArguments"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本7 个工具
已验证未记录版本7 个工具