Skip to main content
Glama
sF1nX

x402station-mcp

by sF1nX

Glama MCP server score

x402station-mcp

MCP adapter for x402station.io, the independent risk-signal layer for x402 agentic commerce. Exposes Preflight by x402station.io plus Forensics, Catalog Decoys, Alternatives, Credits, Watch, and Whats New. Any agent speaking the Model Context Protocol gets endpoint evidence before signing PAYMENT-SIGNATUREdecoy, zombie, price-trap, never-paid, latency, signature/settlement checks — before paying.

x402station.io independently probes every endpoint listed on agentic.market every 10 minutes and merges probe history with CDP settlement data. Policy engines decide and enforce; x402station.io measures and reports. We do not route, take custody, or endorse.

Install

# Claude Code / Cursor / Windsurf / Continue — works anywhere with MCP
npm install -g x402station-mcp
# or use npx in the config, no global install needed:

Related MCP server: crest-verify

Configure

The adapter charges real USDC per paid call through x402 itself. You need a wallet private key that holds Base mainnet USDC.

Claude Code

Add to ~/.claude/claude_desktop_config.json (or wherever your MCP servers live):

{
  "mcpServers": {
    "x402station": {
      "command": "npx",
      "args": ["-y", "x402station-mcp"],
      "env": {
        "AGENT_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY_HERE"
      }
    }
  }
}

Cursor / Windsurf / Continue

Same shape — every MCP host understands command / args / env. See your tool's MCP docs.

Environment

Variable

Required

Default

Purpose

AGENT_PRIVATE_KEY

yes for any paid tool call

0x-prefixed 64-hex-char private key. Account must hold Base mainnet USDC.

X402STATION_BASE_URL

no

https://x402station.io

Override for dev / testing.

Tools

preflight(url) — $0.001 USDC

Ask whether it's safe to pay this x402 URL. Returns:

{
  "ok": true,
  "warnings": [],
  "metadata": {
    "service": "...",
    "price_usdc": "0.01",
    "uptime_1h_pct": 100,
    "avg_latency_ms": 412
  }
}

ok is true only when no critical warning fires. Warnings include unknown_endpoint, no_history, dead, zombie, decoy_price_extreme, never_paid_zombie, proxy_markup, wildcard_402, spa_fallback, suspicious_high_price, slow, and new_provider.

forensics(url) — $0.001 USDC

Deep 7-day report. Superset of preflight. Returns hourly uptime, latency p50/p90/p99, status-code distribution, concentration-group stats, decoy probability. Extra warnings: dead_7d, mostly_dead, slow_p99, price_outlier_high, high_concentration.

catalog_decoys() — $0.005 USDC

Full blacklist. Returns every active endpoint currently flagged critical, plus per-reason counts. Pull periodically and cache locally — cheaper than preflighting every URL.

Typical agent flow

agent wants data from some_endpoint.com
    │
    ├─ preflight("https://some_endpoint.com/data")  ← $0.001
    │     ok: false, warnings: ["decoy_price_extreme"]
    │
    └─ skip; try the next candidate

For bulk discovery, do catalog_decoys() once per day and treat the result as a set-difference against any URLs you're about to hit.

Composes with

x402station checks whether the endpoint is safe (decoy / zombie / price-trap / never-paid) before an agent pays. It pairs naturally with a payload safety check — screening the payment metadata for PII before signing:

agent intent: pay some_endpoint.com
    ├─ x402station    preflight(url)              ← is the ENDPOINT safe?
    ├─ presidio-x402  screen_payment_metadata()   ← is the PAYLOAD safe?
    └─ pay()

presidio-hardened-x402-mcp screens payment metadata for PII before signing. The two servers are developed independently, on purpose — keeping the signals uncorrelated is the point. This is a composition pointer, not an endorsement; see their repo for the screening tool's behaviour and limits.

Contact

License

MIT

Available Tools

10 tools
alternativesRouting fallback — siblings to a flagged endpointA

Given a URL flagged by preflight (or a taskClass hint), returns up to 5 healthy sibling endpoints in the same provider/domain/category/price-band. Filters out 7-day-dead and 1-hour-erroring candidates; ranks by uptime + latency. Costs $0.005 USDC. Use this immediately after preflight returns ok=false — it answers 'where do I go instead?'. Pass {url} when you have a specific URL the agent was about to pay; pass {taskClass} (e.g. 'llm-completions', 'Inference') when discovering by service category; or both for a richer match.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL flagged by preflight (or otherwise rejected). Looked up in the catalog to extract provider / domain / category / price band as match keys.
taskClassNoService category hint (e.g. 'llm-completions', 'Inference'). Used as a fallback match key when `url` is unknown to the catalog, OR alone for category-only discovery.
limitNoMax alternatives to return (1..10, default 5).

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description discloses key behaviors: filters out 7-day-dead and 1-hour-erroring candidates, ranks by uptime+latency, costs $0.005 USDC, and falls back to taskClass if url is unknown. It lacks details on edge cases like missing both parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two-sentence paragraph efficiently conveys purpose, input, behavior, and usage hint. Every sentence is informative with no redundancy, and the core action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main use case, filtering criteria, cost, and parameter guidance. Missing return format details and error handling (e.g., no alternatives found), but is sufficient given no output schema and low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage, but the description adds context beyond field descriptions: explains how url and taskClass are used as match keys, the ranking logic, and implies default limit of 5. This enriches the agent's understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'returns up to 5 healthy sibling endpoints' when given a flagged URL or taskClass hint. It distinguishes itself from sibling tools like preflight by specifying it is used after preflight returns ok=false, providing a clear purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs when to use: 'Use this immediately after preflight returns ok=false'. It also explains the different parameter combinations (url, taskClass, or both) and when to choose each, providing strong guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buy_creditsBuy 1000 prepaid /api/v1/preflight calls ($0.50 = 50% off)A

Bulk-prepaid preflight bundle. Pay $0.50 USDC once for 1000 prepaid /api/v1/preflight calls. Effective rate $0.0005/call (50% off the per-call $0.001 tier). Returns { creditId, balance: 1000, expiresAt }. STORE THE creditId — it's the bearer token and is not retrievable later. Pass it via X-Credit-Id header on subsequent /api/v1/preflight calls; on exhaustion (balance=0) or expiry (90 days) the middleware falls through to per-call x402 automatically. Use this once you've decided to do high-volume preflight work.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses cost, return structure, the need to store creditId (not retrievable later), header usage, expiration (90 days), and fallback behavior. Lacks details on error handling but is otherwise transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of six sentences, front-loaded with the main purpose. It covers cost, returns, usage, and fallback without unnecessary words. Could be more structured but is concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains return values ({ creditId, balance, expiresAt }) and provides complete usage instructions including header and fallback. It covers the lifecycle well, though missing prerequisites like account setup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters, so baseline score of 4 applies. The description does not need to add parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Bulk-prepaid preflight bundle' and specifies paying $0.50 USDC for 1000 calls, making the action and resource clear. It distinguishes from siblings like 'preflight' (which performs calls) and 'credits_status' (which checks balance).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Use this once you've decided to do high-volume preflight work,' providing a clear context for use. It implicitly contrasts with per-call pricing via the fallback mechanism, but does not explicitly list when not to use or compare with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

catalog_decoysFull decoy / zombie blacklistA

Returns every active x402 endpoint currently flagged decoy_price_extreme / zombie / dead_7d / mostly_dead in one JSON payload, plus per-reason counts. Costs $0.005 USDC. Pull periodically (hourly/daily) and cache locally as a blacklist — cheaper than preflighting every URL.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Although no annotations are provided, the description fully discloses cost and caching recommendation. It implies a read-only operation with no side effects. Lacks details on rate limits or error responses, but for a simple data retrieval tool, it is sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, then immediately followed by actionable usage guidance and cost. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description covers purpose, cost, and usage pattern. Minor gaps: does not mention authentication requirements or typical result size. Still fairly complete for a simple blacklist tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. Description adds value by specifying what is returned (active endpoints + counts), going beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns active flagged x402 endpoints with per-reason counts. Verb 'returns' and specific resource ('catalog of decoys/zombie blacklist') make purpose unambiguous. Distinguishes from siblings by noting it's a blacklist meant for periodic caching, unlike preflight or other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to pull periodically and cache locally, and contrasts with 'preflighting every URL' as a cheaper alternative. Provides cost context ($0.005 USDC). Could be more explicit about when not to use, but gives clear context on the intended use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

credits_statusRead a credit's current balance + expiryA

Free, no payment required. Returns { creditId, balance, initialBalance, used, paidAmount, createdAt, expiresAt, expired, paymentTx, paymentNetwork }. UUID-only access — anyone holding the creditId can read state, same as decrement. 404 covers both 'malformed UUID' and 'no such credit' (same body so an attacker scraping random UUIDs can't tell them apart).

ParametersJSON Schema
NameRequiredDescriptionDefault
creditIdYesThe creditId UUID returned by buy_credits.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses important behavioral details beyond a simple read: it explains that the tool is free, that anyone with the creditId can access it (security implication), and that 404 errors intentionally blur malformed UUIDs and non-existent credits to prevent enumeration. This is valuable transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loading the key information (free, return fields) and then adding security notes. Every sentence serves a purpose; no redundancy or filler. It is maximally efficient for its informational load.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one parameter and no output schema, the description is complete: it lists the return fields, explains the access model, and addresses security. Given the low complexity and good schema coverage, no additional context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the creditId parameter with format and origin. The description adds meaning by framing the parameter as a secret that gives anyone holding it read access, echoing the decrement permission model. This enhances the parameter's semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and description clearly state the tool reads a credit's balance and expiry. It lists the returned fields, making the purpose explicit. However, it does not explicitly differentiate from siblings like buy_credits or preflight, leaving some ambiguity for an AI agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes that no payment is required and that anyone with the UUID can read state, but it does not provide explicit guidance on when to use this tool versus alternatives like buy_credits or forensics. There is no mention of prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forensics7-day forensics reportA

Deep history for one x402 endpoint: hourly uptime over 7 days, latency p50/p90/p99, status-code distribution, concentration-group stats (how crowded this provider's namespace is), and a decoy probability score [0, 1]. Costs $0.001 USDC. Superset of preflight — if you're running forensics you don't need preflight too.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe full URL of the x402 endpoint to analyse.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description discloses cost ($0.001 USDC) and the scope of data (7-day history). It does not mention potential failure cases or permissions, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load all critical information: data provided, cost, and relationship to sibling tool. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description adequately explains the return data (list of metrics). Could mention pagination or error handling, but the depth is sufficient for a paid tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers the single parameter with a clear description. The description adds that the URL must be for an x402 endpoint, but this is minor beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'deep history for one x402 endpoint' and lists specific metrics (uptime, latency, status-code distribution, etc.), differentiating from siblings like preflight by explicitly stating it's a superset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'superset of preflight — if you're running forensics you don't need preflight too.' Also mentions cost, helping agents decide when to invoke.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preflightPre-flight safety checkA

Ask x402station whether a given x402 URL is safe to pay. Returns {ok, warnings[], metadata}. Costs $0.001 USDC (auto-signed with AGENT_PRIVATE_KEY). Call this BEFORE any other paid x402 request to avoid decoys (price ≥ $1k), zombie services, and dead endpoints. ok:true only when no critical warning fires.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe full URL of the x402 endpoint the agent is about to pay.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description fully discloses behavior: costs $0.001 USDC, auto-signed with AGENT_PRIVATE_KEY, returns ok only when no critical warning fires. Warns about specific threats (decoys ≥$1k, zombie services, dead endpoints).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines purpose and output, second provides usage guidance and cost. No wasted words; critical information presented first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description explains return structure and conditions. Covers cost, signing, and specific dangers to avoid. For a simple tool with one parameter, this is highly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter 'url' has schema description ('The full URL of the x402 endpoint') and description adds context ('given x402 URL') and ties it to safety check purpose. Schema coverage is 100%, so baseline 3; description adds value by connecting parameter to tool's role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks if an x402 URL is safe to pay, specifies the return value format ({ok, warnings[], metadata}), and distinguishes it from sibling tools by emphasizing it should be called before paid requests to avoid decoys, zombies, and dead endpoints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to call 'BEFORE any other paid x402 request' to avoid specific risks (decoys, zombies, dead endpoints). Also mentions cost ($0.001 USDC) and auto-signing. Lacks explicit when-not-to-use guidance, but the positive directive is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

watch_statusCheck watch subscription status + recent alertsA

Returns the current state of a watch: active/expired, alerts remaining (out of 100 prepaid), last 10 alert deliveries with their delivery_status, and the last computed signal snapshot. Free — no payment required, secret-gated. The secret is the one returned by watch_subscribe.

ParametersJSON Schema
NameRequiredDescriptionDefault
watchIdYesThe watchId UUID returned by watch_subscribe.
secretYesThe 64-char hex secret returned by watch_subscribe.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the burden. It discloses that the tool reads current state (active/expired, alerts, deliveries, signal), is free, and requires the secret from watch_subscribe. It does not mention error handling or side effects, but for a read-only status tool, the disclosure is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff. First sentence lists all returned fields. Second notes free and secret-gated. Third ties secret to watch_subscribe. Front-loaded main purpose, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, description explains return fields sufficiently (state, alert count, deliveries, signal snapshot). Lacks details on error responses or data format for signal snapshot, but overall adequate for a 2-param read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters with descriptions (UUID watchId, 64-char hex secret). Description adds value by specifying the secret is the one returned by watch_subscribe, linking to a related tool. This extra context goes beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it 'returns the current state of a watch' and enumerates specific fields (active/expired, alerts remaining, last 10 deliveries, signal snapshot). The verb 'returns' and resource 'watch status' are specific, and it distinguishes from sibling tools like watch_subscribe and watch_unsubscribe.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions that the tool is free and secret-gated, linking the secret to watch_subscribe, which implies usage after subscribing. However, it lacks explicit guidance on when not to use it or comparisons to siblings like watch_unsubscribe.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

watch_subscribeSubscribe to webhook alerts on x402 endpoint state changesA

Pay $0.01 USDC for a 30-day watch + 100 prepaid alerts on one x402 endpoint. When subscribed signals fire or clear (e.g. endpoint goes zombie, price flips to decoy_price_extreme), x402station POSTs a JSON payload signed with HMAC-SHA256 to your webhookUrl. Returns watchId + secret — STORE THE SECRET, it's the HMAC seed for verifying delivery payloads and is not retrievable later. signals defaults to the critical preflight subset {dead, zombie, decoy_price_extreme}; pass other names to subscribe to non-critical signals too.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe x402 endpoint URL to watch.
webhookUrlYesWhere x402station should POST alert payloads. Must be HTTPS, reachable from the public internet, and contain no userinfo (no user:pass@host). Loopback (127.0.0.1, ::1, localhost), private (RFC1918, link-local 169.254/16 incl. cloud metadata, CGNAT/Tailscale 100.64/10) and IPv6 ULA / multicast / NAT64 / 6to4 / Teredo hosts are rejected client-side; the server applies the same SSRF guard if you bypass this check.
signalsNoSignal names to alert on. Defaults to ['dead', 'zombie', 'decoy_price_extreme']. Full vocabulary covers preflight + forensics signals.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description covers key behavior: cost, duration, prepaid alerts, returned watchId and secret, HMAC verification, and that the secret is non-retrievable. It does not mention cancellation or error scenarios but is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loading the purpose and cost. It is concise but could be slightly more structured (e.g., separating return info). No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description mentions returns (watchId + secret) and explains the secret's role. It covers subscription details and defaults, though it omits error cases or endpoint validation. Sufficient for a tool with few parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds value by stating the default signals and reinforcing webhookUrl constraints (HTTPS, no userinfo, SSRF guard). This enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and description clearly state the tool subscribes to webhook alerts for x402 endpoint state changes, specifying the cost, duration, and alert count. It distinguishes from sibling tools like watch_status and watch_unsubscribe.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the subscription process, default signals, and the need to store the secret, but lacks explicit guidance on when to use this tool versus alternatives like watch_status or watch_unsubscribe. However, the context of cost and setup is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

watch_unsubscribeUnsubscribe from a watch (deactivate)A

Deactivates the watch — no further alerts will be queued or delivered. The subscription is set is_active=false but the row + alert history is retained for audit. Free — no payment required, secret-gated. There is no refund for unused prepaid alerts.

ParametersJSON Schema
NameRequiredDescriptionDefault
watchIdYesThe watchId UUID returned by watch_subscribe.
secretYesThe 64-char hex secret returned by watch_subscribe.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavioral traits: deactivation, cessation of alerts, row+history retention, free, secret-gated, and no refund. This is comprehensive for the tool's action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three succinct sentences with no redundancy. It is front-loaded with the primary action and uses minimal but informative language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description covers the main points. It lacks potential error cases but is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters well-described. The description does not add new meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it deactivates a watch and explains the effect: no further alerts, is_active=false, and retention of history. This distinguishes it from the sibling watch_subscribe.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it deactivates a watch, is free, secret-gated, and there is no refund. It implies when to use (stop alerts) but does not explicitly mention when not to use or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whats_newCatalog diff polling — added / removed endpoints since `since`A

Polling-friendly catalog diff. Body { since?, limit? } (default since=now-24h, limit=200, max 500). Returns added_endpoints[] (first_seen_at >= since AND is_active=true), removed_endpoints[] (flipped to is_active=false since), service-level counts, polls_in_window, and current active totals. Cheap ($0.001 USDC) so hourly polling stays under $1/month — perfect for aggregator agents that need a fresh delta without re-pulling the whole catalog. Internal ingest cron runs every 5 min, so polling more often than that returns identical data.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoISO 8601 timestamp. Default = now() - 24h. Cannot be older than 30 days or in the future.
limitNoPer-list cap (1..500, default 200). Applied independently to added_endpoints and removed_endpoints.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses behavioral traits: cost ($0.001 USDC), internal cron interval (5 min), and that faster polling yields unchanged data. It also explains the logical conditions for inclusion in added/removed lists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact 5 sentences, each delivering critical info. The main purpose is front-loaded. Slightly verbose in the pricing example, but still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description enumerates all returned fields (added_endpoints, removed_endpoints, counts, polls_in_window, active totals) and explains behavior and constraints, making it fully informative for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers both parameters with descriptions. The description adds value by stating defaults (since=now-24h, limit=200) and clarifying the limit applies independently to each list, enhancing understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'polling-friendly catalog diff' that returns added and removed endpoints since a given timestamp, distinguishing it from sibling tools like the full catalog or subscription-based tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly recommends use for 'aggregator agents that need a fresh delta without re-pulling the whole catalog' and notes that polling more often than every 5 minutes returns identical data. However, it does not list specific alternative tools or conditions to avoid usage.

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.

  1. 10 tool updatesv1.0.10
    • First observedalternatives
    • First observedbuy_credits
    • First observedcatalog_decoys
    • First observedcredits_status
    • First observedforensics
    • First observedpreflight
    • First observedwatch_status
    • First observedwatch_subscribe
    • First observedwatch_unsubscribe
    • First observedwhats_new

TDQS

A4.4/5.0

Scored across 10 tools

Disambiguation5/5

Each tool serves a distinct function: preflight checks, alternative endpoints, credit management, forensics, catalog blacklists, watch subscriptions, and catalog diffs. Descriptions are detailed, leaving no ambiguity about tool purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., buy_credits, watch_subscribe, whats_new), making predictions and selection straightforward for an agent.

Tool Count5/5

With 10 tools, the server covers its domain of endpoint safety monitoring, credit management, and subscription alerts without being overly bloated or sparse.

Completeness4/5

The tool surface covers the main workflow: preflight checks, alternatives, credit buying, status, forensics, blacklisting, watching, and polling. A minor gap is the lack of a free endpoint status query for a single URL, but the paid preflight covers it.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    9-tool MCP server for the anchor-x402 commodity services: dual-chain hash anchoring (Base + Solana), OFAC sanctions screening, signed decision attestation, mainnet tx decode, ENS/SNS name resolution, USD spot price, EVM calldata decode, datetime parser, and bundled wallet intelligence. Agents pay $0.001–$0.010 USDC per call directly from a Base wallet via x402 — no API keys, no accounts.
    14
    72
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Verify x402 endpoints before your agent spends. Three tools: verify (SPEND/CAUTION/INVESTIGATE/DO NOT SPEND backed by 50K+ services), passport (full trust identity), risk_check (deep assessment). No API keys, no signup.
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Before an AI agent pays an x402 endpoint, checks whether it's safe to pay: liveness, scam/anomaly scan (payTo hijack, bait-and-switch, honeypot), and on-chain receiver verification. ~70% of x402 endpoints are dead or scams.
    3
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Agent-Level Transaction Safety Oracle. Before an AI agent signs a blockchain transaction, it returns a SAFE/UNSAFE verdict with a SENTINEL Score (AAA-D) and risk flags. Pay-per-call $0.005 USDC via x402 on Base.
    1
    -