wordpress-seo-mcp
Connects AI assistants to WordPress sites, enabling automated SEO analysis and fixes for meta tags, schema, content, images, and technical SEO via MCP tools.
README
WordPress SEO MCP Server
An MCP (Model Context Protocol) server that connects AI assistants to WordPress sites for automated SEO optimization. Works with opencode, Claude Code, Cursor, and any MCP-compatible AI.
Features
| Tool | What it does |
|---|---|
manage-sites |
Add/list/remove WordPress sites |
analyze-seo |
Check meta title, description, OG, Twitter tags |
apply-seo |
Fix missing/short/long meta tags |
analyze-schema |
Inspect JSON-LD structured data |
apply-schema |
Inject Article, Organization, BreadcrumbList schema |
analyze-content |
Check headings, word count, keyword usage |
analyze-images |
Check alt text, lazy loading |
analyze-technical |
Check canonical URL, robots, hreflang |
generate-sitemap |
Generate XML sitemap (optionally submit to Google) |
suggest-keywords |
Generate keyword ideas for a topic |
search-analytics |
Google Search Console analytics (if configured) |
rollback-seo |
Undo last SEO changes |
get-seo-history |
View change history |
Architecture
AI Assistant → MCP Protocol → Middleware Pipeline → Plugin System → WordPress REST API
├─ Logging ├─ Meta Plugin
├─ Auth ├─ Schema Plugin
├─ Validation ├─ Content Plugin
├─ Rate Limit ├─ Images Plugin
└─ Cache ├─ Technical Plugin
├─ Sitemap Plugin
├─ Keyword Plugin
└─ Integration Plugin
Plugin-based with SQLite audit log (enables rollback) and optional Google Search Console + PageSpeed integration.
Quick Start
Prerequisites
- Node.js 18+
- A WordPress site with REST API enabled and an Application Password
Install
git clone https://github.com/abnormal-yi/wordpress-seo-mcp.git
cd wordpress-seo-mcp
npm install
npm run build
Configure in opencode.jsonc
{
"mcp": {
"wordpress-seo-mcp": {
"type": "local",
"command": ["node", "/path/to/wordpress-seo-mcp/dist/index.js"],
"enabled": true,
"environment": {}
}
}
}
Restart your AI assistant. The server starts automatically and exposes all tools.
Usage Workflow
Step 1: Add your site
→ manage-sites({ action: "add", name: "my-site", config: { url, username, appPassword } })
Step 2: Analyze a page
→ analyze-seo({ site: "my-site", postId: 42 })
→ analyze-content({ site: "my-site", postId: 42, keyword: "seo tools" })
→ analyze-schema({ site: "my-site", postId: 42 })
Step 3: Apply fixes
→ apply-seo({ site: "my-site", postId: 42, fixes: ["missing-title", "missing-desc"] })
→ apply-schema({ site: "my-site", postId: 42, schemas: ["Article", "Organization"] })
Step 4: Generate sitemap
→ generate-sitemap({ site: "my-site" })
Step 5: Roll back if needed
→ rollback-seo({ site: "my-site", postId: 42 })
Or just tell your AI:
"Optimize this WordPress page for SEO"
The AI runs the full pipeline automatically.
Google Search Console (optional)
Set these environment variables in your MCP config:
"environment": {
"GSC_API_KEY": "your-google-api-key",
"GSC_SITE_URL": "https://yoursite.com"
}
Enables search-analytics tool and sitemap submission to GSC.
Development
npm run dev # Watch mode
npm test # Run tests (70+ tests)
npm run typecheck # TypeScript check
npm run build # Production build
Project Structure
src/
├── index.ts # Entry point — wires plugins + services
├── transport.ts # MCP stdio transport
├── orchestrator.ts # Tool registry + plugin interface
├── middleware/pipeline.ts # Middleware pipeline runner
├── plugins/
│ ├── management.ts # manage-sites tool
│ ├── meta/ # Meta tag analyzer + applier
│ ├── schema/ # JSON-LD analyzer + applier
│ ├── content/ # Content SEO analyzer
│ ├── images/ # Image SEO analyzer
│ ├── technical/ # Technical SEO analyzer
│ ├── sitemap/ # XML sitemap generator
│ ├── keyword/ # Keyword suggestion engine
│ ├── rollback.ts # Rollback + history tools
│ └── integration/ # GSC + PageSpeed tools
├── services/
│ ├── wordpress/ # REST API client + site pool
│ ├── storage/ # SQLite audit log
│ └── external/ # GSC + PageSpeed API adapters
└── types/ # Shared type definitions
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.