Polygon x402 AI Data Agent
This server provides a pay-as-you-go AI data extraction, search, and on-chain verifiable oracle API for autonomous agents, with USDC vault billing.
Clean web pages and YouTube transcripts into ad-free markdown/text for LLM context
Map website URLs/sitemaps for navigation and crawling
Perform real-time keyword web searches with concise snippets
Extract schema-constrained JSON from any webpage using Gemini AI
Ground AI responses with an EIP-712 signed oracle attestation for on-chain verification
Run multi-source deep research to generate executive briefing markdown
Manage pre-funded agent vaults with session keys and pay per request in USDC
Verify oracle attestations on Polygon, Base, and Arbitrum smart contracts
โก CleanWeb Studio & Spend Firewall (v2.5.4)
"Clean, Ad-Free Web Content & Verified On-Chain Data Oracle for Humans & Autonomous Agents."
Zero credit cards required. Transparent pay-as-you-go Native USDC micropayments & pre-funded vaults with on-chain Polygon EIP-712 spend policy attestations.
๐ Why CleanWeb Studio?
Whether you are a human researcher who wants ad-free, high-density web reading, or an autonomous AI agent (LangChain, CrewAI, AutoGPT, trading bots) building RAG knowledge:
Paywall & Anti-Bot Friction: No need for recurring monthly credit card subscriptions. Pay only for what you consume via pre-funded Native USDC.
Context Token & Attention Waste: Raw HTML is 95% garbage (ads, trackers, cookie modals) that clutters your screen or exhausts LLM context windows.
Verifiable Truth (On-Chain Grounding): Every extraction can be cryptographically anchored with an on-chain EIP-712 digital signature verifiable on Polygon.
Related MCP server: mercury-x402-mcp
๐ฅ๏ธ Interactive Web Studio Dashboard
Access the live human-friendly web interface at:
Web Dashboard:
http://localhost:8080/dashboardInteractive API Docs:
http://localhost:8080/docsHealth & Diagnostics:
http://localhost:8080/health?deep=true
๐ฎ Core Agent Services & Micro-Pricing (USDC)
Service Endpoint | What it Does | Cost (USDC) | Gas Overhead |
๐ Clean Web ( | 99.9% token reduction web markdown cleaner | 0.001 USDC | 0์ (<5ms) |
๐ Pure Text ( | Ultra-lightweight raw plain text for vector/RAG embeddings | 0.001 USDC | 0์ (<5ms) |
๐บ๏ธ Site Mapper ( | Domain sitemap & internal URL tree discovery (Firecrawl /map) | 0.002 USDC | 0์ (<5ms) |
๐ Agent Search ( | Fast real-time keyword search & verified snippets (Tavily) | 0.002 USDC | 0์ (<5ms) |
๐ PDF Research ( | Formula & table-preserved academic paper extractor | 0.005 USDC | 0์ (<5ms) |
๐ฌ YouTube AI ( | Gemini 3.6 Flash hybrid video analysis & audio intelligence | 0.010 USDC | 0์ (<5ms) |
๐ Extract JSON ( | Webpage to schema-constrained JSON structured extractor | 0.030 USDC | 0์ (<5ms) |
๐ฎ Web3 Signed Oracle ( | Real-time search + Clean-to-JSON + EIP-712 On-Chain Attestation | 0.035 USDC | 0์ (<5ms) |
๐ง Deep Research ( | Multi-source synthesized AI executive research briefing | 0.150 USDC | 0์ (<5ms) |
๐ผ B2A Pre-funded Smart Vault (2.0 ~ 1,000.0 USDC)
Forget credit card chargebacks and 2.9% + $0.30 payment gateway fees. CleanWeb operates entirely on Native USDC across Polygon, Base, and Arbitrum.
Minimum Deposit:
2.0 USDC(~2,000 web cleans or 200 YouTube AI analyses)Maximum Deposit:
1,000.0 USDC(1,000,000 queries for enterprise agent clusters)Session Key Auth: Agents deposit once on-chain and receive an
X-Vault-Keyfor instant sub-5ms calls with zero gas transaction friction.
๐ฎ Oracle-Grade Grounding Pipeline (/api/v1/oracle/grounding)
graph LR
Agent[๐ค Autonomous AI Agent] -->|POST /api/v1/oracle/grounding\nQuery: Fed Interest Rate Decision| CleanWeb[CleanWeb Engine]
CleanWeb -->|1. Real-time Meta Search| Web[(Live Web Sources)]
CleanWeb -->|2. Gemini 3.6 Flash| JSON[(Structured JSON)]
CleanWeb -->|3. EIP-712 Master Key| Signer[(Cryptographic Signer)]
Signer -->|Signed Attestation v,r,s| Agent
Agent -->|ecrecover()| Contract[DeFi / Polymarket Smart Contract]1-Line Solidity Verification (CleanWebOracleVerifier.sol)
// Verify CleanWeb Oracle attestation on Polygon / Base / Arbitrum
require(
verifier.verifyAttestation(query, dataHash, timestamp, v, r, s),
"Tampered or unauthorized oracle data"
);๐๏ธ Official On-Chain Smart Contracts (Polygon, Base, Arbitrum)
CleanWeb Studio v2.5.4 deploys verified, deterministic smart contracts for on-chain EIP-712 oracle verification and autonomous agent pre-funded vault management.
Contract Name | Polygon Mainnet (137) | Base Mainnet (8453) | Arbitrum One (42161) |
| |||
| |||
|
๐ ๏ธ Quickstart (Autonomous Python Agent)
import requests
# 1. Deposit into vault via Web3 or use existing session key
VAULT_KEY = "vault_key_your_prefunded_agent_key"
# 2. Call Web3 Signed Oracle Grounding
response = requests.post(
"http://127.0.0.1:8000/api/v1/oracle/grounding",
headers={"X-Vault-Key": VAULT_KEY},
json={
"query": "US Federal Reserve interest rate decision latest",
"max_sources": 3
}
)
data = response.json()
print("Fact Summary:", data["summary_markdown"])
print("Structured JSON:", data["structured_data"])
print("EIP-712 Signature:", data["oracle_attestation"]["signature"])๐งช Comprehensive Test Suite (19/19 Passed)
# Run complete test suite
python -m pytest tests/ -vtests/test_oracle_grounding.py::test_oracle_grounding_402_challenge PASSED [ 5%]
tests/test_oracle_grounding.py::test_oracle_grounding_execution_with_attestation PASSED [ 10%]
tests/test_oracle_grounding.py::test_oracle_vault_deduction_0_035 PASSED [ 15%]
tests/test_payment_comprehensive.py::test_full_payment_lifecycle PASSED [ 21%]
tests/test_payment_comprehensive.py::test_vip_promo_code PASSED [ 26%]
tests/test_payment_comprehensive.py::test_b2a_vault_deposit_limits_lifecycle PASSED [ 31%]
tests/test_payment_comprehensive.py::test_ui_html_payment_components PASSED [ 36%]
tests/test_phase1_cleaners.py::test_web_cleaner_example_domain PASSED [ 42%]
tests/test_phase1_cleaners.py::test_youtube_cleaner_video_id PASSED [ 47%]
tests/test_phase1_cleaners.py::test_youtube_cleaner_execution PASSED [ 52%]
tests/test_phase1_cleaners.py::test_batch_clean_concurrent PASSED [ 57%]
tests/test_phase2_payments.py::test_multi_chain_configs PASSED [ 63%]
tests/test_phase2_payments.py::test_onchain_eip712_attestation PASSED [ 68%]
tests/test_phase2_payments.py::test_vault_deposit_and_deduct PASSED [ 73%]
tests/test_phase2_payments.py::test_402_challenge_returned_when_unauthorized PASSED [ 78%]
tests/test_phase2_payments.py::test_dev_bypass PASSED [ 84%]
tests/test_treasury.py::test_ping_keepalive PASSED [ 89%]
tests/test_treasury.py::test_treasury_status_endpoint PASSED [ 94%]
tests/test_treasury.py::test_multi_chain_balances_structure PASSED [100%]
======================= 19 passed, 2 warnings in 44.01s =======================โ๏ธ Legal, Fair Use & Financial Non-Liability Disclaimer
CleanWeb Studio operates strictly under the Transformative Non-Expressive Text/Data Mining (TDM) Fair Use doctrine for autonomous AI reasoning.
No Financial or Investment Warranty: All oracle feeds, search results, and scraped contents are provided AS-IS. CleanWeb Studio assumes zero liability for DeFi smart contract liquidations, prediction market settlements (e.g. Polymarket), or trading losses resulting from external web misreporting or LLM hallucinations.
Caller Responsibility: The autonomous agent deployer/caller is solely responsible for respecting target website intellectual property and applicable laws.
Zero-Data Retention (GDPR Compliant): All fetched HTML and raw assets are processed ephemerally in RAM and purged immediately upon response transmission.
100% OFAC Sanctions Filtering: All micropayment addresses are verified against OFAC Specially Designated Nationals (SDN) lists.
Full Legal Endpoints:
GET /api/v1/legal/terms: Official Machine-to-Machine Terms of ServiceGET /api/v1/legal/disclaimer: Full Legal & Financial Disclaimer
๐ License
Distributed under the MIT License. See LICENSE for more information.
Available Tools
12 toolsclean_pdf_researchA
Parses and extracts structured plain text, sections, and academic metadata from online PDF whitepapers and research papers.
Usage Guidelines:
Use this tool to ingest scientific papers (e.g., arXiv), technical documentation, or financial reports.
Constraint: Target document must be a direct HTTP/HTTPS URL pointing to a PDF file under 15MB.
Returns: Title, total/parsed page count, word count, and extracted text.
Do NOT use for general HTML web pages (use
clean_web_content).Do NOT use for YouTube videos (use
clean_youtube_transcript).Do NOT use for password-protected, DRM-encrypted, or scanned image-only PDFs without OCR.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Direct HTTP/HTTPS URL pointing to an online PDF document. | |
| max_pages | No | Maximum number of pages to parse (1 to 100, default: 30) to control token budget. | |
| auth_token_or_tx | No | Optional x402 micropayment authorization token or EVM transaction hash. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the 15MB size limit, that password-protected/DRM/scan-only PDFs won't work without OCR, and summarizes return values. However, it doesn't disclose failure behavior on oversized inputs, rate limits, or how partial page parsing is signaled (only 'total/parsed page count' hints at it).
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?
Front-loaded opening sentence and clearly labeled sections (Usage Guidelines, Constraint, Returns, Do NOT use). Slightly verbose with the multiple Do-NOT bullets, but every bullet adds routing value.
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?
Given there is no output schema disclosed in the prompt beyond a mention, the description compensates by naming what is returned (title, page counts, word count, text). Combined with the constraint and negative routing, an agent has everything needed to invoke 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 coverage is 100% so the schema documents url, max_pages, and auth_token_or_tx. The description adds meaningful constraints beyond the schema: the required direct-PDF URL form and the 15MB limit. It doesn't explain when to supply auth_token_or_tx, but the schema description covers that.
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: 'parses and extracts structured plain text, sections, and academic metadata' from PDFs. Distinguishes itself from siblings clean_web_content and clean_youtube_transcript by naming 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?
Explicitly states when to use it (scientific papers, technical docs, financial reports) and provides three Do-NOT-use clauses naming the correct alternative sibling for each case (HTML โ clean_web_content, YouTube โ clean_youtube_transcript, DRM/scanned โ OCR caveat). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clean_text_rawB
Extracts pure, tag-free plain text optimized for RAG embedding and vector indexing (0.001 USDC).
Usage Guidelines:
Use this tool when ingesting raw webpage text directly into vector databases (Pinecone, Chroma, Qdrant).
Returns: Page title, word count, clean text, and token metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The target website URL to extract raw text from. | |
| auth_token_or_tx | No | Optional x402 auth token or tx hash. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the monetary cost (0.001 USDC) and that the operation returns page title, word count, text and token metrics, which suggests a read-only extraction. It still omits whether the optional auth_token_or_tx is ever required, any rate limits, or failure modes.
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?
Well front-loaded: purpose in the first clause with price attached, then a short labeled usage block. Every line is short and scannable, with only a minor redundancy in restating return fields that an output schema already covers.
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?
An output schema exists, so return-value explanation is not strictly needed, and cost context is a genuine addition. The main gap is sibling disambiguation within a crowded family of clean_* tools and any auth requirement for the optional token parameter, leaving the definition adequate but not complete.
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 the url and auth_token_or_tx parameters are already documented in the schema. The description adds no syntax, format, or auth semantics beyond it, 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 ('Extracts ... plain text') and adds the intended downstream use ('optimized for RAG embedding and vector indexing'). However, it never distinguishes itself from the sibling clean_web_content, which appears to overlap heavily, so an agent cannot tell the two apart from the text alone.
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 implied context ('when ingesting raw webpage text directly into vector databases') which is a real usage signal. But it offers no when-not guidance and, critically, does not route the agent to or away from clean_web_content, clean_pdf_research, or clean_youtube_transcript, so the alternative-selection decision is left unresolved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clean_web_contentA
Scrapes and converts any target web page into clean, LLM-ready structured Markdown, stripping ads, cookie banners, navigation clutter, modals, and script noise.
Usage Guidelines:
Use this tool to ingest real-time web articles, blogs, and documentation into LLM context windows.
Returns: Clean markdown body, page title, word count, and extraction metadata.
Do NOT use for YouTube video parsing (use
clean_youtube_transcript).Do NOT use for PDF whitepapers or academic papers (use
clean_pdf_research).Do NOT use for paywalled, login-required, or bot-blocked sites.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The target HTTP or HTTPS website URL to scrape and convert to markdown. | |
| auth_token_or_tx | No | Optional x402 micropayment authorization token or EVM transaction hash. | |
| respect_robots_txt | No | Whether to enforce target domain robots.txt Disallow rules (compliance-mode). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the cleaning behavior (ads, cookie banners, nav clutter stripped), the return shape, and the failure boundary (paywalled/login-required/bot-blocked sites). It stops short of mentioning that some sites may require the micropayment auth token, which the schema hint implies.
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?
Front-loaded with the core purpose, then a tightly scoped bulleted usage block. Every line earns its place and there is 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?
An output schema exists and the description still summarizes the return payload (markdown body, title, word count, metadata). For a single-URL scraping tool, nothing an agent needs to invoke it correctly 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?
Schema description coverage is 100%, so all three parameters are already documented in the schema, including the x402 token and robots.txt flag. The description adds no further parameter semantics, 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 (scrapes/converts) and resource (web page), and explicitly enumerates what it strips. It distinguishes itself from siblings clean_youtube_transcript and clean_pdf_research by name.
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 explicit when-to-use (real-time articles, blogs, docs into LLM context) and three explicit when-NOT-to-use clauses naming the correct alternative tool for each. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clean_youtube_transcriptA
Extracts high-precision subtitles, timestamped transcripts, and comprehensive AI summaries for public YouTube videos using Google Gemini Flash intelligence.
Usage Guidelines:
Use this tool to ingest YouTube lecture, tutorial, tech talk, or podcast transcripts into agent workflows.
Returns: Video metadata (title, channel, URL), AI Knowledge Summary, and cleaned transcript.
Do NOT use for general web pages or articles (use
clean_web_content).Do NOT use for PDF documents or papers (use
clean_pdf_research).Do NOT use for private, unlisted, age-restricted, or live streams without existing closed captions.
If captions are missing or auto-captions fail, the tool reports a detailed fallback error.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL (standard watch, short youtu.be, or Shorts format). | |
| lang | No | Comma-separated ISO 639-1 language priority codes for transcript extraction (e.g., 'ko,en', 'en', 'ja'). | ko,en |
| auth_token_or_tx | No | Optional x402 micropayment authorization token or EVM transaction hash. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose return contents, unsupported inputs (private/unlisted/age-restricted/live), and fallback error reporting. However, it is silent on a major behavioral trait implied by the schema: the x402 micropayment/auth token requirement, which an agent must satisfy before calling.
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?
Front-loads the core capability, then uses labeled sections for usage and returns, which is easily scannable. Slightly padded by marketing phrasing like 'Google Gemini Flash intelligence' and 'high-precision', which don't affect selection.
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?
An output schema exists so return details are optional, yet the description still summarizes outputs and covers input restrictions and failure modes thoroughly. The one real omission is the payment/authorization context tied to auth_token_or_tx.
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%, with the url pattern, lang default and examples, and auth_token_or_tx all documented in the schema itself. The description adds no syntax or format detail beyond that, 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 (extracts) and resource (subtitles, timestamped transcripts, AI summaries) for public YouTube videos. Explicitly differentiates itself from the named sibling tools clean_web_content and clean_pdf_research.
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 an explicit when-to-use list (lectures, tutorials, tech talks, podcasts) plus three concrete 'Do NOT use' exclusions that route the agent to the correct alternative and warn about unsupported video types. The fallback-error behavior is also stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deep_research_topicA
Performs multi-source web crawling and AI synthesis to generate an executive research briefing (0.150 USDC).
Usage Guidelines:
Use when an agent needs a comprehensive deep dive into a topic with verified source citations.
Returns: Full executive briefing markdown with source citations and key takeaways.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Research topic or complex question to investigate. | |
| max_sources | No | Number of top web sources to synthesize (1 to 5). | |
| auth_token_or_tx | No | Optional x402 auth token or tx hash. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the cost (0.150 USDC) and the return shape (executive briefing markdown with citations and takeaways), but says nothing about auth requirements (the x402 param), latency, failure modes, or source-verification behavior.
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?
Well front-loaded: the core purpose and price lead, followed by labeled 'Usage Guidelines' and 'Returns' sections. Slightly redundant to restate the return format when an output schema exists, but the description is compact and free of 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?
An output schema exists, so return values need not be re-explained, and the cost plus primary use case are covered. The notable gap is the absence of annotations and any description of auth/permission behavior around auth_token_or_tx, which an agent paying per call would benefit from knowing.
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 the schema already documents query, max_sources (1-5), and auth_token_or_tx. The description adds no syntax, format, or defaulting guidance beyond what the schema provides, so the baseline of 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 compound action (multi-source web crawling + AI synthesis) and a concrete deliverable (executive research briefing), which is clearly differentiated from the 'quick' sibling search_web_quick by the word 'deep'/comprehensive. It stops short of explicitly naming that sibling, so an agent must infer the contrast from the adjective alone.
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?
The 'Usage Guidelines' section gives a clear contextual trigger ('use when an agent needs a comprehensive deep dive ... with verified source citations'). However it never states when NOT to use it, nor names search_web_quick as the cheap/fast alternative, so the routing decision is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_json_schemaA
Extracts schema-constrained structured JSON data from any webpage using Gemini AI (0.030 USDC).
Usage Guidelines:
Use when an agent needs structured attributes (e.g. pricing, specs, event dates) directly from a URL.
Returns: Clean JSON dictionary matching the requested schema description.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target webpage URL to extract JSON from. | |
| auth_token_or_tx | No | Optional x402 auth token or tx hash. | |
| schema_description | Yes | Description or format of the fields to extract (e.g., 'price, product_name, in_stock'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses the underlying model (Gemini AI) and the cost (0.030 USDC), which is real behavioral value. However, it says nothing about auth/payment requirements despite an auth_token_or_tx parameter, nor about rate limits or failure behavior.
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?
Front-loaded one-line purpose followed by clearly labeled Usage Guidelines and Returns sections. Every line is relevant; it is tight and scannable with 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?
An output schema exists, so return-value detail is not required. The description covers purpose, usage context, cost, and return shape, which is sufficient for invocation. The main missing piece is any note on the payment/auth flow implied by auth_token_or_tx.
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 all three parameters are already documented in the schema, making baseline 3 appropriate. The description restates the 'schema_description' concept and the JSON return but adds 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?
Names a specific verb and resource: 'Extracts schema-constrained structured JSON data from any webpage,' and adds distinguishing detail (Gemini AI, 0.030 USDC). It does not explicitly differentiate itself from close siblings like clean_web_content, search_web_quick, or deep_research_topic, but the purpose is unambiguous.
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?
An explicit 'Use when...' condition with concrete examples (pricing, specs, event dates) directly from a URL. It lacks any when-not-to-use guidance or named alternatives among the many sibling web/content tools, so it stops short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_infoA
Returns complete Web3 x402 micropayment configuration, supported multi-chain USDC contract addresses, EVM network chain IDs (Polygon: 137, Base: 8453, Arbitrum: 42161), recipient wallet address, and pricing tiers for all CleanWeb Studio agent tools.
Usage Guidelines:
Use this tool to discover network parameters and deposit requirements before making x402 paid queries.
Returns: Structured pricing markdown table, contract addresses, and pre-funded vault endpoints.
Do NOT use for checking individual wallet balances (use
get_vault_balance).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries the burden. It discloses return content (markdown pricing table, contract addresses, vault endpoints) which is useful. However, it doesn't state auth requirements, rate limits, or caching, though as a read-only config lookup these are minor.
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?
Front-loaded purpose sentence, then clean Usage Guidelines block. Slightly verbose in enumerating detail that partly lives in the return payload, but structured and skimmable.
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?
Output schema exists, so return values need not be exhaustively explained, yet the description still summarizes them. For a parameterless lookup with an output schema and clear routing to get_vault_balance, it is complete.
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 baseline is 4. Description correctly implies a parameterless discovery call.
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 (returns) and enumerates the concrete resource: Web3 x402 config, multi-chain USDC contract addresses, EVM chain IDs, recipient address, pricing tiers. Clearly distinguishable from siblings like get_vault_balance.
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?
Explicit when-to-use (discover network params and deposit requirements before x402 paid queries) and when-not-to-use (do NOT use for wallet balances, with the named alternative get_vault_balance).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vault_balanceA
Checks the remaining pre-funded USDC balance, total usage, and session status for an agent wallet address or session key.
Usage Guidelines:
Use this tool before executing heavy tasks to verify sufficient balance for zero-latency execution.
Returns: Agent address, available balance in USDC, total deposited, total consumed, queries handled, and session key.
Do NOT use for querying pricing or chain parameters (use
get_payment_info).
| Name | Required | Description | Default |
|---|---|---|---|
| agent_address_or_key | Yes | Ethereum/Polygon address (0x...) or session key (sk_...) to query balance for. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The verb 'Checks' implies a read-only operation, and the return fields are listed, but it does not explicitly state safety traits (e.g., read-only, non-destructive) or authentication/rate-limit requirements. Partial transparency.
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?
The description is front-loaded with purpose, then cleanly organized into usage guidelines and returns. Every sentence adds value, and there is no redundant or filler text.
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 simple read-only balance check with one parameter and an output schema, the description covers purpose, usage guidelines, and return fields. The output schema handles return values, so the description is complete without needing to explain them further.
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 the schema already documents the single parameter thoroughly. The description restates 'for an agent wallet address or session key' but adds no additional syntax, format, or edge-case detail beyond the schema. Baseline 3.
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 (checks) and resource (remaining pre-funded USDC balance, total usage, session status), scoped to an agent wallet address or session key. It distinguishes itself from the sibling get_payment_info by explicitly excluding pricing and chain parameters.
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?
It gives explicit when-to-use guidance ('Use this tool before executing heavy tasks to verify sufficient balance') and when-not-to-use guidance ('Do NOT use for querying pricing or chain parameters (use get_payment_info)'), naming the alternative tool directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_siteA
Discovers domain sitemap or traverses internal anchor links to return a canonical URL tree (0.002 USDC).
Usage Guidelines:
Use this tool to map an entire website or documentation site before scraping.
Firecrawl /map equivalent for autonomous web navigation agents.
Returns: Target URL, domain, total URL count, list of discovered URLs, and sitemap detection status.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target website domain or URL to map (e.g., 'https://docs.github.com' or 'example.com'). | |
| max_links | No | Maximum internal URLs to discover (default: 50, max: 100). | |
| auth_token_or_tx | No | Optional x402 auth token or tx hash. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It discloses a cost (0.002 USDC) and the return shape, which is useful, but says nothing about rate limits, auth requirements (the auth_token_or_tx param is silently optional), failure behavior for unreachable sites, or the distinction between sitemap discovery and anchor traversal modes.
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?
Front-loads the verb and resource in the first sentence, then uses a labeled 'Usage Guidelines' block and a 'Returns' line. Slightly redundant ('Firecrawl /map equivalent' is a marketing reference rather than operational guidance), but overall tight.
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?
An output schema exists and the description still summarizes the return fields (target URL, domain, URL count, URL list, sitemap status), which is helpful but not strictly required. The main gap is that auth/payment semantics for the optional auth_token_or_tx parameter are left unexplained despite an advertised per-call cost.
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 all three parameters (url, max_links, auth_token_or_tx) are already documented in the schema with examples, defaults, and bounds. The description adds no parameter-level detail beyond what the schema provides, 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?
The description states a specific verb+resource ('Discovers domain sitemap or traverses internal anchor links to return a canonical URL tree'), which is clear and unambiguous. It does not, however, differentiate itself from named siblings like search_web_quick or clean_web_content, which an agent might reasonably confuse with site traversal.
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?
Explicitly says to use it to map an entire website or documentation site before scraping, which gives a clear pre-scrape context. It stops short of naming an alternative tool or stating when NOT to use it, so it's clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oracle_groundingA
Executes real-time web search, noise-free markdown extraction, Gemini AI JSON structuring, and cryptographically signs the result with an on-chain verifiable EIP-712 attestation (0.035 USDC).
Usage Guidelines:
Use this tool when an autonomous agent or smart contract requires verified, tamper-proof ground truth from the live web.
Returns: Structured facts JSON, human/LLM readable summary markdown, source URLs, and EIP-712 cryptographic signature (v, r, s).
Smart contracts can verify this off-chain or on-chain using CleanWebOracleVerifier.sol.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search topic or question to ground with live web sources (e.g., 'Latest Fed interest rate decision'). | |
| max_sources | No | Number of web sources to synthesize (1 to 5, default: 3). | |
| auth_token_or_tx | No | Optional x402 micropayment authorization token or EVM transaction hash. | |
| target_schema_json | No | Optional JSON string defining the expected schema or fields (e.g., '{"rate": "float", "date": "string"}'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the 0.035 USDC cost, the cryptographic signing, the EIP-712 scheme, the verifier contract, and how the signature can be checked on-chain or off-chain. It omits rate limits, failure/refund behavior, and auth flow specifics, keeping it short of 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?
The core capability sentence is front-loaded and the remaining content is organized as scannable bullets. The pipeline enumeration is dense but each clause adds real information; nothing is 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?
For a paid, signing oracle tool with an output schema and full param coverage, the description supplies cost, return shape, and verification path. It could still say more about the payment/auth prerequisite and error modes, but an agent has enough 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%, so the schema already documents query, max_sources, auth_token_or_tx, and target_schema_json. The description adds only the cost figure (0.035 USDC) that loosely relates to the payment param, 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?
The description names a concrete multi-step pipeline (web search, markdown extraction, Gemini JSON structuring, EIP-712 signing) that clearly states what the tool does. It implicitly distinguishes itself from sibling tools like search_web_quick or clean_web_content by adding the signed-attestation step, but it never names a sibling to route the agent 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?
It gives a clear when-to-use condition: 'when an autonomous agent or smart contract requires verified, tamper-proof ground truth from the live web.' That is good context, but there are no exclusions or named alternatives (e.g., search_web_quick vs deep_research_topic), so the agent must infer which sibling to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_web_quickB
Performs fast real-time keyword web search returning titles, links, and text snippets (0.002 USDC).
Usage Guidelines:
Tavily / s.jina.ai competitor designed specifically for LLM autonomous agent retrieval.
Returns: Concise search result list with title, verified URL, and text snippet.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query or keyword for real-time web discovery. | |
| max_results | No | Maximum results to return (default: 5, max: 10). | |
| auth_token_or_tx | No | Optional x402 auth token or tx hash. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It usefully discloses real-time latency, per-call cost (0.002 USDC), and that returned URLs are 'verified', and the operation is a non-destructive read. It omits rate limits, whether the auth_token_or_tx parameter is required for a paid call, and any failure behavior, which a no-annotation mutation-capable service should ideally state.
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?
Content is front-loaded: purpose, cost, then a compact 'Usage Guidelines' block. Every sentence carries information, though framing two short lines as 'Usage Guidelines' is slightly padded and could be a single clause.
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?
An output schema exists, so return fields need not be spelled out, and the description stays appropriately brief on that front. Yet with zero annotations, the description leaves gaps around authentication (the optional x402 token), pricing verification, and how this tool relates to the deep-research siblings, so an agent must still guess at the invocation context.
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 the schema already documents query, max_results, and auth_token_or_tx. The description adds no syntax, format, or constraint detail beyond the schema, only the cost and the shape of results. 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?
The description states a specific verb and resource: 'fast real-time keyword web search' returning titles, links, and snippets, plus a cost figure. This is far more concrete than a tautology. However, it does not distinguish itself by name from siblings like deep_research_topic or oracle_grounding, leaving the agent to infer the boundary from the word 'quick' alone.
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?
The line 'designed specifically for LLM autonomous agent retrieval' describes a general audience but gives no when/when-not conditions and names no in-toolset alternative (Tavily and s.jina.ai are external competitors, not routing targets). Usage is implied by 'fast' and 'keyword' contrasting with deeper research tools, but it is never made explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_oracle_attestationA
Verifies an EIP-712 cryptographic attestation produced by CleanWeb Oracle off-chain without consuming gas.
Usage Guidelines:
Use this tool to mathematically verify that data received from CleanWeb Oracle has not been tampered with.
Returns: Verification status (valid/invalid), recovered signer address, expected oracle address, and message.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The original query string that was attested. | |
| data_hash | Yes | The SHA-256 data hash of the canonical JSON payload (0x...). | |
| signature | Yes | The 65-byte hex signature (0x...) from the attestation. | |
| timestamp | Yes | The Unix epoch timestamp from the attestation. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that verification is off-chain and gas-free and that it returns a validity verdict plus signer/oracle/message, but it omits error behavior, what an invalid result implies, and any permission or rate assumptions.
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?
Front-loaded with the core operation, then a short usage block and return summary. It is tight overall, though the 'Returns' line partly duplicates information the output schema already carries.
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 four-required-parameter verification tool with both a full-coverage input schema and an output schema, the description is nearly sufficient. The only real gap is distinguishing it from the sibling oracle_grounding.
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 the schema already explains all four parameters (query, data_hash, signature, timestamp). The description adds no format or edge-case details beyond that, so the baseline of 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?
The description gives a specific verb ('Verifies') and a precise resource ('EIP-712 cryptographic attestation produced by CleanWeb Oracle'), plus the notable constraint that it runs off-chain. It does not, however, differentiate itself from the sibling 'oracle_grounding', so an agent cannot route between the two from this text alone.
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?
It gives a clear when-to-use condition ('to mathematically verify that data received from CleanWeb Oracle has not been tampered with'), which is concrete and actionable. It stops short of naming alternatives or stating when not to use it (e.g., vs. oracle_grounding), so it falls below the top tier.
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.
11 tool updates
v1.2.6- Changed
clean_pdf_research7 fields changed- added
Input schema / properties / auth_token_or_tx / descriptionAdded value: +"Optional x402 micropayment authorization token or EVM transaction hash." - added
Input schema / properties / max_pages / descriptionAdded value: +"Maximum number of pages to parse (1 to 100, default: 30) to control token budget." - added
Input schema / properties / max_pages / maximumAdded value: +100 - added
Input schema / properties / max_pages / minimumAdded value: +1 - added
Input schema / properties / url / descriptionAdded value: +"Direct HTTP/HTTPS URL pointing to an online PDF document." - added
Input schema / properties / url / examplesAdded value: +[ + "https://arxiv.org/pdf/1706.03762.pdf", + "https://bitcoin.org/bitcoin.pdf" +] - added
Input schema / properties / url / patternAdded value: +"^https?:\\/\\/[^\\s/$.?#].[^\\s]*\\.pdf(\\?.*)?$"
- Added
clean_text_raw - Changed
clean_web_content5 fields changed- added
Input schema / properties / auth_token_or_tx / descriptionAdded value: +"Optional x402 micropayment authorization token or EVM transaction hash." - added
Input schema / properties / respect_robots_txtAdded value: +{ + "default": false, + "description": "Whether to enforce target domain robots.txt Disallow rules (compliance-mode).", + "title": "Respect Robots Txt", + "type": "boolean" +} - added
Input schema / properties / url / descriptionAdded value: +"The target HTTP or HTTPS website URL to scrape and convert to markdown." - added
Input schema / properties / url / examplesAdded value: +[ + "https://en.wikipedia.org/wiki/Web_scraping", + "https://news.ycombinator.com/" +] - added
Input schema / properties / url / patternAdded value: +"^https?:\\/\\/[^\\s/$.?#].[^\\s]*$"
- Changed
clean_youtube_transcript7 fields changed- added
Input schema / properties / auth_token_or_tx / descriptionAdded value: +"Optional x402 micropayment authorization token or EVM transaction hash." - added
Input schema / properties / lang / descriptionAdded value: +"Comma-separated ISO 639-1 language priority codes for transcript extraction (e.g., 'ko,en', 'en', 'ja')." - added
Input schema / properties / lang / examplesAdded value: +[ + "ko,en", + "en", + "ja,en" +] - added
Input schema / properties / lang / patternAdded value: +"^[a-z]{2}(,[a-z]{2})*$" - added
Input schema / properties / url / descriptionAdded value: +"Public YouTube video URL (standard watch, short youtu.be, or Shorts format)." - added
Input schema / properties / url / examplesAdded value: +[ + "https://www.youtube.com/watch?v=dQw4w9WgXcQ", + "https://youtu.be/dQw4w9WgXcQ", + "https://www.youtube.com/shorts/abcdef12345" +] - added
Input schema / properties / url / patternAdded value: +"^https?:\\/\\/(www\\.)?(youtube\\.com\\/(watch\\?v=|shorts\\/)|youtu\\.be\\/)[\\w-]+.*$"
- Added
deep_research_topic - Added
extract_json_schema - Changed
get_vault_balance3 fields changed- added
Input schema / properties / agent_address_or_key / descriptionAdded value: +"Ethereum/Polygon address (0x...) or session key (sk_...) to query balance for." - added
Input schema / properties / agent_address_or_key / examplesAdded value: +[ + "0x71C...397", + "sk_cleanweb_agent_01" +] - added
Input schema / properties / agent_address_or_key / patternAdded value: +"^(0x[a-fA-F0-9]{40}|sk_[a-zA-Z0-9_-]+)$"
- Added
map_site - Added
oracle_grounding - Added
search_web_quick - Added
verify_oracle_attestation
11 tool updates
v1.2.5- Added
clean_pdf_research - Added
clean_web_content - Added
clean_youtube_transcript - Removed
deep_research_briefing - Removed
extract_json_schema - Removed
fetch_batch_clean_markdown - Removed
fetch_clean_web_content - Removed
fetch_pdf_markdown - Removed
fetch_plain_text - Removed
fetch_youtube_transcript - Added
get_vault_balance
3 tool updates
v1.2.1- Added
deep_research_briefing - Added
extract_json_schema - Added
fetch_batch_clean_markdown
5 tool updates
v1.2.0- First observed
fetch_clean_web_content - First observed
fetch_pdf_markdown - First observed
fetch_plain_text - First observed
fetch_youtube_transcript - First observed
get_payment_info
TDQS
Scored across 12 tools
Most tools have clearly distinct purposes (payment info, vault balance, oracle attestation), but there is notable overlap among the content extraction tools. clean_web_content, clean_text_raw, extract_json_schema, deep_research_topic, and oracle_grounding all operate on web content with different output formats and prices, which could cause misselection. The descriptions' explicit 'Do NOT use for X (use Y)' cross-references mitigate this considerably.
Names follow a mostly consistent verb_noun or noun_noun snake_case pattern (get_payment_info, map_site, search_web_quick, clean_web_content, verify_oracle_attestation). A few are noun-only (oracle_grounding) and some prefixes vary (clean_ vs get_), but conventions are predictable and readable.
12 tools is well within the ideal range for this scope. Each tool maps to a concrete operation (payment discovery, balance check, five content extractors, two search/research tools, two oracle verification tools), so no tool feels padded.
The surface covers the agent's lifecycle: payment discovery, balance check, web mapping, search, scraping, structured extraction, deep research, and cryptographic verification. Minor gap: there is no explicit tool to submit a paid query or confirm a completed x402 payment transaction, though oracle_grounding partially fills this role.
Maintenance
Related MCP Connectors
Stealth scraping API for AI agents. Clean Markdown from any URL. x402 crypto payments.
Pay-per-request webpage-to-Markdown extraction for AI agents. $0.005 USDC via x402 on Solana.
Pay-per-call (x402/USDC-Base) web + crypto data tools for AI agents: audit, extract, crypto, DeFi.
Pay-per-call web scraping for AI agents via x402 on Base USDC. Six tools, no signup.
Related MCP Servers
- AlicenseAqualityCmaintenancePay-per-use clean web reader for AI agents. URL in, markdown plus metadata out, in milliseconds. Settled per-call in USDC over x402 โ no signup, no API keys.182 npm2MIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing 17 keyless, pay-per-use web-data tools with signed-provenance receipts, enabling AI agents to autonomously fetch, extract, and verify web content on Base mainnet.31 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing 11 pay-per-call web intelligence tools (page reading, PDF extraction, RSS parsing, screenshots, summarization, structured data extraction) for AI agents, paid automatically in USDC via the x402 protocol on Base mainnet with no API keys required.17 npmMIT
- AlicenseNot gradedqualityBmaintenanceMCP server that lets AI agents scrape web pages as clean markdown for a micro-payment in USDC, using the x402 protocol on Base network. No API keys or signup required.MIT