Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Stefans71 Wordpress

FreeNot checked

Mirror of https://github.com/stefans71/wordpress-mcp-server

GitHubEmbed

About

README

License: MIT

A Model Context Protocol (MCP) server that enables AI assistants to interact with WordPress sites through the WordPress REST API. This server provides tools for managing WordPress content programmatically, including creating, retrieving, and updating posts.

Features

  • Create new WordPress posts with customizable titles, content, and status
  • Retrieve WordPress posts with pagination support
  • Update existing posts with new content or status
  • Secure authentication using WordPress application passwords
  • Error handling and detailed response messages

Prerequisites

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

Installation

  1. Clone this repository:
git clone https://github.com/stefans71/wordpress-mcp-server.git
cd wordpress-server
  1. Install dependencies:
npm install
  1. Build the server:
npm run build

WordPress Configuration

Before using the server, you need to set up your WordPress site:

  1. Ensure your WordPress site has REST API enabled (enabled by default in WordPress 4.7+)
  2. Create an application password:
    • Log in to your WordPress admin panel
    • Go to Users → Profile
    • Scroll down to "Application Passwords"
    • Enter a name for the application (e.g., "MCP Server")
    • Click "Add New Application Password"
    • Copy the generated password (you won't be able to see it again)

MCP Configuration

Add the server to your MCP settings file (usually located at ~/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "wordpress": {
      "command": "node",
      "args": ["path/to/wordpress-server/build/index.js"]
    }
  }
}

Available Tools

1. create_post

Creates a new WordPress post.

Parameters:

  • siteUrl (required): Your WordPress site URL
  • username (required): WordPress username
  • password (required): WordPress application password
  • title (required): Post title
  • content (required): Post content
  • status (optional): Post status ('draft', 'publish', or 'private', defaults to 'draft')

Example:

{
  "tool": "create_post",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "title": "My First Post",
  "content": "Hello, world!",
  "status": "draft"
}

2. get_posts

Retrieves WordPress posts with pagination.

Parameters:

  • siteUrl (required): Your WordPress site URL
  • username (required): WordPress username
  • password (required): WordPress application password
  • perPage (optional): Number of posts per page (default: 10)
  • page (optional): Page number (default: 1)

Example:

{
  "tool": "get_posts",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "perPage": 5,
  "page": 1
}

3. update_post

Updates an existing WordPress post.

Parameters:

  • siteUrl (required): Your WordPress site URL
  • username (required): WordPress username
  • password (required): WordPress application password
  • postId (required): ID of the post to update
  • title (optional): New post title
  • content (optional): New post content
  • status (optional): New post status ('draft', 'publish', or 'private')

Example:

{
  "tool": "update_post",
  "siteUrl": "https://example.com",
  "username": "admin",
  "password": "xxxx xxxx xxxx xxxx",
  "postId": 123,
  "title": "Updated Title",
  "content": "Updated content",
  "status": "publish"
}

Response Format

All tools return responses in the following format:

Success Response

{
  "success": true,
  "data": {
    // WordPress API response data
  }
}

Error Response

{
  "success": false,
  "error": "Error message here"
}

Error Handling

The server handles various types of errors:

  • Invalid request format
  • Missing required parameters
  • WordPress API errors
  • Authentication failures
  • Network issues

Each error response includes a descriptive message to help diagnose the issue.

Security Considerations

  • Always use HTTPS URLs for your WordPress site
  • Use application passwords instead of your main WordPress password
  • Keep your application passwords secure and don't share them
  • Consider using WordPress roles and capabilities to limit access
  • Regularly rotate application passwords

Development

To contribute to the development:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests (when available)
  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. By contributing to this project, you agree to abide by its terms.

from github.com/sunc901008/stefans71_wordpress-mcp-server

Installing Stefans71 Wordpress

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/sunc901008/stefans71_wordpress-mcp-server

FAQ

Is Stefans71 Wordpress MCP free?

Yes, Stefans71 Wordpress MCP is free — one-click install via Unyly at no cost.

Does Stefans71 Wordpress need an API key?

No, Stefans71 Wordpress runs without API keys or environment variables.

Is Stefans71 Wordpress hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Stefans71 Wordpress in Claude Desktop, Claude Code or Cursor?

Open Stefans71 Wordpress on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Stefans71 Wordpress with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs