WordPress Python
БесплатноНе проверенA lightweight MCP server that connects to WordPress via REST API, enabling content management (posts, pages, categories, etc.) and site configuration through na
Описание
A lightweight MCP server that connects to WordPress via REST API, enabling content management (posts, pages, categories, etc.) and site configuration through natural language commands.
README
A lightweight standalone Python MCP server that connects to WordPress via REST API.
Features
- Standalone Python package - Runs independently, no WordPress plugin needed
- Easy setup with
pip install - Full WordPress REST API support: Posts, Pages, Categories, Tags, Users, Media, Settings
- WooCommerce support: Products, Orders (optional)
- MCP SDK integration for Claude Desktop
- Async/await for better performance
Requirements
- Python 3.8+
- WordPress site with REST API enabled
- Application Password or JWT token
Installation
From PyPI (recommended)
pip install wordpress-mcp
From source
git clone https://github.com/tannht/wordpress-mcp-python.git
cd wordpress-mcp-python
pip install -e .
Configuration
1. Get WordPress Application Password
- Go to WordPress Admin → Users → Profile
- Scroll down to Application Passwords
- Create a new one (name it "MCP")
- Copy the generated password
Format: abcd-efgh-ijkl-mnop (4 groups of 4 chars)
2. Set Environment Variables
export WP_URL="https://yoursite.com"
export WP_USERNAME="your_username"
export WP_PASSWORD="your_application_password"
Or use JWT token:
export WP_URL="https://yoursite.com"
export WP_JWT_TOKEN="your_jwt_token"
Usage
As a Library
import asyncio
from wordpress_mcp import WordPressClient
async def main():
client = WordPressClient(
base_url="https://yoursite.com",
username="your_username",
password="your_app_password"
)
# Create a post
post = await client.create_post(
title="Hello from Python!",
content="This post was created via Python MCP.",
status="draft"
)
print(f"Created post: {post['id']}")
asyncio.run(main())
As MCP Server (for Claude Desktop)
# Run the MCP server
python -m wordpress_mcp
Claude Desktop Integration
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"wordpress": {
"command": "python",
"args": ["-m", "wordpress_mcp"],
"env": {
"WP_URL": "https://yoursite.com",
"WP_USERNAME": "your_username",
"WP_PASSWORD": "your_application_password"
}
}
}
}
Docker
Build and run the MCP server using Docker:
# Build and start the server
docker compose up -d --build
# View logs
docker compose logs -f
# Stop the server
docker compose down
The server runs on stdio transport and connects to WordPress via REST API.
Environment Variables
Create a .env file in the project root:
WP_URL=https://yoursite.com
WP_USERNAME=your_username
WP_PASSWORD=your_application_password
# Or use JWT token
# WP_JWT_TOKEN=your_jwt_token
Claude Code Integration
Add the WordPress MCP server to Claude Code:
claude mcp add --transport stdio wordpress \
--env WP_URL=https://yoursite.com \
--env WP_USERNAME=your_username \
--env WP_PASSWORD=your_application_password \
-- wordpress-mcp
Verify connection:
claude mcp list
MCP Tools Available
Posts
wp_posts_search- Search posts with paginationwp_get_post- Get post by IDwp_add_post- Create new postwp_update_post- Update postwp_delete_post- Delete post
Pages
wp_pages_search- Search pageswp_get_page- Get page by IDwp_add_page- Create new page
Categories
wp_list_categories- List all categorieswp_add_category- Add new category
Tags
wp_list_tags- List all tagswp_add_tag- Add new tag
Users
wp_users_search- Search userswp_get_user- Get user by ID
Media
wp_media_search- Search media items
Settings
wp_get_site_info- Get site informationwp_get_settings- Get site settings
WooCommerce (optional)
wc_products_search- Search productswc_get_product- Get product by IDwc_add_product- Create productwc_orders_search- Search orderswc_get_order- Get order by ID
Development
Setup Development Environment
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run tests with coverage
pytest --cov=wordpress_mcp
# Format code
black src/ tests/
# Lint
ruff check src/ tests/
Project Structure
wordpress-mcp-python/
├── pyproject.toml # Project metadata, dependencies
├── README.md
├── .gitignore
├── src/
│ └── wordpress_mcp/
│ ├── __init__.py # Package init, entry point
│ ├── client.py # WordPress REST API client
│ └── server.py # MCP server implementation
├── tests/
│ ├── __init__.py
│ ├── conftest.py # Pytest fixtures
│ └── test_client.py # Client tests
└── scripts/
└── test_connection.py # Connection test script
Troubleshooting
Connection refused
- Make sure WordPress REST API is enabled
- Check your site URL is correct (include https://)
Authentication failed
- Verify Application Password is correct
- Ensure username has proper permissions
Import errors
- Check Python version (3.8+ required)
- Install with
pip install -e .for development
Comparison: Python vs PHP
| Feature | Python MCP | PHP Plugin |
|---|---|---|
| Installation | pip install | Upload plugin |
| Size | ~50KB | ~160KB |
| Dependencies | mcp, httpx, pyjwt | firebase/php-jwt |
| Location | Runs anywhere | Must be in WordPress |
| Update | git pull | Plugin update |
License
MIT
Credits
Based on WordPress MCP by Automattic.
Установить WordPress Python в Claude Desktop, Claude Code, Cursor
unyly install wordpress-mcp-pythonСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add wordpress-mcp-python -- uvx --from git+https://github.com/tan-interspace/wordpress-mcp-python wordpress-mcpFAQ
WordPress Python MCP бесплатный?
Да, WordPress Python MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для WordPress Python?
Нет, WordPress Python работает без API-ключей и переменных окружения.
WordPress Python — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить WordPress Python в Claude Desktop, Claude Code или Cursor?
Открой WordPress Python на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare WordPress Python with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
