Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

aiworker-data

REMOTE · AIWORKER.DUCKDNS.ORG · SCANNED SEP 27

Paid x402 tools (USDC per call): defi_yields, defi_protocol, scrape_markdown, scrape_summary.

+4 this week 73 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability68
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3543 tokens (~168/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management70
  • Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 90% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the aiworker-data MCP server?

aiworker-data is a hosted endpoint at https://aiworker.duckdns.org/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · aiworker.duckdns.org

# add to Claude Code
claude mcp add --transport http org-duckdns-aiworker-aiworker-data 'https://aiworker.duckdns.org/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "org-duckdns-aiworker-aiworker-data": {
      "url": "https://aiworker.duckdns.org/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "org-duckdns-aiworker-aiworker-data": {
      "type": "http",
      "url": "https://aiworker.duckdns.org/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.org-duckdns-aiworker-aiworker-data]
url = "https://aiworker.duckdns.org/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "org-duckdns-aiworker-aiworker-data": {
      "type": "remote",
      "url": "https://aiworker.duckdns.org/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add org-duckdns-aiworker-aiworker-data --url 'https://aiworker.duckdns.org/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  org-duckdns-aiworker-aiworker-data:
    url: "https://aiworker.duckdns.org/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "org-duckdns-aiworker-aiworker-data": {
      "Transport": "http",
      "Url": "https://aiworker.duckdns.org/mcp"
    }
  }
}
# add to Vellum
assistant mcp add org-duckdns-aiworker-aiworker-data -t streamable-http -u 'https://aiworker.duckdns.org/mcp'
// mcp.json
{
  "mcpServers": {
    "org-duckdns-aiworker-aiworker-data": {
      "type": "http",
      "url": "https://aiworker.duckdns.org/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 27 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Sept 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 23 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 21 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Sept 26 +56
    • HSTS header: unverified → fail ▼ security
    • Injection markers: unverified → pass ▲ security
    • TLS certificate: unverified → pass ▲ security
    • Transport: fail → pass ▲ security
    • Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 21 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
    • Endpoint reachability: unreachable → reachable ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • Stability: unverified → 0.47 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • New tool “swap_precheck” functional
  • 19 Sept 26 −13

    The score moved with no change recorded against any check. We would rather say so than guess.

  • 18 Sept 26 −14

    The score moved with no change recorded against any check. We would rather say so than guess.

  • 17 Sept 26 −13

    The score moved with no change recorded against any check. We would rather say so than guess.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 27 Sept 2026 · Probed https://aiworker.duckdns.org/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=aiworker.duckdns.org CN=YE2,O=Let's Encrypt,C=US 4 Sept 2026 3 Dec 2026 ECDSA 256 ECDSA-SHA384 6aab08007a278646e5be667bc2636c133d8
SANs: aiworker.duckdns.org
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of aiworker.duckdns.org. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
org. present 26974 8 Verified
duckdns.org. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://aiworker.duckdns.org/mcp Verified 200
http (plaintext) http://aiworker.duckdns.org/mcp HTTPS enforced 308 https://aiworker.duckdns.org/mcp
MCP tools · 21 exposed · ~3,543 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
airdrop_scan ~131

Wallet hygiene for one Base address: every token it holds, each marked honeypot, dust, batch-airdropped, name-spoofed, ok or unknown, with the reasons (Honeypot.is simulation per token, capped at 25; pool liquidity; holder counts; the sender that batch-delivered them). Tells an agent which balances to ignore and never approve. Deterministic, no LLM. Price $0.05 per call, paid with USDC over x402.

NameTypeReqDescription
addressstringyesa Base (chain id 8453) wallet address

No output schema declared.

No examples provided.

claim_check ~168

Extract checkable factual claims from buyer-submitted text or a public URL, and verdict each one — supported, contradicted, unsupported or unverifiable — against Wikipedia and any buyer-supplied source URLs, with verbatim quoted evidence and links. Informational only. Price $0.05 per call, paid with USDC over x402.

NameTypeReqDescription
max_claimsinteger–maximum claims to extract and verdict; default 5
sourcesarray–up to 5 https urls the model may cite as evidence, in addition to Wikipedia
textstring–buyer text to check, at most 8 000 characters; exactly one of text or url is required
urlstring–a public https url whose page is fetched and checked instead of text

No output schema declared.

No examples provided.

defi_protocol ~89

Snapshot of one DeFi protocol by DefiLlama slug: TVL by chain, category, 1d/7d change, audits, refreshed every 5 minutes from DefiLlama's protocol summary. Price $0.01 per call, paid with USDC over x402.

NameTypeReqDescription
slugstringyesDefiLlama protocol slug, e.g. aave-v3

No output schema declared.

No examples provided.

defi_yields ~132

DeFi yield pools from DefiLlama, normalized and filterable by chain, project, symbol, stablecoin and min TVL; refreshed every 5 minutes. Price $0.02 per call, paid with USDC over x402.

NameTypeReqDescription
chainstring–chain name, e.g. base, ethereum, solana
limitinteger––
min_tvl_usdnumber––
projectstring–DefiLlama project slug, e.g. aave-v3
stablecoinboolean––
symbolstring––

No output schema declared.

No examples provided.

market_odds ~189

The current odds of one Polymarket market and how they moved: give a market slug, a 0x condition id or the question as free text and get the YES and NO prices, the last trade, the implied probability, liquidity and volume, and the 24-hour and 7-day change against the derived store's daily closes, from Polymarket's public Gamma API. Deterministic, no LLM, seconds per call; a keyed market that does not exist is refused before payment, a free-text question that matches nothing is answered as not_found with the nearest candidates. A market price is not a forecast; informational only. Price $0.01 per call, paid with USDC over x402.

NameTypeReqDescription
marketstringyesa Polymarket market slug, a 0x-prefixed 64-hex condition id, or the market question as free text

No output schema declared.

No examples provided.

market_screener ~260

A ranked list of Polymarket markets from a derived store under deterministic filters: status (open, resolved or all), a category (an event tag with at least 200 resolved markets), a minimum lifetime volume, closing within N days, or the biggest 7-day movers up or down; sorted by volume, closing date or move; up to 50 rows with the question, tags, end date, resolution, volume, last close, 7-day change and days to the end. At most 500 candidates are ranked per request. No LLM, no free text. History and current prices, not advice. Price $0.05 per call, paid with USDC over x402.

NameTypeReqDescription
categorystring–"all" or an event tag with at least 200 resolved markets
closing_within_daysinteger–open only: 1–365
limitinteger–1–50, default 20
min_volume_usdnumber–0–10000000, default 1000
moversstring–open only: sort by the 7-day change
sortstring–default volume
statusstring–default open

No output schema declared.

No examples provided.

news_search ~202

Crypto and markets headlines matching your words, from twelve fixed public RSS/Atom feeds (CoinDesk, The Block, Decrypt, Cointelegraph, The Defiant, DL News, Blockworks, Bankless, Polymarket, CNBC, Bloomberg, Financial Times) refreshed every ten minutes: whole-word, case-insensitive search over titles and summaries within the last 1-168 hours (default 48), newest first, deduplicated, up to 50 items with title, link, publisher, published time and a short summary. Headlines as published, links to the source, no LLM. Informational only. Price $0.01 per call, paid with USDC over x402.

NameTypeReqDescription
hoursinteger–look back this many hours (default 48)
limitinteger–maximum headlines (default 20)
querystringyessearch words, matched whole-word and case-insensitively against titles and summaries

No output schema declared.

No examples provided.

odds_history ~216

The daily YES-price history of one Polymarket market from a derived store of on-chain fills (the MIT-licensed dump before 2026-07-21, the public daily API after): give a market slug, a 0x condition id or a numeric id and a number of days (1-365, default 90) and get the series of daily closes with fill counts and volume, plus a summary: open, high, low, last, 1-day and 1-week change, days to the end date and the volume over the window. A market the store does not hold is refused before payment. Deterministic, no LLM. History, not a prediction. Price $0.02 per call, paid with USDC over x402.

NameTypeReqDescription
daysinteger–1–365 daily closes ending at the store's data cut-off (default 90)
marketstringyesa Polymarket market slug, 0x condition id or numeric id held by the store

No output schema declared.

No examples provided.

resolution_check ~201

Has a Polymarket market resolved, and how? Give a market slug, a 0x condition id, or the question as free text: you get the status (open, resolved, voided, unknown, not_found), the winning outcome and payout vector, when it closed and by which mechanism (UMA status, resolver), how many days after its end date, the last traded price and best bid/ask, and the event's categories, from Polymarket's public Gamma API. Deterministic, no LLM, seconds per call; a free-text question that matches no market is answered as not_found with the nearest candidates. A record of what happened, not a prediction; informational only. Price $0.05 per call, paid with USDC over x402.

NameTypeReqDescription
marketstringyesa Polymarket market slug, a 0x-prefixed 64-hex condition id, or the market question as free text

No output schema declared.

No examples provided.

rule_backtest ~317

Replay one fixed, published rule over resolved Polymarket markets from a derived store of on-chain daily closes: favorite_hold (buy the side at or above p on its first such day), longshot_hold (buy the side at or below p), late_entry (buy the favourite N days before the end date) or momentum_1w (buy in the direction of a one-week move). Pick a category (an event tag) and a date range; you get hit rate, mean and median return, drawdown, Brier score, a calibration table by entry price, results by year, a sample of matched markets and the exact method. Deterministic, no LLM, no buyer code. History, not a prediction; informational only. Price $0.25 per call, paid with USDC over x402.

NameTypeReqDescription
categorystring–"all" or an event tag with at least 200 resolved markets
days_before_endinteger–late_entry only: 1–60
fromstring–YYYY-MM-DD, first resolution day
min_volume_usdnumber–1000–10000000
rulestringyesthe rule to replay (see the route description)
thresholdnumber–favorite_hold 0.55–0.99, longshot_hold 0.01–0.45, momentum_1w 0.02–0.50
tostring–YYYY-MM-DD, last resolution day

No output schema declared.

No examples provided.

scrape_markdown ~81

Fetch one public web page (buyer-supplied URL, no login walls, robots.txt honoured) and return its main content as clean Markdown with title and word count. Price $0.02 per call, paid with USDC over x402.

NameTypeReqDescription
max_charsinteger––
urlstringyesabsolute https url of a public page

No output schema declared.

No examples provided.

scrape_summary ~79

Same as /v1/scrape/markdown plus a structured summary (≤200 words), key points and entities produced by an LLM from the page text. Price $0.04 per call, paid with USDC over x402.

NameTypeReqDescription
max_charsinteger––
urlstringyesabsolute https url of a public page

No output schema declared.

No examples provided.

social_mentions ~196

What people are saying about your words on two public forums, deterministic and without an LLM: Hacker News stories and comments (via the Algolia HN Search API) and Polymarket event comments (via the Gamma API) within the last 1-168 hours (default 48), whole-word and case-insensitive, newest first, deduplicated, up to 50 items with the text (at most 300 characters), a link, the author's public handle and the time; counts per source and each source's ok flag. Public posts as written by their authors; not advice. Price $0.01 per call, paid with USDC over x402.

NameTypeReqDescription
hoursinteger–look back this many hours (default 48)
limitinteger–maximum items (default 20)
querystringyessearch words, matched whole-word and case-insensitively against posts and comments

No output schema declared.

No examples provided.

swap_precheck ~148

Everything to check before one swap on Base, in one call: the rule-based trade gate on the token (pass, caution or block with every reason), a scan of the buyer's own wallet for airdrop spam, honeypots and lookalikes when a wallet is given, and whether the token sits among the trending pools right now. The verdict is the gate's; the rest is context beside it. Deterministic, no LLM. Price $0.10 per call, paid with USDC over x402.

NameTypeReqDescription
tokenstringyesThe token contract to gate
walletstring–The buyer's own wallet to scan for airdrop spam

No output schema declared.

No examples provided.

token_check ~140

A deterministic Base token safety card from Blockscout, DexScreener (derived) and Honeypot.is plus the Base RPC: what the contract is, who controls it, who holds it, where it trades, and whether a simulated buy/sell round-trips, with rule-based risk flags and a 0-100 score. No LLM. Informational only. Price $0.05 per call, paid with USDC over x402.

NameTypeReqDescription
addressstringyesa Base (chain id 8453) token contract address
chainstring–chain to check; only "base" is supported in v1

No output schema declared.

No examples provided.

token_info ~156

The cheapest way to look up a Base token: name, symbol, decimals, total supply, holder count, price, liquidity, pool count, largest pool, FDV and 24h volume, from Blockscout and DexScreener. Deterministic, no LLM, seconds per call. It is the data half of token_check; for contract ownership, holder concentration and a honeypot simulation, buy that instead. Informational only. Price $0.005 per call, paid with USDC over x402.

NameTypeReqDescription
addressstringyesa Base (chain id 8453) token contract address
chainstring–chain to look up; only "base" is supported in v1

No output schema declared.

No examples provided.

token_report ~222

Everything an agent needs before touching a Base token, in one call: the deterministic safety card (contract, ownership, holder concentration, market, honeypot simulation, rule-based risk flags and a 0-100 score), the DefiLlama pools its symbol appears in with their TVL and APY, a sourced brief on the project written from its own site and Wikipedia with verbatim quotes (or none, when nothing verifiable is found), and a written verdict — avoid, caution or acceptable — whose reasons must each name a field of this report, checked in code, and whose verdict is overruled when it contradicts the risk score. Ask an optional question and it is answered from the same data. Informational only, not investment advice. Price $1.00 per call, paid with USDC over x402.

NameTypeReqDescription
addressstringyesa Base (chain id 8453) token contract address
questionstring–optional question about this token, at most 300 characters, answered from the report's own data

No output schema declared.

No examples provided.

topic_brief ~164

A sourced brief on any topic: 150-500 words of Markdown in which every paragraph cites the pages it was written from, plus the key facts as verbatim quotes with the URL each came from. Sources are up to 5 public pages you name plus Wikipedia; a fact whose quote is not found word for word in a fetched page is dropped. Informational only. Price $0.10 per call, paid with USDC over x402.

NameTypeReqDescription
max_wordsinteger–maximum words in the brief; default 300
sourcesarray–up to 5 public https urls to brief from, in addition to Wikipedia
topicstringyesthe topic to brief, as a phrase of at most 200 characters; not a url

No output schema declared.

No examples provided.

trade_gate ~132

One rule-based verdict before a swap on one Base token: pass, caution or block, with the reasons and the numbers that tripped them — Honeypot.is buy/sell simulation and taxes, pool liquidity and age, holder concentration, contract verification and ownership, and a name-spoof check against the canonical tokens. Deterministic, no LLM; a pass is not a guarantee. Price $0.05 per call, paid with USDC over x402.

NameTypeReqDescription
addressstringyesa Base (chain id 8453) token contract address
chainstring–only base

No output schema declared.

No examples provided.

wallet_check ~144

A deterministic Base wallet card for any address: EOA or contract, ETH balance, first seen and last activity, transaction and token-transfer counts, up to 20 ERC-20 holdings by value, and rule-based flags (fresh wallet under 7 days, dormant over 180 days, no ETH, single token, contract address), from Blockscout and the Base RPC. No labels, no scoring, no LLM. Facts an agent can act on; informational only. Price $0.05 per call, paid with USDC over x402.

NameTypeReqDescription
addressstringyesa Base (chain id 8453) address — an EOA or a contract

No output schema declared.

No examples provided.

yield_report ~176

An LLM-written read of DeFi yield pools from DefiLlama matching a filter: a headline verdict, key points, risks, a best-fit pool if any, and caveats, alongside the underlying pool rows. Price $0.10 per call, paid with USDC over x402.

NameTypeReqDescription
chainstring–chain name, e.g. base, ethereum, solana
limitinteger–maximum pools to include; default 10
min_tvl_usdnumber–minimum pool TVL in USD; default 1000000
projectstring–DefiLlama project slug, e.g. aave-v3
stablecoinboolean–restrict to stablecoin pools only
symbolstring–token symbol, e.g. USDC

No output schema declared.

No examples provided.

Common questions

What is the aiworker-data MCP server?

aiworker-data is an MCP server listed in the public MCP registry as org.duckdns.aiworker/aiworker-data. Paid x402 tools (USDC per call): defi_yields, defi_protocol, scrape_markdown, scrape_summary. This page covers its hosted endpoint (https://aiworker.duckdns.org/mcp).

Is the aiworker-data MCP server safe to use?

aiworker-data scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the aiworker-data MCP server expose?

aiworker-data exposes 21 tools: defi_yields, defi_protocol, scrape_markdown, scrape_summary, yield_report, and 16 more. Their descriptions and schemas cost roughly 3,543 tokens of context every time the server is loaded.

Does the aiworker-data MCP server require authentication?

No. We connected to aiworker-data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the aiworker-data MCP server still maintained?

aiworker-data is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.