Lightweight WordPress MCP server - 42 tools, token-optimized (95% smaller responses)
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"wordpress": {
"env": {
"WORDPRESS_PASSWORD": "xxxx xxxx xxxx xxxx",
"WORDPRESS_SITE_URL": "https://example.com",
"WORDPRESS_USERNAME": "admin"
},
"args": [
"@cavort-it-systems/wordpress-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Lightweight WordPress MCP server for site management. 158 tools with token-optimized responses — REST API responses automatically slimmed from kilobytes to essentials.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y '@cavort-it-systems/wordpress-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked @cavort-it-systems/wordpress-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools / writing
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
MCP Security Weekly
Get CVE alerts and security updates for io.github.cvrt-jh/wordpress-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Lightweight WordPress MCP server for site management. 158 tools with token-optimized responses — REST API responses automatically slimmed from kilobytes to essentials.
v2.1: Now includes Pro modules for ACF and WooCommerce via wp-pilot-pro.
v2.0: Extended tools for the cvrt-mcp-endpoints plugin — install plugins/themes from WordPress.org, database management, full widget/menu control, and more.
WordPress REST API returns extremely verbose JSON (~5-10KB per post). This server strips it down:
| Response | Before | After | Reduction |
|---|---|---|---|
wp_list_posts (10 posts) | ~50KB | ~2KB | 96% |
wp_get_post | ~5KB | ~200 bytes | 96% |
wp_list_plugins | ~15KB | ~800 bytes | 95% |
Less tokens = faster responses, lower costs, more context for your AI.
npm install -g @cavort-it-systems/wordpress-mcp
Or run directly:
npx @cavort-it-systems/wordpress-mcp
claude mcp add wordpress \
-e WORDPRESS_SITE_URL=https://example.com \
-e WORDPRESS_USERNAME=admin \
-e WORDPRESS_PASSWORD="xxxx xxxx xxxx xxxx" \
-- npx @cavort-it-systems/wordpress-mcp
Add to your MCP config (~/.claude.json or Claude Desktop settings):
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["@cavort-it-systems/wordpress-mcp"],
"env": {
"WORDPRESS_SITE_URL": "https://example.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_PASSWORD": "xxxx xxxx xxxx xxxx"
}
}
}
}
git clone https://github.com/cvrt-jh/wordpress-mcp.git
cd wordpress-mcp
npm install && npm run build
Uses Application Passwords (WordPress 5.6+):
All responses are automatically trimmed. Example:
wp_get_post — from ~5KB to ~200 bytes:
// Before (WordPress REST API raw)
{"id":123,"date":"2026-01-15T10:30:00","date_gmt":"2026-01-15T09:30:00",
"guid":{"rendered":"https://example.com/?p=123"},"modified":"2026-01-20T14:00:00",
"modified_gmt":"2026-01-20T13:00:00","slug":"my-post","status":"publish",
"type":"post","link":"https://example.com/my-post/","title":{"rendered":"My Post"},
"content":{"rendered":"<p>Full content...</p>","protected":false},
"excerpt":{"rendered":"<p>Excerpt...</p>","protected":false},
"author":1,"featured_media":456,"comment_status":"open","ping_status":"open",
"sticky":false,"template":"","format":"standard","meta":{"footnotes":""},
"categories":[1,5],"tags":[10,20],"class_list":["post-123","type-post",...],
"_links":{"self":[...],"collection":[...],"about":[...],...}}
// After (slimmed)
{"id":123,"title":"My Post","slug":"my-post","status":"publish",
"date":"2026-01-15T10:30:00","modified":"2026-01-20T14:00:00",
"link":"https://example.com/my-post/","excerpt":"Excerpt...",
"author":1,"categories":[1,5],"tags":[10,20],"featured_media":456}
What gets stripped:
| Field | Where | Why |
|---|---|---|
guid, _links | everywhere | Internal WordPress data |
content.rendered | lists | Only included when explicitly requested |
meta, class_list | posts/pages | Theme/plugin metadata |
ping_status, comment_status | posts | Rarely need |