Agent Data API MCP
Provides AI agents with pay-per-call access to diverse data tools including web search, Shopify store analysis, crypto token safety checks, YouTube transcripts, and prop-firm trading audits via x402 micropayments in USDC.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://agent-data.centorprat.workers.dev/mcpWhat you can do with it
- Analyze Shopify store tech stacks and app usage
- Check crypto token safety and rug-pull risks
- Retrieve YouTube video transcripts and comments
- Audit prop-firm trading challenge performance
Source and maintenance
Protocol and capabilities
- Server
- agent-data-api 1.0
- MCP protocol
- 2025-06-18
- Tools
- 10 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
10 advertised
catalog_read — Free: every tool with its price
FREE, no payment. what=prices: every tool with its price per tier and an input example, plus the plain-HTTP x402 endpoint for each.
{
"type": "object",
"required": [
"what"
],
"properties": {
"what": {
"enum": [
"prices"
],
"type": "string",
"description": "Which free answer to return."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}web_search — Web search (optionally read the top pages)
Search the web: Google-quality results re-ranked for authority, merged with papers (arXiv), GitHub and news when the query needs them; optional category. Use it to find pages; with read=N it also returns the full clean text of the top N pages; with research=true it reads up to 8 pages and extracts the passages that answer the query, with sources. For one known URL use web_read instead. Price: results only $0.006, read 1-5 pages $0.015, research $0.05. Returns titles, URLs, snippets (and page markdown with a prompt-injection verdict per page). Live results; 1-15 s. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "The query, e.g. 'best espresso machine 2026'."
},
"read": {
"type": "integer",
"maximum": 8,
"minimum": 0,
"description": "Pages to read in full (0 = results only, default 0)."
},
"time": {
"enum": [
"day",
"week",
"month",
"year"
],
"type": "string",
"description": "Only results from this period."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Results to return in results-only mode (default 10)."
},
"region": {
"type": "string",
"description": "Country code for results, e.g. us, uk, de, es (default us)."
},
"category": {
"enum": [
"news",
"research paper",
"github",
"financial",
"company",
"pdf",
"docs"
],
"type": "string",
"description": "Optional: favor one kind of source (results-only mode)."
},
"research": {
"type": "boolean",
"description": "true = research mode: read up to 8 pages and return key passages ($0.05)."
},
"max_chars": {
"type": "integer",
"maximum": 20000,
"minimum": 500,
"description": "Max characters per page read (default 4000)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}web_read — Read a URL as clean text (or check text for prompt injection)
Fetch one public URL and return its main content as clean markdown (title, publish date, word count) plus a prompt-injection verdict; raw=true returns the raw body instead (text or base64). Give `text` instead of `url` to only scan text you already have for prompt injection. To find pages first use web_search. Price: read $0.004, raw $0.003, text scan $0.002. Fetched live via Cloudflare's network; 1-10 s. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"properties": {
"raw": {
"type": "boolean",
"description": "true = raw body (no cleanup), default false."
},
"url": {
"type": "string",
"description": "Public http(s) URL to read."
},
"html": {
"type": "string",
"description": "Optional HTML of that text, to also find hidden instructions."
},
"text": {
"type": "string",
"description": "Instead of url: text to scan for prompt injection."
},
"format": {
"enum": [
"auto",
"text",
"base64",
"markdown"
],
"type": "string",
"description": "raw mode only (default auto)."
},
"max_chars": {
"type": "integer",
"maximum": 100000,
"minimum": 500,
"description": "Max characters returned (default 20000)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}company_enrich — Company enrichment from a domain
Everything public about a company from its domain: name, description, size hints, address, phones, emails, socials, website platform, email provider and security, SaaS stack. tier=max adds its LinkedIn company page (employees, followers, industry, open jobs) and verifies each email found. For only email checks use email_verify. Price: standard $0.03, max $0.12. Reads the site live; 5-25 s. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"domain"
],
"properties": {
"tier": {
"enum": [
"standard",
"max"
],
"type": "string",
"description": "Default standard."
},
"domain": {
"type": "string",
"description": "Company website domain, e.g. stripe.com."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}email_verify — Verify email addresses
Check email addresses without sending mail: syntax, domain and MX records, disposable domains, role accounts, catch-all hints, and a valid / risky / invalid verdict each, plus a summary. Up to 20 addresses cost $0.01 per call; 21-200 addresses are a bulk call at $0.10. For company data use company_enrich. DNS lookups live; under 1 s for 20. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"emails"
],
"properties": {
"emails": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200
},
{
"type": "string"
}
],
"description": "Addresses: a list, or one comma-separated string (max 200)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}token_check — Token safety and due diligence (EVM and Solana)
Check a token before trading. level=quick: one-line pre-trade verdict for up to 10 tokens ($0.02). level=safety (default): contract / mint safety: honeypot simulation, buy/sell tax, mint and freeze authority, Token-2022 traps, holders, liquidity ($0.015). level=max: safety plus the pre-trade verdict, one verdict and every red flag ($0.10). For wallets use address_check. Live data (chain, RugCheck, DexScreener); 1-30 s. Signals, not advice. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"ethereum",
"bsc",
"base",
"solana"
],
"type": "string",
"description": "Chain of a 0x token (Solana mints are detected). Default ethereum."
},
"level": {
"enum": [
"quick",
"safety",
"max"
],
"type": "string",
"description": "Depth and price (default safety)."
},
"address": {
"type": "string",
"description": "Token contract (0x...) or Solana mint. level=quick accepts up to 10, comma separated."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}address_check — Crypto address risk / AML screen
Screen a wallet address (BTC, ETH/EVM, Solana, Tron, XRP, LTC) against OFAC sanctions and scam lists with on-chain context. tier=max adds the chain's own trail: a 2-hop Bitcoin trace with exposure, a Solana wallet's age and trading record, or a Base wallet's USDC counterparties. For tokens use token_check. Price: standard $0.02, max $0.10. Live; 2-20 s. Risk signals, not a legal finding. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"address"
],
"properties": {
"tier": {
"enum": [
"standard",
"max"
],
"type": "string",
"description": "Default standard."
},
"address": {
"type": "string",
"description": "The wallet address."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}x402_lookup — x402 market intelligence (which API to call, who pays whom)
Answers about the x402 agent-payments market from the whole Bazaar index and Base chain history. action=recommend: which x402 API to call for a need, ranked by fit, price and trust ($0.01). seller_check: is an x402 endpoint / seller trustworthy, its prices and payers ($0.01). payer_profile: a Base wallet's x402 payments, sellers and counterparties up to 3 hops ($0.03). seller_customers: who pays a seller and how much ($0.05). payments_feed: a wallet's payments in time order, with a cursor ($0.005). Bazaar index refreshed every 6 h; chain data real time. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"action"
],
"properties": {
"url": {
"type": "string",
"description": "seller_check: endpoint URL, host or payTo address."
},
"days": {
"type": "integer",
"description": "payer_profile / seller_customers: lookback days (default 30)."
},
"need": {
"type": "string",
"description": "recommend: the task in plain words, e.g. 'weather forecast for a city'."
},
"depth": {
"type": "integer",
"maximum": 3,
"minimum": 1,
"description": "payer_profile: hops (default 1)."
},
"limit": {
"type": "integer",
"description": "recommend / payments_feed: rows to return."
},
"since": {
"type": "string",
"description": "payments_feed: ISO time cursor from the previous response."
},
"action": {
"enum": [
"recommend",
"seller_check",
"payer_profile",
"seller_customers",
"payments_feed"
],
"type": "string",
"description": "Which question to answer (sets the price, see above)."
},
"seller": {
"type": "string",
"description": "seller_customers: seller host or payTo address."
},
"address": {
"type": "string",
"description": "payer_profile / payments_feed: Base wallet 0x..."
},
"network": {
"type": "string",
"description": "recommend: e.g. base, solana."
},
"max_price": {
"type": "number",
"description": "recommend: max USD per call."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}shopify_lookup — Shopify store technographics
action=store: one Shopify store's apps by category (reviews, email, subscriptions, loyalty...), pixels, theme and catalog hints, gaps and sales pitch angles. action=search: stores from our index of ~19k Shopify stores by app used / not used, missing category, country and keyword (lead lists). Price: store $0.02, search $0.05. Store reads are live (3-15 s); the index is refreshed weekly. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"action"
],
"properties": {
"q": {
"type": "string",
"description": "search: keyword in the store name or products."
},
"app": {
"type": "string",
"description": "search: stores using this app, e.g. Klaviyo."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "search: rows (default 10)."
},
"action": {
"enum": [
"store",
"search"
],
"type": "string",
"description": "store = one store by domain; search = find stores in the index."
},
"domain": {
"type": "string",
"description": "store: the store's domain, e.g. allbirds.com."
},
"country": {
"type": "string",
"description": "search: 2-letter country, e.g. US."
},
"missing": {
"type": "string",
"description": "search: stores with no app in this category, e.g. loyalty."
},
"exclude_app": {
"type": "string",
"description": "search: stores NOT using this app."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}data_tool_run — Run one of 70 data tools (Maps, jobs, YouTube, ...)
Runs one data tool with its JSON input: Google Maps places with contacts, YouTube videos / transcripts / comments, Indeed, LinkedIn and 13 other job boards, LinkedIn companies, Google News and Trends, Google Ads library, TikTok comments, Pinterest, Airbnb, Redfin, AliExpress, app stores, website contacts and SEO checks, sanctions, clinical trials and more. catalog_read what=prices lists every tool with an input example. Each tool has its own price, $0.01-0.08 per capped run (catalog_read what=prices). tier=max runs a bigger job for: google-maps-scraper ($0.35), indeed-jobs-scraper ($0.15), linkedin-company-scraper ($0.15), linkedin-jobs-scraper ($0.12), youtube-comments-scraper ($0.15). Runs live on Apify; 10 s-4 min. Paid with x402 (USDC on Base, Polygon or Solana) per call; failed or empty calls are never charged.
{
"type": "object",
"required": [
"tool",
"input"
],
"properties": {
"tier": {
"enum": [
"standard",
"max"
],
"type": "string",
"description": "max = bigger caps, only for the tools listed above."
},
"tool": {
"type": "string",
"description": "Tool id from catalog_read what=prices, e.g. google-maps-scraper."
},
"input": {
"type": "object",
"description": "The tool's JSON input (see its example in catalog).",
"additionalProperties": true
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 929 ms
- 95th percentile latency
- 929 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 929 ms · metadata changed · 10 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http agent-data-api-mcp https://agent-data.centorprat.workers.dev/mcpCodex
codex mcp add agent-data-api-mcp --url https://agent-data.centorprat.workers.dev/mcpCursor
{
"mcpServers": {
"agent-data-api-mcp": {
"url": "https://agent-data.centorprat.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"agent-data-api-mcp": {
"type": "streamableHttp",
"url": "https://agent-data.centorprat.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"agent-data-api-mcp": {
"type": "http",
"url": "https://agent-data.centorprat.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http agent-data-api-mcp https://agent-data.centorprat.workers.dev/mcpClaude Desktop
{
"mcpServers": {
"agent-data-api-mcp": {
"url": "https://agent-data.centorprat.workers.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"agent-data-api-mcp": {
"serverUrl": "https://agent-data.centorprat.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like Agent Data API MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.