SEOWrench
Technical SEO and AI-readiness audits for any page, plus a check that your fix worked.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httphttps://api.seowrench.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢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
Evidence