Connect your AI Agents to WordPress in minutes

Available tools
list_blocks
List WordPress reusable blocks with filtering by status and search. Use page/per_page for pagination.
get_block
Get a single WordPress reusable block by ID. Returns block title, content, and metadata.
create_block
Create a new WordPress reusable block with title, content (HTML/block markup), and status.
update_block
Update an existing WordPress reusable block. Only provided fields will be changed. Use list_blocks to find valid IDs.
delete_block
Delete a WordPress reusable block. By default moves to trash. Set force=true to permanently delete.
list_categories
List WordPress categories with filtering and search. Use page/per_page for pagination.
get_category
Get a single WordPress category by ID. Returns name, slug, description, parent, and post count.
create_category
Create a new WordPress category with name, description, slug, and optional parent category.
update_category
Update an existing WordPress category. Only provided fields will be changed. Use list_categories to find valid IDs. On WordPress.com, category IDs are global and may change after update — always re-fetch after updating.
delete_category
Delete a WordPress category. Categories require force=true to delete (set by default). On WordPress.com, category IDs are global and may differ from creation IDs — use list_categories to find valid IDs before deleting.
list_comments
List WordPress comments with filtering by post, status, and search. Use page/per_page for pagination.
get_comment
Get a single WordPress comment by ID. Returns comment content, author info, and metadata.
create_comment
Create a new comment on a WordPress post. Requires post ID and content. Use list_posts to find valid post IDs.
update_comment
Update an existing WordPress comment. Only provided fields will be changed. Use list_comments to find valid IDs.
delete_comment
Delete a WordPress comment. By default moves to trash. Set force=true to permanently delete.
list_media
List WordPress media items with filtering by type and search. Use page/per_page for pagination.
get_media
Get a single WordPress media item by ID. Returns file details, URLs, alt text, and metadata.
update_media
Update a WordPress media item's title, alt text, caption, or description. Use list_media to find valid IDs.
delete_media
Permanently delete a WordPress media item. Media deletion requires force=true (set by default).
list_pages
List WordPress pages with filtering by status, author, and parent. Use page/per_page for pagination.
get_page
Get a single WordPress page by ID. Returns full page content including title, body, and metadata.
create_page
Create a new WordPress page with title, content, status, and parent. Defaults to draft status.
update_page
Update an existing WordPress page. Only provided fields will be changed. Use list_pages to find valid page IDs.
delete_page
Delete a WordPress page. By default moves to trash. Set force=true to permanently delete.
list_posts
List WordPress posts with filtering by status, author, category, tag, and search. Use page/per_page for pagination.
get_post
Get a single WordPress post by ID. Returns full post content including title, body, excerpt, and metadata.
create_post
Create a new WordPress post with title, content, status, categories, and tags. Defaults to draft status.
update_post
Update an existing WordPress post. Only provided fields will be changed. Use list_posts to find valid post IDs.
delete_post
Delete a WordPress post. By default moves to trash. Set force=true to permanently delete.
search
Search across all WordPress content (posts, pages, terms). Filter by type and subtype. Use page/per_page for pagination.
list_tags
List WordPress tags with filtering and search. Use page/per_page for pagination.
get_tag
Get a single WordPress tag by ID. Returns name, slug, description, and post count.
create_tag
Create a new WordPress tag with name, description, and optional slug.
update_tag
Update an existing WordPress tag. Only provided fields will be changed. Use list_tags to find valid tag IDs. On WordPress.com, tag IDs are global and may change after update — always re-fetch after updating.
delete_tag
Delete a WordPress tag. Tags require force=true to delete (set by default). On WordPress.com, tag IDs are global and may differ from creation IDs — use list_tags to find valid IDs before deleting.
list_taxonomies
List all registered WordPress taxonomies (e.g., category, post_tag, and custom taxonomies).
get_taxonomy
Get details of a specific WordPress taxonomy by slug (e.g., 'category', 'post_tag').
list_post_types
List all registered WordPress post types (e.g., post, page, attachment, and custom post types).
get_post_type
Get details of a specific WordPress post type by slug (e.g., 'post', 'page', 'attachment').
validate_credential
Validate WordPress credentials by calling the users/me endpoint. Returns success status and user info.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's WordPress MCP server
FAQs on using Merge's WordPress MCP server
What is a WordPress MCP?
It's an MCP server that lets your agents access data and functionality from a WordPress instance via tools. Your agents can invoke these tools to create and update posts, manage pages, moderate comments, organize categories and tags, and more.
WordPress.com offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.
How can I use the WordPress MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Automated content publishing: An agent monitors a product database or external feed and automatically creates and publishes a new WordPress post when a new item is added, complete with the appropriate category and tags
- Comment moderation: An agent reviews incoming comments against a content policy and either approves, flags, or deletes them, reducing manual workload for editorial teams managing high-volume sites
- Content auditing and gap analysis: An agent lists all posts within a category, compares them against a content calendar in Notion or Airtable, and surfaces topics that are overdue or missing
- Cross-platform content sync: When a new support article is published in Zendesk or Intercom, an agent creates a corresponding page in WordPress so documentation stays consistent across channels
What are popular tools for WordPress's MCP server?
Here are some of the most commonly used tools:
create_post: creates a new WordPress post with a specified title, content, status, categories, and tags. Useful for agents that need to publish content automatically in response to an external trigger
list_posts: retrieves posts filtered by status, category, author, or date range. Call this when an agent needs to audit what's already been published before generating or scheduling new content
update_post: modifies specific fields on an existing post without affecting unspecified fields. Good for workflows that need to change a post's status, revise its body, or reassign its category based on a downstream event
list_comments: fetches comments across the site or scoped to a specific post, with optional filtering by approval status. Helpful when an agent needs to surface pending moderation items or compile reader feedback for a report
create_category: adds a new category to the WordPress taxonomy. Use this when an agent is preparing content structure ahead of a batch of posts that need consistent organization
search: runs a cross-content query across posts, pages, and other content types. Call this when an agent needs to check for duplicates or find related existing content before creating something new
What makes Merge Agent Handler's WordPress MCP server better than alternative WordPress MCP servers?
A few things set Merge Agent Handler's WordPress MCP server apart from building or using an alternative:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For WordPress, this means you can prevent draft content, unpublished posts, or author contact details from being exposed even when the agent has broad read access
- Managed authentication and credentials: Merge stores and refreshes WordPress credentials on your behalf. You never expose raw API keys or OAuth tokens to an agent or manage token rotation manually
- Real-time observability and audit trail: Every tool call made against WordPress is logged with timestamp, tool name, input parameters, and response metadata. You can audit exactly what an agent read or wrote without instrumenting anything yourself
- Tool Packs and controlled access: Tool Packs let you bundle specific WordPress tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An agent gets exactly the tools it needs, nothing more
How can I start using Merge Agent Handler's WordPress MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose WordPress and complete the auth flow. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying WordPress data directly. The first time you use a WordPress tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's WordPress MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now




















