A Model Context Protocol (MCP) server for seamless WordPress.com integration
This package wraps @automattic/mcp-wordpress-remote with WordPress.com-optimized defaults, making it easy to connect AI assistants like Claude Desktop to WordPress.com sites.
- WordPress.com Optimized - Pre-configured for WordPress.com public API
- Secure OAuth 2.0 Authentication - One-click setup with persistent token storage
- Zero Configuration - Works out of the box for WordPress.com sites
- Complete MCP Support - Tools, resources, prompts, and more
npm install @automattic/mcp-wpcom-remote
Add to your MCP client configuration (e.g., Claude Desktop's claude_desktop_config.json
):
{
"mcpServers": {
"wordpress.com": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wpcom-remote"]
}
}
}
- Start your MCP client (Claude Desktop, etc.)
- Browser opens automatically for WordPress.com authorization
- Authorize the application - tokens are stored permanently
- Start using WordPress.com features in your AI assistant
That's it! No additional configuration needed for WordPress.com.
This package automatically configures:
- API Endpoint:
https://public-api.wordpress.com/wpcom/v2/mcp/v1
- OAuth Client ID:
121755
(WordPress.com MCP client) - OAuth Enabled:
true
by default - Callback Port:
3000
- Config Directory:
~/.mcp-auth/wpcom-remote-{version}/
You can override any default settings using environment variables:
{
"mcpServers": {
"wordpress.com": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wpcom-remote"],
"env": {
"OAUTH_CALLBACK_PORT": "8080",
"LOG_FILE": "/path/to/logfile.log"
}
}
}
}
For server-to-server authentication:
{
"mcpServers": {
"wordpress.com": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wpcom-remote"],
"env": {
"JWT_TOKEN": "your-jwt-token-here"
}
}
}
}
If you need to use a different WordPress.com endpoint:
{
"mcpServers": {
"wordpress.com": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wpcom-remote"],
"env": {
"WP_API_URL": "https://your-custom-endpoint.com/wpcom/v2/mcp/v1"
}
}
}
}
Variable | Default | Description |
---|---|---|
WP_API_URL |
https://public-api.wordpress.com/wpcom/v2/mcp/v1 |
WordPress.com API endpoint |
OAUTH_ENABLED |
true |
Enable OAuth authentication |
OAUTH_CALLBACK_PORT |
3000 |
OAuth callback port |
OAUTH_HOST |
127.0.0.1 |
OAuth callback hostname |
WPCOM_CLIENT_ID |
121755 |
WordPress.com OAuth client ID |
WPCOM_MCP_CONFIG_DIR |
~/.mcp-auth |
Config directory override |
JWT_TOKEN |
(none) | JWT token for authentication |
LOG_FILE |
(none) | Log file path |
For development and testing, you can use the local repository:
-
Clone the repository:
git clone https://github.a8c.com/Automattic/mcp-wpcom-remote.git cd mcp-wpcom-remote
-
Install dependencies:
npm install
-
Build the project:
npm run build
Configure your MCP client to use the local version:
{
"mcpServers": {
"wordpress.com": {
"command": "node",
"args": ["/path/to/your/mcp-wpcom-remote/dist/proxy.js"]
}
}
}
Browser doesn't open:
- Check if port 3000 is available
- Try a different port with
OAUTH_CALLBACK_PORT
Authorization fails:
- Verify WordPress.com account permissions
- Try clearing tokens:
rm -rf ~/.mcp-auth/wpcom-remote-*/
If port 3000 is already in use:
{
"env": {
"OAUTH_CALLBACK_PORT": "8080"
}
}
This package (mcp-wpcom-remote
) is a WordPress.com-optimized wrapper that:
- Pre-configures WordPress.com API endpoint
- Uses WordPress.com OAuth client ID by default
- Enables OAuth by default (vs disabled in the generic package)
- Uses wpcom-specific config directory for token isolation
- Integrates logging from the underlying package for consistent log formatting
For self-hosted WordPress sites, use @automattic/mcp-wordpress-remote directly.
- Node.js 22+ (inherited from underlying package)
- WordPress.com account (for OAuth authentication)
GPL v2 or later
Contributions welcome! This project is maintained by Automattic Inc.
Need help? Check the troubleshooting section or open an issue.