Server definition
- Hash
- sha256:e10514f5a77c45d56728f3cb2ff8c759a53cbd244a9380fbf3f21655262377cc
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "SEO / GEO / AEO Tools. 6 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": "Ask an LLM the queries that matter to you, compare each answer against its stored baseline and get told what changed — the answer itself and which domains it now cites or stopped citing. One row per query x model. — $0.10/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"lang": {
"default": "en",
"description": "Answer language (e.g. en, ru, tr).",
"editor": "textfield",
"title": "Language",
"type": "string"
},
"maxConcurrency": {
"default": 1,
"description": "Parallel LLM calls (kept low to respect rate limits and to bound how many LLM calls can be wasted — uncharged — if a run's spend limit is hit mid-run).",
"maximum": 3,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"models": {
"description": "OpenRouter model IDs to check. Grounded options: `perplexity/sonar`, `openai/gpt-4o-mini:online`, `google/gemini-2.0-flash-001:online`. Every model you add multiplies the number of billed rows: rows = number of queries × number of models. With the limits on both fields, the maximum possible is 20 queries × 3 models = 60 rows.",
"editor": "stringList",
"maxItems": 3,
"prefill": [
"perplexity/sonar"
],
"title": "Models",
"type": "array"
},
"openrouterApiKey": {
"description": "Your OpenRouter API key (https://openrouter.ai/keys). Optional: without it the built-in key is used and the LLM cost is covered by the per-row price. Pass your own key to have tokens billed to your account instead, at cost.",
"editor": "textfield",
"isSecret": true,
"title": "OpenRouter API key",
"type": "string"
},
"queries": {
"description": "The prompts a real user would ask (e.g. `best crm for small business`). Each query is run against every model in `models` below and compared against the previous run's stored answer for the same query × model × language — you are charged per query × model pair, not per query, whether or not the answer changed.",
"editor": "stringList",
"maxItems": 20,
"prefill": [
"best crm for small business"
],
"title": "Queries",
"type": "array"
}
},
"required": [
"queries"
],
"schemaVersion": 1,
"title": "AI Answer Change Alert input",
"type": "object"
},
"name": "ai-answer-change-alert",
"outputSchema": null
},
{
"description": "Check which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended & more) can access your website. Bulk audit of robots.txt rules, llms.txt presence and sitemap for AI search visibility (GEO/AEO). — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"maxConcurrency": {
"default": 10,
"description": "How many websites to check in parallel.",
"maximum": 50,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"websites": {
"description": "List of website URLs or domains to audit (e.g. `example.com` or `https://example.com`).",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"https://example.com",
"https://openai.com",
"https://anthropic.com"
],
"title": "Websites",
"type": "array"
}
},
"required": [
"websites"
],
"schemaVersion": 1,
"title": "AI Crawler Access Checker input",
"type": "object"
},
"name": "ai-crawler-access-checker",
"outputSchema": null
},
{
"description": "For each query that matters, see which sources and domains AI assistants cite in their answer — grounded via Perplexity Sonar, GPT or Gemini through your own OpenRouter key. GEO citation tracking: the backlink profile of the AI-answer era. — $0.10/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"lang": {
"default": "en",
"description": "Answer language (e.g. en, ru, tr).",
"editor": "textfield",
"title": "Language",
"type": "string"
},
"maxConcurrency": {
"default": 3,
"description": "Parallel LLM calls (kept low to respect rate limits).",
"maximum": 10,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"models": {
"description": "OpenRouter model IDs to test. Grounded options: `perplexity/sonar`, `openai/gpt-4o-mini:online`, `google/gemini-2.0-flash-001:online`. Every model you add here multiplies the number of billed rows: rows = number of queries × number of models (see `queries`).",
"editor": "stringList",
"maxItems": 5,
"prefill": [
"perplexity/sonar"
],
"title": "Models",
"type": "array"
},
"openrouterApiKey": {
"description": "Your OpenRouter API key (https://openrouter.ai/keys). LLM token cost is billed to YOUR account; this Actor only orchestrates and scores. Optional to start the Actor: without it the run finishes cleanly and explains setup, and nothing is charged beyond the Actor start.",
"editor": "textfield",
"isSecret": true,
"title": "OpenRouter API key",
"type": "string"
},
"queries": {
"description": "The prompts a real user would ask (e.g. `best project management software`, `how to choose a CRM`). Each query is run against EVERY model in `models` below, and you are charged per query × model pair, not per query — e.g. 10 queries × 2 models = 20 billed rows. With the limits on both fields, the maximum possible is 20 queries × 5 models = 100 rows.",
"editor": "stringList",
"maxItems": 20,
"prefill": [
"best project management software",
"what is the capital of France"
],
"title": "Queries",
"type": "array"
}
},
"required": [
"queries"
],
"schemaVersion": 1,
"title": "AI Overview Citation Tracker input",
"type": "object"
},
"name": "ai-overview-tracker",
"outputSchema": null
},
{
"description": "For each query that matters, check whether AI assistants recommend YOUR brand — and which competitors they cite instead. Grounded answers from Perplexity Sonar, GPT and Gemini via your own OpenRouter key. This is GEO: the SEO of the AI era. — $0.10/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"brand": {
"description": "The brand, product or company you want to track in AI answers.",
"editor": "textfield",
"prefill": "Notion",
"title": "Brand / product name",
"type": "string"
},
"lang": {
"default": "en",
"description": "Answer language (e.g. en, ru, tr).",
"editor": "textfield",
"title": "Language",
"type": "string"
},
"maxConcurrency": {
"default": 3,
"description": "Parallel LLM calls (kept low to respect rate limits).",
"maximum": 10,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"models": {
"description": "OpenRouter model IDs to test. Grounded options: `perplexity/sonar`, `openai/gpt-4o-mini:online`, `google/gemini-2.0-flash-001:online`. Every model you add here multiplies the number of billed rows: rows = number of queries × number of models (see `queries`).",
"editor": "stringList",
"maxItems": 5,
"prefill": [
"perplexity/sonar"
],
"title": "Models",
"type": "array"
},
"openrouterApiKey": {
"description": "Your OpenRouter API key (https://openrouter.ai/keys). LLM token cost is billed to YOUR account; this Actor only orchestrates and scores. Optional to start the Actor: without it the run finishes cleanly and explains setup, and nothing is charged beyond the Actor start.",
"editor": "textfield",
"isSecret": true,
"title": "OpenRouter API key",
"type": "string"
},
"queries": {
"description": "The prompts a real user would ask (e.g. `best note-taking app`, `Notion alternatives`). Each query is run against EVERY model in `models` below, and you are charged per query × model pair, not per query — e.g. 10 queries × 2 models = 20 billed rows. With the limits on both fields, the maximum possible is 20 queries × 5 models = 100 rows.",
"editor": "stringList",
"maxItems": 20,
"prefill": [
"best note-taking app",
"best project management tool for startups"
],
"title": "Queries",
"type": "array"
}
},
"required": [
"brand",
"queries"
],
"schemaVersion": 1,
"title": "LLM Brand Visibility input",
"type": "object"
},
"name": "llm-brand-visibility",
"outputSchema": null
},
{
"description": "Give it a domain. It checks whether the site publishes a valid llms.txt / llms-full.txt (the emerging AI-crawler-friendly-docs convention) and whether robots.txt blocks GPTBot, ClaudeBot, Google-Extended, PerplexityBot and 5 other AI crawlers. llms.txt-first, no browser, no LLM, no API key. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"items": {
"description": "List of domains to audit for llms.txt presence and AI-crawler robots.txt policy.",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"vercel.com",
"nytimes.com"
],
"title": "Domains",
"type": "array"
},
"maxConcurrency": {
"default": 10,
"description": "How many domains to audit in parallel.",
"maximum": 50,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
}
},
"required": [
"items"
],
"schemaVersion": 1,
"title": "llms.txt Auditor input",
"type": "object"
},
"name": "llms-txt-auditor",
"outputSchema": null
},
{
"description": "Free — list every paid tool in the 'seo-tools' 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": "See exactly how your links look when shared on Telegram, WhatsApp, X, LinkedIn, Slack, Facebook & Discord. Bulk-audit Open Graph and Twitter Card tags, validate preview images, and find what breaks your link previews. — $0.01/call, x402 (USDC on base).",
"inputSchema": {
"properties": {
"maxConcurrency": {
"default": 10,
"description": "How many URLs to check in parallel.",
"maximum": 50,
"minimum": 1,
"title": "Max concurrency",
"type": "integer"
},
"urls": {
"description": "List of page URLs to check (e.g. `example.com/article` or a full https URL).",
"editor": "stringList",
"maxItems": 100,
"prefill": [
"https://example.com",
"https://github.com",
"https://stripe.com"
],
"title": "URLs",
"type": "array"
}
},
"required": [
"urls"
],
"schemaVersion": 1,
"title": "Social Preview Checker input",
"type": "object"
},
"name": "social-preview-checker",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e10514f5a77c45d56728f3cb2ff8c759a53cbd244a9380fbf3f21655262377cc | sha256sum