SEO Tools

5 pay-per-call SEO tools over MCP. Free discovery, tool calls settle in USDC on Base via x402.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
94%
Integridad del esquema
90%
Calidad de los nombres
54%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (6)

  • LOWTool 'ai-answer-change-alert' doesn't follow camelCase/snake_caseen ai-answer-change-alert
  • LOWTool 'ai-crawler-access-checker' doesn't follow camelCase/snake_caseen ai-crawler-access-checker
  • LOWTool 'ai-overview-tracker' doesn't follow camelCase/snake_caseen ai-overview-tracker
  • LOWTool 'llm-brand-visibility' doesn't follow camelCase/snake_caseen llm-brand-visibility
  • LOWTool 'llms-txt-auditor' doesn't follow camelCase/snake_caseen llms-txt-auditor
  • LOWTool 'social-preview-checker' doesn't follow camelCase/snake_caseen social-preview-checker

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,451Tokens (definiciones de herramientas)
~2.9 KBTamaño de respuesta típico
Impacto moderado en la atención (1.91% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "seo-tools": {
      "url": "https://api.timzinin.com/mcp/seo-tools"
    }
  }
}

Puntos de conexión remotos

https://api.timzinin.com/mcp/seo-toolsstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢pricing_info

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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡ai-answer-change-alert(queries, models, lang, openrouterApiKey, maxConcurrency)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "queries": {
      "title": "Queries",
      "type": "array",
      "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.",
      "maxItems": 20,
      "editor": "stringList",
      "prefill": [
        "best crm for small business"
      ]
    },
    "models": {
      "title": "Models",
      "type": "array",
      "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.",
      "maxItems": 3,
      "editor": "stringList",
      "prefill": [
        "perplexity/sonar"
      ]
    },
    "lang": {
      "title": "Language",
      "type": "string",
      "description": "Answer language (e.g. en, ru, tr).",
      "editor": "textfield",
      "default": "en"
    },
    "openrouterApiKey": {
      "title": "OpenRouter API key",
      "type": "string",
      "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
    },
    "maxConcurrency": {
      "title": "Max concurrency",
      "type": "integer",
      "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).",
      "default": 1,
      "minimum": 1,
      "maximum": 3
    }
  },
  "required": [
    "queries"
  ],
  "title": "AI Answer Change Alert input",
  "schemaVersion": 1
}
🟢ai-crawler-access-checker(websites, maxConcurrency)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "websites": {
      "title": "Websites",
      "type": "array",
      "description": "List of website URLs or domains to audit (e.g. `example.com` or `https://example.com`).",
      "maxItems": 100,
      "editor": "stringList",
      "prefill": [
        "https://example.com",
        "https://openai.com",
        "https://anthropic.com"
      ]
    },
    "maxConcurrency": {
      "title": "Max concurrency",
      "type": "integer",
      "description": "How many websites to check in parallel.",
      "default": 10,
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "websites"
  ],
  "title": "AI Crawler Access Checker input",
  "schemaVersion": 1
}
🟢ai-overview-tracker(queries, models, lang, openrouterApiKey, maxConcurrency)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "queries": {
      "title": "Queries",
      "type": "array",
      "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.",
      "maxItems": 20,
      "editor": "stringList",
      "prefill": [
        "best project management software",
        "what is the capital of France"
      ]
    },
    "models": {
      "title": "Models",
      "type": "array",
      "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`).",
      "maxItems": 5,
      "editor": "stringList",
      "prefill": [
        "perplexity/sonar"
      ]
    },
    "lang": {
      "title": "Language",
      "type": "string",
      "description": "Answer language (e.g. en, ru, tr).",
      "editor": "textfield",
      "default": "en"
    },
    "openrouterApiKey": {
      "title": "OpenRouter API key",
      "type": "string",
      "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
    },
    "maxConcurrency": {
      "title": "Max concurrency",
      "type": "integer",
      "description": "Parallel LLM calls (kept low to respect rate limits).",
      "default": 3,
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "queries"
  ],
  "title": "AI Overview Citation Tracker input",
  "schemaVersion": 1
}
🟢llm-brand-visibility(brand, queries, models, lang, openrouterApiKey, ...)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "brand": {
      "title": "Brand / product name",
      "type": "string",
      "description": "The brand, product or company you want to track in AI answers.",
      "editor": "textfield",
      "prefill": "Notion"
    },
    "queries": {
      "title": "Queries",
      "type": "array",
      "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.",
      "maxItems": 20,
      "editor": "stringList",
      "prefill": [
        "best note-taking app",
        "best project management tool for startups"
      ]
    },
    "models": {
      "title": "Models",
      "type": "array",
      "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`).",
      "maxItems": 5,
      "editor": "stringList",
      "prefill": [
        "perplexity/sonar"
      ]
    },
    "lang": {
      "title": "Language",
      "type": "string",
      "description": "Answer language (e.g. en, ru, tr).",
      "editor": "textfield",
      "default": "en"
    },
    "openrouterApiKey": {
      "title": "OpenRouter API key",
      "type": "string",
      "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
    },
    "maxConcurrency": {
      "title": "Max concurrency",
      "type": "integer",
      "description": "Parallel LLM calls (kept low to respect rate limits).",
      "default": 3,
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "brand",
    "queries"
  ],
  "title": "LLM Brand Visibility input",
  "schemaVersion": 1
}
🟢llms-txt-auditor(items, maxConcurrency)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "items": {
      "title": "Domains",
      "type": "array",
      "description": "List of domains to audit for llms.txt presence and AI-crawler robots.txt policy.",
      "maxItems": 100,
      "editor": "stringList",
      "prefill": [
        "vercel.com",
        "nytimes.com"
      ]
    },
    "maxConcurrency": {
      "title": "Max concurrency",
      "type": "integer",
      "description": "How many domains to audit in parallel.",
      "default": 10,
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "items"
  ],
  "title": "llms.txt Auditor input",
  "schemaVersion": 1
}
🟢social-preview-checker(urls, maxConcurrency)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "urls": {
      "title": "URLs",
      "type": "array",
      "description": "List of page URLs to check (e.g. `example.com/article` or a full https URL).",
      "maxItems": 100,
      "editor": "stringList",
      "prefill": [
        "https://example.com",
        "https://github.com",
        "https://stripe.com"
      ]
    },
    "maxConcurrency": {
      "title": "Max concurrency",
      "type": "integer",
      "description": "How many URLs to check in parallel.",
      "default": 10,
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "urls"
  ],
  "title": "Social Preview Checker input",
  "schemaVersion": 1
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas
verificadoversión no registrada7 herramientas