MCP server by jahzlariosa
WordPressMCP Server
Minimal MCP server that exposes WordPress REST tools over stdio. It supports
posts, pages, categories, tags, users, plugins, and dynamic CPT routing via
type/post_type.
Requirements
- Node.js 18+ (fetch API required)
- WordPress Application Password
- Optional: MCP REST Helper plugin for Yoast SEO meta via REST: https://github.com/jahzlariosa/mcp-rest-helper
Setup
- Install dependencies:
npm install
- Create a
.envfile (see.env.example):
WP_URL="https://your-site.example"
WP_USER="your-username"
WP_APP_PASS="xxxx xxxx xxxx xxxx xxxx xxxx"
- Run the server:
npm start
MCP Host Config (config.toml)
If your AI host uses a config.toml to register MCP servers, add an entry like:
[mcp.servers.WordPressMCP]
command = "node"
args = ["/absolute/path/to/server.mjs"]
env = { WP_URL = "https://your-site.example", WP_USER = "your-username", WP_APP_PASS = "xxxx xxxx xxxx xxxx xxxx xxxx" }
If your host does not support inline env, configure it to load .env or set
WP_URL, WP_USER, and WP_APP_PASS in the process environment.
Notes
- The server uses the stdio transport, so run it under your MCP host.
- For custom post types, pass
typeorpost_typewith the CPT slug or REST base. Example:type: "announcement"routes to/wp-json/wp/v2/announcement. create_postalso supportsstatusoverrides likeannouncement:draftto target a CPT without a separatetypearg.- Taxonomy tools are available for categories and tags (
list_*,get_*,create_*,update_*,delete_*). list_postsacceptscategories,tags,categories_exclude, andtags_excludefilters;create_post/update_postacceptcategoriesandtags.- Yoast SEO meta can be set via a
yoastobject oncreate_post,update_post,create_page, andupdate_page(title, description, focus keyphrase, keyphrase synonyms, related keyphrases, canonical, robots noindex/nofollow, and OG/Twitter overrides). Premium fields require Yoast Premium to be active. - Premium Yoast fields available in
yoast:focuskw_synonyms,focuskeywords,keywordsynonyms(provide the raw Yoast string/JSON format).
WordPress Helper Plugin
If you need to update Yoast SEO fields through the REST API, install the MCP REST Helper plugin from https://github.com/jahzlariosa/mcp-rest-helper. It registers the Yoast meta keys (including premium keyphrase fields when Yoast Premium is active) for all REST-enabled post types so MCP updates can persist.
You can install it from GitHub:
- Download the zip from https://github.com/jahzlariosa/mcp-rest-helper/releases and unzip it into
wp-content/plugins/. - Or clone directly:
git clone https://github.com/jahzlariosa/mcp-rest-helper.gitintowp-content/plugins/mcp-rest-helper.
Sponsorship
If this project helps, consider supporting it:
Project Layout
server.mjs: entrypoint, tool registrationsrc/config.mjs: env parsing and validationsrc/wpClient.mjs: WordPress REST clientsrc/wpUtils.mjs: query/form helpers and post-type parsingsrc/postTypeResolver.mjs: cached CPT resolversrc/tools/: tool registration modules