bridge-watch on-chain intelligence
Server Details
Base on-chain address labels (eth-labels 104k category tags), tx explainer, clusters, CCTP USDC.
- Status
- Healthy
- Uptime
- 100.0% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- LakeSky/bridge-watch-mcp
- GitHub Stars
- 0
TDQS
Scored across 7 tools
Most tools target clearly distinct operations, but alert_stats and query_alerts both concern alerts (summary vs. detailed records), and explain_transaction vs. track_cctp overlap slightly around bridge detection. Descriptions still make the intended use cases separable.
Six of seven tools follow a clear verb_noun snake_case pattern (detect_cluster, explain_transaction, get_label, list_paid_endpoints, query_alerts, track_cctp). alert_stats is a minor deviation as a noun phrase rather than a verb-led name, but the overall style is consistent and readable.
Seven tools is well scoped for an on-chain intelligence server covering alerts, clustering, transaction explanation, labels, CCTP tracking, and paid endpoint discovery. Each tool appears to earn its place without redundancy or bloat.
The surface covers core workflows: alert stats/querying, address clustering, transaction explanation, label lookup, and CCTP tracking. Minor gaps remain, such as no generic bridge tracking beyond CCTP and no reverse label lookup, but agents can work around these for many use cases.
Available Tools
7 toolsalert_statsARead-onlyInspect
Alert statistics overview: totals, breakdown by kind / severity / address, and the latest alert time.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Statistics for the last N hours; omit for all time |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful context about what the response contains (breakdown dimensions and latest alert time), but says nothing about result size, pagination, or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that lists the concrete aggregate outputs with zero filler; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values and does so by enumerating the aggregate breakdowns. It is largely complete for a simple read-only stats tool, with only minor gaps around result shape or time-window behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'hours' parameter, so the schema already documents the time window and its all-time default. The description does not restate or extend parameter meaning, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (alert statistics) and enumerates the specific aggregates returned: totals, breakdown by kind/severity/address, latest alert time. This clearly distinguishes it from the sibling query_alerts, which presumably returns individual alerts rather than an aggregate overview, though the sibling is not named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'overview' versus the list-oriented sibling query_alerts, but there is no explicit statement of when to choose this tool over alternatives or any prerequisite/time-window guidance beyond what the schema carries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_clusterARead-onlyInspect
Detect the set of addresses funded by a single funder (shared funding-source cluster). Useful for sybil / entity detection.
| Name | Required | Description | Default |
|---|---|---|---|
| funder | Yes | 0x-prefixed funder address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-data behavior are covered. The description usefully clarifies the analytical semantics (grouping by shared funding source), but says nothing about result size, rate limits, or how deep the funding graph is traversed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core operation and followed by the use case. No filler, no restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with safety annotations, most of what an agent needs is present. But with no output schema, the description never indicates what the returned cluster looks like (address list, counts, depth limits), which an agent needs to plan the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter and schema description coverage is 100%, so the schema already documents 'funder' as a 0x-prefixed address. The description's phrase 'funded by a single funder' echoes the parameter rather than adding format or validation detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Detect') and resource (the set of addresses sharing one funder), and defines the underlying concept in parentheses so the agent knows exactly what a 'cluster' means here. It does not explicitly differentiate itself from the sibling tools, but their purposes are unrelated, so the risk of confusion is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful for sybil / entity detection' gives a clear analytical context in which to reach for the tool. However, it states no prerequisites, no when-not condition, and no alternative tool to prefer for overlapping investigations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_transactionBRead-onlyInspect
Explain what a transaction did: status, sender/receiver (with identity labels), transfer details, and whether it looks like a cross-chain bridge operation.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | 0x-prefixed transaction hash |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the tool performs identity labeling and cross-chain bridge inference, which is useful context, but says nothing about rate limits, chain coverage, or what happens when a hash is unknown. Adequate with annotations but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the core verb and resource, then a compact comma-separated list of returned facts. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry return-value information, and it does so reasonably well by naming the result categories including bridge detection. It is slightly thin on behavior for unknown/invalid hashes or non-EVM chains, but otherwise complete for a one-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is a single, self-explanatory txHash parameter documented as 0x-prefixed. The description adds nothing about the parameter beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (explain) and resource (transaction) and enumerates the analysis it returns: status, sender/receiver with identity labels, transfer details, and bridge detection. It is unmistakably distinct from the sibling tools (alert_stats, detect_cluster, get_label, track_cctp), though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. The description only describes output content, leaving routing decisions to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_labelARead-onlyInspect
Look up the identity label of an EVM address (Base, open eth-labels dataset; mostly category tags rather than named entities). Returns which entity the address belongs to; unlabelled addresses return null. Call with no arguments for a free demo result.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | 0x-prefixed address. Omit it to run a free demo lookup (USDC contract on Base), e.g. 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false; the description adds real context beyond that: data provenance (open eth-labels dataset), coverage limitations (mostly category tags), null-return semantics for unlabelled addresses, and a free demo path. It does not discuss rate limits or the paid-tier boundary hinted at by the list_paid_endpoints sibling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with what the tool does and followed by the return contract and the demo shortcut. No filler and every clause carries usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden and does so: it states the address resolves to an entity or null. Combined with the dataset scoping and the no-arg demo, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is fully documented, including the no-argument demo behavior, so the description is not required to carry parameter meaning. It restates the same omit-for-demo behavior without adding format or syntax detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Look up the identity label of an EVM address') and immediately scopes it to Base and the open eth-labels dataset. The caveat that it is 'mostly category tags rather than named entities' prevents an agent from over-expecting named-entity resolution, and no sibling tool overlaps this function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: call it to find which entity an address belongs to, expect null for unlabelled addresses, and call with no arguments for a free demo. It does not name alternatives or explicitly state when not to use it (e.g., other chains), which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_paid_endpointsList paid endpoints and pricesARead-onlyInspect
List every paid HTTP endpoint of this service with its live per-call price in USDC on Base. Takes no arguments. Call this first to discover what you can buy and what it costs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false. The description goes further by disclosing the pricing unit and chain (USDC on Base), that prices are live, and that the call takes no arguments — useful context beyond the structured fields. It stops short of describing result size or ordering, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler; the resource and scope lead, and the actionable instruction ('call this first') closes. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument, read-only discovery tool with no output schema, the description covers what is returned (endpoints plus live USDC prices) and when to call it. It could say a bit more about the shape or scale of the returned list, but nothing essential to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. The description explicitly confirms 'Takes no arguments,' which is consistent with the empty schema and removes any doubt about required inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource ('List every paid HTTP endpoint'), plus the value carried (live per-call price in USDC on Base). No sibling tool in the set lists purchasable endpoints, so the purpose is unambiguous and distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call this first to discover what you can buy and what it costs' gives explicit ordering guidance (invoke before other calls) and the goal that motivates it. It does not name alternatives or exclusions, but none of the siblings overlap this discovery role, so the omission is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_alertsBRead-onlyInspect
Query historical alert records; filterable by address, rule kind, severity, and time range.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Filter by alert kind | |
| hours | No | Alerts from the last N hours | |
| limit | No | Number of records (default 20, max 100) | |
| address | No | Filter by monitored address (0x-prefixed) | |
| severity | No | Filter by severity |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds essentially nothing beyond that: no note on pagination behavior, result caps, ordering, or retention limits. For a read tool with annotations this is thin but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with a clear verb-resource clause and a compact list of filters; nothing is wasted and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five optional parameters and no output schema, the description covers the input surface adequately but says nothing about what a record looks like or how results are ordered/limited, which is a real gap for a query tool whose shape the agent must reason about.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (kind, hours, limit, address, severity) is already documented in the schema, including enum values and min/max. The description only restates the filter categories, adding no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Query historical alert records') and enumerates the filter dimensions (address, rule kind, severity, time range), which maps cleanly onto the schema. It could have differentiated itself more explicitly from the sibling alert_stats (records vs. aggregates), but an agent can still infer the split.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'historical alert records' but there is no explicit when-to-use guidance, no mention of when to prefer alert_stats instead, and no stated prerequisites. An agent can guess the intent but is given no routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_cctpARead-onlyInspect
CCTP cross-chain transfer tracking: given a source-chain tx hash, find which transfer it belongs to, how much moved, the destination chain, and whether it arrived. Supports Base → Ethereum and other CCTP chains.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | Transaction hash on the source chain (0x-prefixed, 66 chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true. The description adds meaningful context beyond annotations by specifying what is returned (transfer identity, amount, destination, arrival) and the supported chains. It lacks auth or rate-limit details, but the safety profile is already covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and return information. Every sentence adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain return values; it does so clearly (transfer, amount, destination chain, arrival). Input format is covered by the schema. Complete for a read-only, single-input lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single txHash parameter, which already documents its format (0x-prefixed, 66 chars). The description reinforces it as a source-chain tx hash but adds no syntax or semantics beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (tracking) and resource (CCTP cross-chain transfer), and names the input (source-chain tx hash) and the outputs (transfer identity, amount, destination chain, arrival). It does not explicitly differentiate from sibling tools like explain_transaction, but the domain is clear enough for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: use with a source-chain tx hash to find transfer details. Notes the supported scope (Base → Ethereum and other CCTP chains). No explicit when-not-to-use or named alternative, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- Changed
alert_stats1 field changed- changed
Input schema / properties / hours / descriptionPrevious value: -"统计最近 N 小时的告警,不填则全部"New value: +"Statistics for the last N hours; omit for all time"
- Changed
detect_cluster1 field changed- changed
Input schema / properties / funder / descriptionPrevious value: -"0x 开头的出资方地址"New value: +"0x-prefixed funder address"
- Changed
explain_transaction1 field changed- changed
Input schema / properties / txHash / descriptionPrevious value: -"0x 开头的交易哈希"New value: +"0x-prefixed transaction hash"
- Changed
get_label2 fields changed- changed
Input schema / properties / address / descriptionPrevious value: -"0x 开头的地址,如 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"New value: +"0x-prefixed address. Omit it to run a free demo lookup (USDC contract on Base), e.g. 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" - removed
Input schema / requiredRemoved value: -[ - "address" -]
- Added
list_paid_endpoints - Changed
query_alerts5 fields changed- changed
Input schema / properties / address / descriptionPrevious value: -"按监控地址过滤(0x 开头)"New value: +"Filter by monitored address (0x-prefixed)" - changed
Input schema / properties / hours / descriptionPrevious value: -"查询最近 N 小时的告警"New value: +"Alerts from the last N hours" - changed
Input schema / properties / kind / descriptionPrevious value: -"按告警类型过滤"New value: +"Filter by alert kind" - changed
Input schema / properties / limit / descriptionPrevious value: -"返回条数(默认 20,最多 100)"New value: +"Number of records (default 20, max 100)" - changed
Input schema / properties / severity / descriptionPrevious value: -"按严重程度过滤"New value: +"Filter by severity"
- Changed
track_cctp1 field changed- changed
Input schema / properties / txHash / descriptionPrevious value: -"源链上的交易哈希(0x 开头,66 字符)"New value: +"Transaction hash on the source chain (0x-prefixed, 66 chars)"
6 tool updates
- First observed
alert_stats - First observed
detect_cluster - First observed
explain_transaction - First observed
get_label - First observed
query_alerts - First observed
track_cctp
Related MCP Connectors
13 free Base tools: address labels, tx explain, balances, receipts, gas, logs, bytecode.
Pay-per-call tx explainer, DeFi yields, token safety, SEC 8-K and OFAC data via x402 (USDC on Base).
Honeypot & rug-pull detection, token risk feed, wallet risk, approvals audit. x402 USDC on Base.
Pay-per-call Base & Arc onchain facts for agents: address risk, USDC payment check, tx explain.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables blockchain forensics across multiple chains (Base, Ethereum, Arbitrum, Optimism, Polygon) with tools to trace transactions, cluster addresses, detect anomalies, and identify mixer usage.MIT
- AlicenseNot gradedqualityAmaintenanceExplains any Base mainnet transaction hash by returning a structured JSON with action type, assets moved, risk flags, and cost details, using deterministic on-chain decoding without LLM.MIT
- AlicenseAqualityCmaintenanceArbitrage detection across DEXes on Base. Scan pairs, detect price gaps, estimate profit, simulate flash loan routes.737 npm1MIT
- AlicenseAqualityBmaintenanceReal-time DEX token momentum, orderbook liquidity depth, and whale flows on Base Mainnet gated with gasless x402 micropayments.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.