Pay-per-call US public data for agents: recalls, weather, climate, SEC filings. x402 USDC on Base.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Caller Avoidance Score (callers-avoid-0.1, outcome-only; honesty deferred): toxicity / avoid grade for a Crypto Twitter handle from public-call follower sim (post+5m, fees). Returns avoid_score 0-100, band, components with receipts (sim_mean, sim_win_rate, rug_rate, hit_2x_24h + Wilson CI), verdict (copy_buy_loses|insufficient_sample|mixed), and public post id links — not full post text. Free when n_scored<4 via GET /v0/callers/score. Not financial advice. PAID: $0.02 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/callers/score.
X/Twitter handle without required @
Tool list last changed Oct 25, 2026.
Caller Avoidance Score (callers-avoid-0.1, outcome-only; honesty deferred): toxicity / avoid grade for a Crypto Twitter handle from public-call follower sim (post+5m, fees). Returns avoid_score 0-100, band, components with receipts (sim_mean, sim_win_rate, rug_rate, hit_2x_24h + Wilson CI), verdict (copy_buy_loses|insufficient_sample|mixed), and public post id links — not full post text. Free when n_scored<4 via GET /v0/callers/score. Not financial advice. PAID: $0.02 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/callers/score.
| Argument | Type | Description |
|---|---|---|
| handle* | string | X/Twitter handle without required @ |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"description": "X/Twitter handle without required @"
}
}
}NWS climate-day nowcast for a US station: running provisional high/low over the station's climate day (midnight-midnight local standard time), the temperature bucket each falls in (configurable width/offset or explicit edges), and the official NWS Daily Climate Report (CLI) high/low once issued, flagged preliminary or final. PAID: $0.01 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/weather/climate-day.
| Argument | Type | Description |
|---|---|---|
| cli | string | override CLI location code (default: station without leading K) |
| date | string | climate date (LST), default today; up to ~6 days back |
| edges | string | comma-separated increasing bucket edges; overrides width/offset |
| round | string | |
| units | string | |
| station* | string | NWS/ICAO station id, e.g. KNYC, KMDW, KLAX |
| bucket_width | number | bucket width, default 1 |
| bucket_offset | number | bucket origin, default 0 |
{
"type": "object",
"required": [
"station"
],
"properties": {
"cli": {
"type": "string",
"description": "override CLI location code (default: station without leading K)"
},
"date": {
"type": "string",
"format": "date",
"description": "climate date (LST), default today; up to ~6 days back"
},
"edges": {
"type": "string",
"description": "comma-separated increasing bucket edges; overrides width/offset"
},
"round": {
"enum": [
"nearest",
"none"
],
"type": "string"
},
"units": {
"enum": [
"F",
"C"
],
"type": "string"
},
"station": {
"type": "string",
"description": "NWS/ICAO station id, e.g. KNYC, KMDW, KLAX"
},
"bucket_width": {
"type": "number",
"description": "bucket width, default 1"
},
"bucket_offset": {
"type": "number",
"description": "bucket origin, default 0"
}
}
}Deterministic prompt-injection pre-filter for untrusted text (web pages, emails, tool output) before it reaches an LLM: instruction overrides, role/template spoofing, secret and system-prompt exfiltration, markdown image beacons, tool-call markup, crypto transfer instructions, hidden Unicode (zero-width, bidi, tag smuggling), hidden HTML, base64 payloads. Returns score 0-100, risk level, matched rules and spans. Heuristic, no LLM; max 32 KB. PAID: $0.002 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: POST /v1/text/injection-scan.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 32768
}
}
}US recall check in one call across NHTSA (vehicles), CPSC (consumer products) and FDA enforcement reports (food, drugs, devices). Look up by VIN (decoded via NHTSA vPIC) or make+model+year, by UPC/barcode (CPSC recall UPC index + openFDA), or by product name with optional brand. Returns normalized recalls (number, date, hazard/reason, remedy, link) newest first, plus anyRecall. PAID: $0.005 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/recalls/check.
| Argument | Type | Description |
|---|---|---|
| q | string | product name or keywords, 3-100 chars, e.g. 'stroller' or 'peanut butter' |
| upc | string | UPC/EAN/GTIN digits (6-14) |
| vin | string | 17-char VIN; recalls for its decoded make/model/year |
| make | string | |
| year | string | 4-digit model year (with make and model) |
| brand | string | optional manufacturer/firm filter for q |
| limit | integer | max rows per source, default 10 |
| model | string |
OFAC sanctions check for crypto wallet addresses: exact match against every Digital Currency Address on the U.S. Treasury OFAC SDN list (BTC, ETH, USDT, TRX, USDC, SOL, LTC, XMR...). Use before paying an x402 payTo or any counterparty. Up to 20 comma-separated addresses; returns sanctioned true/false, SDN name, programs and official link, plus list freshness. PAID: $0.002 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/sanctions/address.
| Argument | Type | Description |
|---|---|---|
| address* | string | crypto address, or up to 20 comma-separated |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "crypto address, or up to 20 comma-separated"
}
}
}SEC EDGAR in one call: resolve ticker->CIK, latest filings (form, dates, accession, primary document + index URLs, 8-K items) filtered by form type, and optional key XBRL facts (revenue, net income, shares outstanding; latest annual and latest reported). PAID: $0.003 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/sec/filings.
| Argument | Type | Description |
|---|---|---|
| cik | string | alternative to ticker |
| facts | boolean | include key XBRL facts |
| forms | string | comma-separated form types, e.g. 10-K,10-Q,8-K |
| limit | integer | |
| ticker | string |
{
"type": "object",
"properties": {
"cik": {
"type": "string",
"description": "alternative to ticker"
},
"facts": {
"type": "boolean",
"description": "include key XBRL facts"
},
"forms": {
"type": "string",
"description": "comma-separated form types, e.g. 10-K,10-Q,8-K"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"ticker": {
"type": "string"
}
}
}Count US federal business days between two dates (inclusive), excluding weekends and observed federal holidays per 5 U.S.C. 6103 and OPM rules. Lists the holidays skipped. PAID: $0.01 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/calendar/us-business-days.
| Argument | Type | Description |
|---|---|---|
| to* | string | |
| from* | string |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"format": "date"
},
"from": {
"type": "string",
"format": "date"
}
}
}FREE. US federal holidays (observed dates) for a year, per 5 U.S.C. 6103. Useful to test the connection before paying.
| Argument | Type | Description |
|---|---|---|
| year | integer |
{
"type": "object",
"properties": {
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1990
}
}
}US weather for a lat/lon from the National Weather Service in one call: latest station observation, next 12 hourly periods, 6-period forecast, and active alerts, normalized to JSON. PAID: $0.01 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/weather/us.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number |
{
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
}
}
}Readiness check for an x402 endpoint: fetches the URL unpaid, decodes the 402 challenge, and grades network, USDC asset, payTo, price vs facilitator fees, EIP-712 domain, CORS, and Bazaar metadata. Returns score 0-100 plus fix list. Never pays the target. PAID: $0.02 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/x402/check.
| Argument | Type | Description |
|---|---|---|
| url* | string | https URL of the x402-protected endpoint |
| method | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "https URL of the x402-protected endpoint"
},
"method": {
"enum": [
"GET",
"POST"
],
"type": "string"
}
}
}| since | string | only recalls on/after this date |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "product name or keywords, 3-100 chars, e.g. 'stroller' or 'peanut butter'"
},
"upc": {
"type": "string",
"description": "UPC/EAN/GTIN digits (6-14)"
},
"vin": {
"type": "string",
"description": "17-char VIN; recalls for its decoded make/model/year"
},
"make": {
"type": "string"
},
"year": {
"type": "string",
"description": "4-digit model year (with make and model)"
},
"brand": {
"type": "string",
"description": "optional manufacturer/firm filter for q"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "max rows per source, default 10"
},
"model": {
"type": "string"
},
"since": {
"type": "string",
"format": "date",
"description": "only recalls on/after this date"
}
}
}