Skip to content

Automattic/mcp-wpcom-remote

Repository files navigation

MCP WordPress.com Remote

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.

Features

  • 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

Quick Start

Installation

npm install @automattic/mcp-wpcom-remote

Configuration

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"]
    }
  }
}

First Run

  1. Start your MCP client (Claude Desktop, etc.)
  2. Browser opens automatically for WordPress.com authorization
  3. Authorize the application - tokens are stored permanently
  4. Start using WordPress.com features in your AI assistant

That's it! No additional configuration needed for WordPress.com.

WordPress.com Defaults

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}/

Advanced Configuration

Custom Configuration

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"
      }
    }
  }
}

JWT Token Authentication

For server-to-server authentication:

{
  "mcpServers": {
    "wordpress.com": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wpcom-remote"],
      "env": {
        "JWT_TOKEN": "your-jwt-token-here"
      }
    }
  }
}

Custom WordPress.com Endpoint

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"
      }
    }
  }
}

Environment Variables

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

Development Mode

For development and testing, you can use the local repository:

Setup

  1. Clone the repository:

    git clone https://github.a8c.com/Automattic/mcp-wpcom-remote.git
    cd mcp-wpcom-remote
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Configuration

Configure your MCP client to use the local version:

{
  "mcpServers": {
    "wordpress.com": {
      "command": "node",
      "args": ["/path/to/your/mcp-wpcom-remote/dist/proxy.js"]
    }
  }
}

Troubleshooting

OAuth Issues

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-*/

Port Conflicts

If port 3000 is already in use:

{
  "env": {
    "OAUTH_CALLBACK_PORT": "8080"
  }
}

What's Different from mcp-wordpress-remote

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.

Requirements

  • Node.js 22+ (inherited from underlying package)
  • WordPress.com account (for OAuth authentication)

License

GPL v2 or later

Contributing

Contributions welcome! This project is maintained by Automattic Inc.


Need help? Check the troubleshooting section or open an issue.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published