Search / io.github.402signalhq/402signal
402Signal
not classifiedCheck paid API offers before your agent spends. Qualifying routes: $0.003 USDC. Normal misses: free.
v0.3.2 · active · website · descriptor JSON · versions
Search / io.github.402signalhq/402signal
Check paid API offers before your agent spends. Qualifying routes: $0.003 USDC. Normal misses: free.
v0.3.2 · active · website · descriptor JSON · versions
{
"mcpServers": {
"402signal": {
"type": "http",
"url": "https://402signal.com/mcp/v0.3.1"
}
}
}claude mcp add --transport http 402signal https://402signal.com/mcp/v0.3.1[mcp_servers.402signal]
url = "https://402signal.com/mcp/v0.3.1"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"402signal": {
"type": "remote",
"url": "https://402signal.com/mcp/v0.3.1",
"enabled": true
}
}
}{
"mcpServers": {
"402signal": {
"type": "http",
"url": "https://402signal.com/mcp/v0.3.1"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=402signal&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vNDAyc2lnbmFsLmNvbS9tY3AvdjAuMy4xIn0%3D"
}{
"servers": {
"402signal": {
"type": "http",
"url": "https://402signal.com/mcp/v0.3.1"
}
}
}{
"mcpServers": {
"402signal": {
"httpUrl": "https://402signal.com/mcp/v0.3.1"
}
}
}extensions:
"402signal":
enabled: true
name: "402signal"
type: streamable_http
uri: "https://402signal.com/mcp/v0.3.1"
timeout: 300
protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_length1 tools have descriptions over 1,024 characters, which crowds the contexttools.schemasevery tool has an object input schematools.annotations3 of 3 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 3,357 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes1 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagecheckchangedinput schemaFull history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+website -unreachable(8 failures) ~updated-40d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://402signal.com/mcp/v0.3.1 streamable-http | none | no (8 failures) | 85% | 155 ms | 2025-06-18 | 2026-10-01 |
check | Runs the paid pre-flight check on a live paid API endpoint: probes one exact HTTPS url, or the candidates discovered for a need, applies the buyer's price, network and readiness rules, and returns the selected offer with signed evidence of what the seller quoted (price, recipient, asset, network, expiry) before the agent pays the seller. Does not buy the seller's service, hold keys or pay anything for the agent; the agent keeps its wallet and pays the seller separately. Use preview to discover candidates without paying, validate for a free readiness check of one listed URL, and check when a fresh live observation or a signed receipt is needed before a seller payment. Never call check to pay a seller. After billing.settlement_state=unknown, stop and reconcile; never create another authorization. route is the former name of this tool and is still accepted. Cost and outcomes: the first unsigned call answers HTTP 402 with the $0.003 USDC checking-fee terms (Base, Solana or Algorand), which an x402-capable HTTP client pays. The fee settles only when a qualifying live offer is found; a completed miss (HTTP 200, live=false, typed miss_reason) is free; a settled fee is not reversed if the offer later changes. HTTP 503 with binding_error=route_binding_unavailable means the seller answered but no probed candidate could be bound to a signed receipt: a completed unpaid answer, not an outage (the reference wrapExactAuthorize reports state=binding_unavailable with keep_calling_route true). Parameter interactions: need or url is required; with both, url is probed directly and no discovery runs. policy is plain English compiled into the structured fields; an explicit structured field wins over the compiled value, and phrases that do not compile are echoed in unresolved_constraints, never guessed. networks is a hard allowlist judged on the current 402; prefer_network only orders results and never filters. Three independent price bounds: max_price_usd (seller price in USD), max_amount_atomic (atomic units of the seller's asset) and max_total_cost_usd (seller price plus known fees); every bound fails closed when its value is unknown. require_route_binding=true implies require_transparency and may select the next bindable candidate. Defaults: objective best, search_depth standard (up to 7 probes; thorough up to 15; hard ceiling 20), accept_payTo_change false, require_route_binding false. Guide: https://402signal.com/developers#route-binding |
previewread-only | Discovers catalog-listed paid API endpoints by capability without paying or contacting sellers. Returns claimed listings and earlier observations; not_probed=true means no new live check. Results may be incomplete. Free and read-only: no fee, no seller contact, nothing recorded; safe to repeat. It queries the current upstream catalogs and the local shadow catalog. Use validate for a free readiness check of one listed URL, and check for a fresh paid observation or a signed receipt before paying. Pass a nonblank need (capability), not a URL; a URL in need finds nothing. networks is a hard allowlist and prefer_network only orders the results within it; an empty or unrecognized networks value restricts to nothing rather than widening to every network. Seller-written fields in hits are catalog claims, not observations. |
validateread-only | Checks unpaid readiness for one concrete HTTPS seller URL already listed in the local catalog (for example a URL from preview). Compares claimed against observed payment and readiness flags without buying the service. Free: one unpaid probe of the seller, no fee, nothing paid, and the public numbers do not change; safe to repeat. Use preview to find listed URLs; use check instead when the URL is not listed, when price or network rules must apply, or when a signed receipt is needed before paying. Supply the exact listed URL including its query string. Unlisted or modified URLs return miss_reason=unlisted without a probe (not listed, not proven offline). Inspect live, readiness, observed and miss_reason; HTTP 200 alone is not success. No price or network filter and no signed receipt. |
Schemas: list_tools.
{
"name": "io.github.402signalhq/402signal",
"title": "402Signal",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://402signal.com/mcp/v0.3.1",
"type": "streamable-http"
}
],
"version": "0.3.2",
"websiteUrl": "https://402signal.com",
"description": "Check paid API offers before your agent spends. Qualifying routes: $0.003 USDC. Normal misses: free."
}