Server definition
- Hash
- sha256:9671fa4b07a605f714d53385854dfea804990311fc2ce39b259b14ae4c52bff4
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": "Web & Content Intelligence. 9 pay-per-call tools plus one free tool, `pricing_info`.\nEvery other tool charges per call: USDC on base over x402. Attach the signed payment payload as a plain JSON object in params._meta[\"x402/payment\"] of the tools/call request. Without it the call is answered with isError:true and the payment requirements in structuredContent, and nothing is run or charged.\n`pricing_info` is free, needs no wallet, and returns every tool's price, the payTo address, the network and the scheme — call it first. Each tool's price is also in its own description.\nA settled call is final: settlement is an on-chain transfer and cannot be reversed, so treat each tools/call as a purchase, not as a retryable read. Questions, or evaluating this server without a wallet: [email protected]",
"tools": [
{
"description": "Bulk-audit domains: DNS records, SSL certificate expiry, SPF & DMARC email authentication. Find domains that cannot receive email, are easy to spoof, or have expiring certificates — before your clients do. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"domains": {
"description": "List of domains to audit (e.g. `example.com`).",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"example.com",
"example.com",
"github.com"
],
"title": "Domains",
"type": "array"
},
"maxConcurrency": {
"default": 10,
"description": "How many domains to check in parallel.",
"maximum": 50,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
}
},
"required": [
"domains"
],
"schemaVersion": 1,
"title": "Domain Health Checker input",
"type": "object"
},
"name": "domain-health-checker",
"outputSchema": null
},
{
"description": "Free — list every paid tool in the 'web-intel' bundle with its price, payTo address and network. Call this first if you don't have a wallet ready yet.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "pricing_info",
"outputSchema": null
},
{
"description": "Watches a Shopify store's catalogue and returns only the products whose price or availability changed since the previous check. The first run creates the baseline and says so. — $0.05/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"baseline_key": {
"description": "A name for THIS watch, so you can run several independent store watches from one Actor (e.g. \"dtc-competitors\", \"my-portfolio\") without one overwriting another's memory of what's already been seen. Each name is scoped to YOUR OWN Apify account. The prefilled value is only there so this Actor's own daily test run has a stable, obviously-a-test name; replace it with your own watch name.",
"editor": "textfield",
"prefill": "apify-daily-test",
"title": "Watch name",
"type": "string"
},
"max_items": {
"default": 20,
"description": "Caps how many new-store / changed-store rows a single run will deliver and charge for, even if more were found.",
"maximum": 200,
"minimum": 1,
"title": "Max change rows per run",
"type": "integer"
},
"websites": {
"description": "Shopify (or possibly-Shopify) store URLs to watch, e.g. \"allbirds.com\". Every scheduled run re-checks these same sites and reports ONLY what changed since a previous run of this watch: a store newly added to the watch, or an already-tracked store's price range / catalog size / estimated revenue band shifting.",
"editor": "stringList",
"maxItems": 10,
"prefill": [
"allbirds.com"
],
"title": "Websites",
"type": "array"
}
},
"required": [
"websites"
],
"schemaVersion": 1,
"title": "Shopify Price Change Monitor input",
"type": "object"
},
"name": "shopify-price-change-monitor",
"outputSchema": null
},
{
"description": "Confirm a site runs on Shopify and pull store intelligence from its public feeds — product count, price range, top vendors/categories, newest listing and a rough revenue-band heuristic. No login, no Shopify API key. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"maxConcurrency": {
"default": 5,
"description": "How many websites to check in parallel.",
"maximum": 20,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"websites": {
"description": "List of websites to check (e.g. `allbirds.com` or `https://example.com`). One row per site.",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"https://allbirds.com",
"https://gymshark.com",
"https://stripe.com"
],
"title": "Websites",
"type": "array"
}
},
"required": [
"websites"
],
"schemaVersion": 1,
"title": "Shopify Store Intelligence input",
"type": "object"
},
"name": "shopify-store-intelligence",
"outputSchema": null
},
{
"description": "Give it a domain. It reads the sitemap, fetches the pages, strips them to clean text and splits everything into ~1000-char chunks — one dataset row per chunk, ready to embed into a vector store. No browser, no LLM, no API key. — $0.02/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"items": {
"description": "List of domains or website URLs to crawl via their sitemap. One entry per site.",
"editor": "stringList",
"maxItems": 10,
"prefill": [
"docs.example.com",
"example.com"
],
"title": "Domains / websites",
"type": "array"
},
"maxConcurrency": {
"default": 5,
"description": "How many SITES to process in parallel (each site already fetches up to 25 pages internally).",
"maximum": 20,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
}
},
"required": [
"items"
],
"schemaVersion": 1,
"title": "Sitemap to Knowledge input",
"type": "object"
},
"name": "sitemap-to-knowledge",
"outputSchema": null
},
{
"description": "Turn any URL into clean structured JSON — title, description, image, JSON-LD, headings, links, emails and prices — extracted deterministically via regex. Zero LLM calls, zero API keys. Built for AI agents that need one page turned into typed data, cheaply. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"fields": {
"description": "Optional subset of fields to return: title, description, image, siteName, canonical, jsonLd, headings, links, emails, prices. Leave empty to extract all of them.",
"editor": "stringList",
"maxItems": 10,
"prefill": [],
"title": "Fields to extract",
"type": "array"
},
"maxConcurrency": {
"default": 10,
"description": "How many URLs to process in parallel.",
"maximum": 30,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"urls": {
"description": "List of URLs to extract structured data from. One row per URL.",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"https://example.com",
"https://www.iana.org/help/example-domains"
],
"title": "URLs",
"type": "array"
}
},
"required": [
"urls"
],
"schemaVersion": 1,
"title": "Structured Extract input",
"type": "object"
},
"name": "structured-extract",
"outputSchema": null
},
{
"description": "Detect a website's current technologies (CMS, ecommerce, analytics, marketing/CRM, framework, hosting/CDN, chat, payments) and diff it against a previously-seen stack you supply, so you get exactly what was added or removed. No browser, no proxies, no login. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"items": {
"description": "One entry per domain. Bare form: \"example.com\" (just detects the current stack). Diff form: \"example.com|Tech1,Tech2,Tech3\" — everything after the pipe is the stack you last saw for this domain; the Actor returns what was added/removed vs. right now.",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"shopify.com",
"wordpress.org|WordPress,jQuery"
],
"title": "Domains (with optional previous stack)",
"type": "array"
},
"maxConcurrency": {
"default": 10,
"description": "How many domains to check in parallel.",
"maximum": 50,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
}
},
"required": [
"items"
],
"schemaVersion": 1,
"title": "Tech-Stack Change Detector input",
"type": "object"
},
"name": "tech-stack-change-detector",
"outputSchema": null
},
{
"description": "Detect the technologies a website runs — CMS, ecommerce platform, analytics, marketing/CRM, JS framework, hosting/CDN, chat and payments — straight from its public HTML and HTTP headers. No browser, no proxies, no login. Built for sales targeting and competitive research. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"maxConcurrency": {
"default": 10,
"description": "How many websites to fingerprint in parallel.",
"maximum": 50,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"websites": {
"description": "List of websites to fingerprint (e.g. `shopify.com` or `https://example.com`). One row per site.",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"https://shopify.com",
"https://wordpress.org",
"https://vercel.com"
],
"title": "Websites",
"type": "array"
}
},
"required": [
"websites"
],
"schemaVersion": 1,
"title": "Company Tech-Stack Detector input",
"type": "object"
},
"name": "tech-stack-detector",
"outputSchema": null
},
{
"description": "Fetch any URL and convert it into clean, LLM-ready Markdown — headings, links, lists and emphasis preserved, scripts/nav/ads stripped. No browser, no LLM calls, no API key. Built for RAG pipelines and AI agents that need one page turned into readable text, cheaply. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"includeLinks": {
"default": true,
"description": "Convert <a href> tags to Markdown links. Turn off to strip links and keep only their text.",
"title": "Include links",
"type": "boolean"
},
"maxConcurrency": {
"default": 10,
"description": "How many URLs to fetch and convert in parallel.",
"maximum": 30,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"urls": {
"description": "List of URLs to fetch and convert to Markdown. One row per URL.",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"https://example.com",
"https://www.iana.org/help/example-domains"
],
"title": "URLs",
"type": "array"
}
},
"required": [
"urls"
],
"schemaVersion": 1,
"title": "URL to Markdown input",
"type": "object"
},
"name": "url-to-markdown",
"outputSchema": null
},
{
"description": "Pull live product catalogs (name, price, sale price, category, image) straight from Zid storefronts — a common Saudi/Gulf e-commerce SaaS — via their own public JSON feed. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"items": {
"description": "One entry per Zid storefront — the shop's subdomain (e.g. `furniture`) or full host (`furniture.zid.store`). Find the subdomain in the store's own zid.store URL, or via its custom domain's storefront (Zid stores usually keep the *.zid.store host reachable even with a custom domain attached).",
"editor": "stringList",
"maxItems": 20,
"prefill": [
"furniture",
"scent"
],
"title": "Zid shop subdomains",
"type": "array"
},
"maxConcurrency": {
"default": 5,
"description": "How many shops to scan in parallel.",
"maximum": 20,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
}
},
"required": [
"items"
],
"schemaVersion": 1,
"title": "Zid Store Products input",
"type": "object"
},
"name": "zid-store-products",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:9671fa4b07a605f714d53385854dfea804990311fc2ce39b259b14ae4c52bff4 | sha256sum