SEOWrench

Technical SEO and AI-readiness audits for any page, plus a check that your fix worked.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~527Tokens (tool definitions)
~1.0 KBTypical response size
Minimal attention impact (0.41% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "seowrench": {
      "url": "https://api.seowrench.com/mcp/account"
    }
  }
}

Remote endpoints

https://api.seowrench.com/mcp/accountstreamable-http
https://api.seowrench.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢audit_url(url, lang)

Audit one public web page for technical SEO and AI readiness with SEOWrench's rule engine. Returns two scores (SEO and AI readiness) and the problems ordered by severity: critical, warning, opportunity. Each problem has a stable code, what was measured, and how to fix it. Use it before editing a page, and use verify after editing.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Full public URL of the page, with http:// or https://."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "pt"
      ],
      "description": "Language of names and recommendations. Default: en."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
🟢geo_check(url, lang)

Check whether AI assistants (ChatGPT, Claude, Perplexity, Gemini) can read and cite a page. Returns the AI readiness score, which AI crawlers robots.txt blocks, whether llms.txt exists, and only the AI-related problems with how to fix them.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Full public URL of the page, with http:// or https://."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "pt"
      ],
      "description": "Language of names and recommendations. Default: en."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
🟢verify(url, codes, lang)

Confirm that a fix worked. Reads the page again right now (never a cached result) and answers, for each problem code you pass, passed, failing or not_measured. Use the codes returned by audit_url or geo_check, after you change the page.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Full public URL of the page, with http:// or https://."
    },
    "codes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 50,
      "description": "Problem codes to check, as returned by audit_url or geo_check (e.g. missing_h1)."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "pt"
      ],
      "description": "Language of names and recommendations. Default: en."
    }
  },
  "required": [
    "url",
    "codes"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools