WordPress MCP Server
Allows creating, updating WordPress posts, uploading images, and setting featured images via WordPress REST API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WordPress MCP ServerCreate a draft post titled 'Hello' with content 'Testing'."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WordPress MCP Server
A local Node.js server that exposes WordPress REST API operations for Claude or other MCP-enabled tools.
What this does
Creates new WordPress blog posts
Updates existing posts
Uploads images to WordPress media
Attaches an uploaded image as a post's featured media
Related MCP server: WordPress MCP Server
Setup
Install dependencies locally if you want to run outside Docker:
npm installCopy the example environment file and configure your WordPress credentials:
cp .env.example .envFill in
.env:
WP_URL: your self-hosted WordPress base URL, e.g.https://example.comWP_USERNAME: WordPress usernameWP_APP_PASSWORD: WordPress application passwordPORT: local port for the MCP server (default9808)
Start the server locally:
npm startUsing Docker
Build and run with Docker Compose:
docker compose up --buildThis uses the .env file to provide credentials into the container.
If you want to run only the Docker image:
docker build -t wordpress-mcp .
docker run --env-file .env -p 9808:9808 wordpress-mcpAPI Endpoints
GET /postsGET /posts/:postIdPOST /create-postPOST /update-postPOST /upload-imagePOST /create-post-with-imagePOST /set-featured-imageGET /health
Example requests
Create a new post:
curl http://localhost:4000/create-post \
-H "Content-Type: application/json" \
-d '{"title":"Hello from Claude","content":"This is a generated blog post.","status":"draft"}'Upload an image:
curl http://localhost:4000/upload-image \
-H "Content-Type: application/json" \
-d '{"imageUrl":"https://example.com/image.jpg","fileName":"image.jpg"}'Create a post with featured media:
curl http://localhost:4000/create-post-with-image \
-H "Content-Type: application/json" \
-d '{"title":"Post with image","content":"Blog content","imageUrl":"https://example.com/image.jpg","fileName":"image.jpg"}'List posts:
curl http://localhost:4000/postsGet a specific post:
curl http://localhost:4000/posts/123Update a post:
curl http://localhost:4000/update-post \
-H "Content-Type: application/json" \
-d '{"postId":123,"title":"Updated title","content":"Updated content"}'Claude / MCP integration
This project includes a manifest at mcp-manifest.json describing the available operations.
The server also exposes the manifest directly at http://localhost:9808/manifest (or your public tunnel host).
Test on Claude
Start the server locally or in Docker:
docker compose up -d --buildConfirm the manifest is available:
curl http://127.0.0.1:9809/manifestIn Claude custom connector / integration settings, use:
http://localhost:9809if Claude runs on the same machineor your tunnel hostname if using Cloudflare, e.g.
https://mcp.yourdomain.com
Important: set authentication to No auth / No sign-in service.
This server already authenticates to WordPress using the .env values, so Claude should not be configured with OAuth or an OAuth Client ID.
Configure the connector to use the server endpoints:
GET /healthGET /manifestGET /postsGET /posts/:postIdPOST /create-postPOST /update-postPOST /upload-imagePOST /set-featured-imagePOST /create-post-with-imagePOST /.well-known/mcp/register(compatibility)POST /register(compatibility)
Run a quick test request in Claude against
/healthor/manifest.
Example validation URL
If your connector settings accept a manifest URL, use:
http://localhost:9809/manifestor:
https://mcp.yourdomain.com/manifestNote: Keep your
.envprivate. The server must authenticate to WordPress using an Application Password and the correct site URL.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Peter-Parker12/wordpressMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server