mcpField
W
WordPress MCP Integration

WordPress MCP Integration

Local
github.com/rizaardiyanto1412Business & Marketing2Updated 86w ago

About WordPress MCP Integration

WordPress MCP Integration is an MCP server for managing WordPress posts through the REST API. It supports creating, retrieving, and updating posts, with credentials supplied through environment variables or request parameters.

Key features

  1. 01Create WordPress posts
  2. 02Retrieve WordPress posts
  3. 03Update post title, content, and status
  4. 04Configure credentials through environment or requests

Use cases

  1. 01Create draft or published posts
  2. 02List posts from a WordPress site
  3. 03Revise existing post content or status

MCP support

It exposes `create_post`, `get_posts`, and `update_post` tools to MCP clients for WordPress post operations.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

WordPress MCP Integration

This is a streamlined version of the Model Context Protocol (MCP) TypeScript SDK that focuses specifically on WordPress integration. It enables interaction with WordPress sites through the WordPress REST API using the MCP protocol.

Overview

The WordPress MCP integration allows you to:

  • Create new WordPress posts
  • Retrieve existing WordPress posts
  • Update existing WordPress posts

Installation

  1. Clone this repository
  2. Install dependencies:
npm install

Configuration

There are two ways to configure the WordPress integration:

1. Environment Variables

Set the following environment variables:

  • WORDPRESS_SITE_URL: Your WordPress site URL
  • WORDPRESS_USERNAME: WordPress username
  • WORDPRESS_PASSWORD: WordPress application password
2. Request Parameters

Provide the credentials directly in the request parameters when calling the tools.

Security Note

For security, it's recommended to use WordPress application passwords instead of your main account password. You can generate an application password in your WordPress dashboard under Users → Security → Application Passwords.

Available Tools

create_post

Creates a new WordPress post.

Parameters:

  • siteUrl: (optional if set in env) WordPress site URL
  • username: (optional if set in env) WordPress username
  • password: (optional if set in env) WordPress application password
  • title: Post title
  • content: Post content
  • status: (optional) 'draft' | 'publish' | 'private' (default: 'draft')

Example:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_post",
    "arguments": {
      "title": "My New Post",
      "content": "Hello World!",
      "status": "draft"
    }
  }
}
get_posts

Retrieves WordPress posts.

Parameters:

  • siteUrl: (optional if set in env) WordPress site URL
  • username: (optional if set in env) WordPress username
  • password: (optional if set in env) WordPress application password
  • perPage: (optional) Number of posts per page (default: 10)
  • page: (optional) Page number (default: 1)

Example:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_posts",
    "arguments": {
      "perPage": 5,
      "page": 1
    }
  }
}
update_post

Updates an existing WordPress post.

Parameters:

  • siteUrl: (optional if set in env) WordPress site URL
  • username: (optional if set in env) WordPress username
  • password: (optional if set in env) WordPress application password
  • postId: ID of the post to update
  • title: (optional) New post title
  • content: (optional) New post content
  • status: (optional) 'draft' | 'publish' | 'private'

Example:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_post",
    "arguments": {
      "postId": 123,
      "title": "Updated Post Title",
      "status": "publish"
    }
  }
}

Running the Server

Start the WordPress MCP server:

npm run server

This will start the server on stdio by default. To run it on a specific port (e.g., 3000):

npm run server 3000

Requirements

  • Node.js 18.0.0 or higher
  • WordPress site with REST API enabled
  • WordPress application password for authentication

License

MIT License - See LICENSE file for details

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.