CMS MCP Hub
589 MCP tools for managing CMS platforms with AI
Connect Claude, Cursor, Windsurf, Copilot, or any MCP client to WordPress, WooCommerce, Shopify, Framer, Strapi, Ghost, Webflow, Payload, Contentful, Wix, Yoast, and Sanity.
What is this?
CMS MCP Hub is a monorepo of Model Context Protocol servers that let AI assistants manage your CMS content. Each package is a standalone MCP server you can run with one command.
Your AI assistant can now create posts, manage products, upload images, update SEO, and more — across 12 CMS platforms.
You: "Create a blog post about AI tools, add a featured image, and optimize SEO"
Claude: Creates post -> uploads image -> sets categories/tags -> writes meta description -> publishes
Quick Start
Claude Desktop
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "@cmsmcp/wordpress"],
"env": {
"WORDPRESS_URL": "https://yoursite.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx"
}
}
}
}
Claude Code
claude mcp add wordpress -e WORDPRESS_URL=https://yoursite.com \
-e WORDPRESS_USERNAME=admin \
-e WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx" \
-- npx -y @cmsmcp/wordpress
Cursor / Windsurf / Cline / Any MCP Client
Same JSON config format — just add to your client's MCP settings.
Packages
| Package | CMS | Tools | Status | Install |
|---|---|---|---|---|
@cmsmcp/wordpress | WordPress | 169 | Ready | npx @cmsmcp/wordpress |
@cmsmcp/shopify | Shopify | 147 | Ready | npx @cmsmcp/shopify |
@cmsmcp/woocommerce | WooCommerce | 95 | Ready | npx @cmsmcp/woocommerce |
@cmsmcp/ghost | Ghost | 24 | Ready | npx @cmsmcp/ghost |
@cmsmcp/webflow | Webflow | 21 | Ready | npx @cmsmcp/webflow |
@cmsmcp/payload | Payload CMS | 21 | Ready | npx @cmsmcp/payload |
@cmsmcp/wix | Wix | 21 | Ready | npx @cmsmcp/wix |
@cmsmcp/framer | Framer | 20 | Ready | npx @cmsmcp/framer |
@cmsmcp/contentful | Contentful | 20 | Ready | npx @cmsmcp/contentful |
@cmsmcp/yoast | Yoast SEO | 18 | Ready | npx @cmsmcp/yoast |
@cmsmcp/strapi | Strapi | 17 | Ready | npx @cmsmcp/strapi |
@cmsmcp/sanity | Sanity | 16 | Ready | npx @cmsmcp/sanity |
@cmsmcp/gateway | REST API | - | Ready | npx @cmsmcp/gateway |
What can you do?
WordPress (169 tools)
| Category | Examples |
|---|---|
| Content | Create/edit/delete posts, pages, media with file upload |
| Taxonomy | Manage categories, tags, custom post types, custom taxonomies |
| Users | Create users, manage roles, application passwords |
| Menus | Create navigation menus with items in one call |
| Plugins | Install, activate, deactivate, delete plugins |
| Themes | List/switch themes |
| Blocks | Reusable blocks, block types, patterns, block renderer |
| Site Editor | Templates, template parts, navigation, global styles |
| Revisions | Browse/restore post, page, template revisions |
| Fonts | Manage font families and font faces |
| SEO | Read/update Yoast SEO fields (title, description, keywords, OG) |
| Widgets | Manage widget areas and widget instances |
| Workflows | One-call post creation with categories + tags + image + SEO |
| Resources | Browseable data sources (recent posts, drafts, calendar) |
| Prompts | Templates (blog creator, SEO audit, site health report) |
Shopify (147 tools)
| Category | Examples |
|---|---|
| Products | CRUD + variants + images (18 tools) |
| Collections | Custom + smart collections + collects (13 tools) |
| Orders | CRUD + close + cancel + draft orders + transactions + refunds + fulfillments (34 tools) |
| Customers | CRUD + search + addresses + set default (13 tools) |
| Inventory | Items, levels (adjust/set), locations (9 tools) |
| Content | Pages, blogs, articles, redirects (24 tools) |
| Store | Themes, assets, discounts, gift cards, metafields, webhooks, events (36 tools) |
WooCommerce (95 tools)
| Category | Examples |
|---|---|
| Products | CRUD + variations, attributes, terms, shipping classes |
| Orders | CRUD + notes, refunds |
| Customers | CRUD + downloads |
| Coupons | Create percent/fixed/product discounts with limits |
| Reviews | Moderate product reviews |
| Tax | Tax rates and classes CRUD |
| Webhooks | Create event-driven webhooks |
| Reports | Sales analytics, top sellers, totals |
| Settings | Store settings, payment gateways, shipping zones |
| System | System status, diagnostics, data (countries/currencies) |
| Batch | Batch create/update/delete up to 100 items per call |
| Workflows | Store dashboard, full product creator, order processor |
Ghost (24 tools)
| Category | Examples |
|---|---|
| Posts | Create/edit/delete posts with Lexical JSON support |
| Pages | Create and manage pages |
| Tags | Create and organize tags |
| Members | Subscriber and member management |
| Newsletters | Newsletter and tier configuration |
| Images | Upload and manage site images |
| Webhooks | Webhook management for integrations |
Webflow (21 tools)
Sites, collections, collection items, pages, products, orders, publishing, domains, and webhooks — via Webflow API v2.
Payload CMS (21 tools)
Collections, entries, globals, media, access control, version management, bulk operations — with API key or email/password auth.
Wix (21 tools)
Data collections, eCommerce products, blog posts, contacts/CRM, bookings, orders — with WQL query support.
Framer (20 tools)
CMS collections, pages, code files, publishing/deployment — via WebSocket API.
Contentful (20 tools)
Content types, entries, assets, environments, locales, tags, bulk publishing — via Content Management API.
Yoast SEO (18 tools)
SEO metadata, scores, readability, redirects, social data, schema markup, sitemaps — via WordPress REST API.
Strapi (17 tools)
Dynamic content type discovery, entry CRUD, publish/unpublish, i18n localization, media, components.
Sanity (16 tools)
GROQ queries, document CRUD, assets, datasets, publishing, transactions — via Content Lake API.
Gateway — Universal REST API
The gateway exposes all MCP tools as a REST API, making them accessible from any platform:
# Start the gateway
npx @cmsmcp/gateway
# Call any tool via HTTP
curl -X POST http://localhost:4777/api/wordpress/wp_list_posts \
-H "X-API-Key: your-key" \
-H "Content-Type: application/json" \
-d '{"per_page": 5}'
Works with: Python, n8n, Make, Zapier, LangChain, custom apps, any HTTP client.
Features:
- Auto-generated OpenAPI 3.0 spec at
/openapi.json - Pre-built action packs for ChatGPT's 30-action limit
- Web dashboard with tool browser and live tester
- API key authentication
- CORS enabled
Architecture
cms-mcp-hub/
├── packages/
│ ├── shared/ # ApiClient, error handling, pagination, rate limiting
│ ├── wordpress-mcp/ # 169 tools — WordPress REST API v2
│ ├── shopify-mcp/ # 147 tools — Shopify Admin REST API
│ ├── woocommerce-mcp/ # 95 tools — WooCommerce REST API v3
│ ├── ghost-mcp/ # 24 tools — Ghost Admin API (JWT)
│ ├── webflow-mcp/ # 21 tools — Webflow API v2
│ ├── payload-mcp/ # 21 tools — Payload REST API
│ ├── wix-mcp/ # 21 tools — Wix REST API v2
│ ├── framer-mcp/ # 20 tools — Framer Server API (WebSocket)
│ ├── contentful-mcp/ # 20 tools — Contentful CMA
│ ├── yoast-mcp/ # 18 tools — Yoast SEO via WP REST API
│ ├── strapi-mcp/ # 17 tools — Strapi REST API
│ ├── sanity-mcp/ # 16 tools — Sanity Content Lake API
│ └── gateway/ # REST API gateway with OpenAPI spec
├── turbo.json # Turborepo build config
├── tsconfig.base.json # Shared TypeScript config
└── package.json # Monorepo root
Tech stack: TypeScript (strict), Node.js 18+, Turborepo, tsup, Zod, Vitest
Auth per platform:
| Platform | Auth Method |
|---|---|
| WordPress | Application Passwords (Basic Auth) |
| Shopify | X-Shopify-Access-Token header |
| WooCommerce | OAuth 1.0a (HTTP) / Basic Auth (HTTPS) |
| Ghost | JWT (HS256) from Admin API Key |
| Webflow | Bearer Token |
| Payload | API Key or Email/Password (JWT) |
| Wix | API Key + Site ID headers |
| Framer | API Key (WebSocket) |
| Contentful | Bearer Token (CMA) |
| Yoast | Application Passwords (Basic Auth) |
| Strapi | Bearer Token |
| Sanity | Bearer Token |
Development
git clone https://github.com/rahhuul/cms-mcp-hub.git
cd cms-mcp-hub
npm install
npx turbo build # Build all packages
npx turbo test # Run all tests
# Build specific package
npx turbo build --filter=@cmsmcp/wordpress
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node packages/wordpress-mcp/dist/index.js
Environment Variables
WordPress
WORDPRESS_URL=https://yoursite.com
WORDPRESS_USERNAME=admin
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx # WP Admin -> Users -> Profile -> Application Passwords
Shopify
SHOPIFY_STORE=mystore # Store name (from mystore.myshopify.com)
SHOPIFY_ACCESS_TOKEN=shpat_xxx # Admin -> Settings -> Apps -> Develop apps -> Custom app
WooCommerce
WOOCOMMERCE_URL=https://yourstore.com
WOOCOMMERCE_CONSUMER_KEY=ck_xxx # WP Admin -> WooCommerce -> Settings -> Advanced -> REST API
WOOCOMMERCE_CONSUMER_SECRET=cs_xxx
Ghost
GHOST_URL=https://myblog.com
GHOST_ADMIN_API_KEY=id:secret # Settings -> Integrations -> Custom Integration
GHOST_CONTENT_API_KEY=xxx # Optional — for read-only access
Webflow
WEBFLOW_API_TOKEN=xxx # Site Settings -> Integrations -> API Access
Payload CMS
PAYLOAD_URL=http://localhost:3000
PAYLOAD_API_KEY=xxx # Or use PAYLOAD_EMAIL + PAYLOAD_PASSWORD
Wix
WIX_API_KEY=xxx # Wix Developers -> API Keys
WIX_SITE_ID=xxx
Framer
FRAMER_PROJECT_URL=https://framer.com/projects/your-project-id
FRAMER_API_KEY=your-api-key # Site Settings -> General
Contentful
CONTENTFUL_SPACE_ID=xxx
CONTENTFUL_MANAGEMENT_TOKEN=xxx # Settings -> CMA Tokens
CONTENTFUL_ENVIRONMENT=master # Optional, defaults to master
Yoast SEO
YOAST_SITE_URL=https://mysite.com
YOAST_USERNAME=admin
YOAST_APP_PASSWORD=xxx # Same as WordPress Application Passwords
Strapi
STRAPI_URL=http://localhost:1337
STRAPI_API_TOKEN=your-token # Settings -> API Tokens
Sanity
SANITY_PROJECT_ID=xxx
SANITY_TOKEN=xxx # manage.sanity.io -> API -> Tokens
SANITY_DATASET=production # Optional, defaults to production
Why CMS MCP Hub?
- 589 tools across 12 CMS platforms — the most comprehensive MCP CMS integration
- No plugins required — connects directly via official APIs
- One command —
npx @cmsmcp/wordpressand you're connected - AI-native — tool descriptions designed for LLMs to use correctly
- Full CRUD — not shallow wrappers, complete API coverage
- Type-safe — TypeScript strict mode, Zod validation on all inputs
- Battle-tested auth — OAuth 1.0a, JWT, Application Passwords, Bearer tokens, API keys
- Workflows — multi-step operations in a single tool call
- Gateway — REST API makes tools accessible from any platform
- Open source — MIT licensed
Like This Project?
If CMS MCP Hub is useful to you, please consider giving it a star on GitHub. It helps others discover the project and motivates continued development.
You can also help by:
- Sharing this project with developers who work with CMS platforms
- Reporting bugs or requesting features
- Contributing new CMS integrations or improvements
Contributing
See CONTRIBUTING.md for guidelines.
# Add a new CMS package
cd packages/{cms}-mcp
# Follow the pattern in packages/ghost-mcp or packages/wordpress-mcp
License
MIT — see LICENSE for details.
Built by @rahhuul
If this helped you, give it a star