WordPress MCP
Um servidor Model Context Protocol (MCP) que dá aos agentes de IA controle total sobre sites WordPress. 46 ferramentas para posts, páginas, mídia, SEO, comentários, redirecionamentos, blocos, padrões, TablePress e muito mais.
Documentação
WordPress MCP
Um servidor Model Context Protocol (MCP) que dá a agentes de IA controle total sobre sites WordPress. Gerencie posts, páginas, mídia, categorias, tags, comentários, SEO, redirecionamentos, blocos Gutenberg, padrões reutilizáveis, tabelas TablePress, plugins, usuários e configurações do site — tudo por meio de 46 ferramentas MCP.
Feito para Claude Code. Também compatível com o Claude Agent SDK e qualquer cliente compatível com MCP.
Como Funciona
┌─────────────┐ JSON-RPC ┌──────────────────┐ HTTP/Auth ┌─────────────────┐
│ Claude / │ ──────────────▶ │ Python MCP │ ──────────────▶ │ WordPress Site │
│ AI Agent │ │ Proxy Server │ │ (MCP Adapter) │
│ │ ◀────────────── │ (server.py) │ ◀────────────── │ (mu-plugin) │
└─────────────┘ MCP Tools └──────────────────┘ JSON-RPC └─────────────────┘
│
sites.json
(multi-site config)
Um único proxy Python gerencia sites WordPress ilimitados. Cada chamada de ferramenta inclui um parâmetro site para direcionar um site específico. A autenticação usa Senhas de Aplicativo do WordPress (integradas no WP 5.6+).
Recursos
| Categoria | Ferramentas | Capacidades |
|---|---|---|
| Posts e Páginas | 9 ferramentas | CRUD, alteração em massa de status, revisões, busca e substituição |
| Categorias e Tags | 8 ferramentas | CRUD com suporte a SEO do Rank Math |
| Mídia | 4 ferramentas | Upload por URL, navegar na biblioteca, atualizar metadados, excluir |
| Comentários | 3 ferramentas | Listar, moderar (aprovar/spam/lixeira), responder, excluir |
| SEO Rank Math | — | Metadados completos de SEO em posts e categorias (título, descrição, palavra-chave de foco, Open Graph, Twitter, schema, robots) |
| Redirecionamentos | 4 ferramentas | CRUD de redirecionamentos do Rank Math (301/302/307/410/451) |
| Blocos Gutenberg | 1 ferramenta | Descobrir todos os tipos de blocos registrados com esquemas de atributos |
| Padrões Sincronizados | 5 ferramentas | Criar, ler, atualizar, excluir blocos reutilizáveis |
| TablePress | 5 ferramentas | CRUD completo de tabelas com opções de exibição e visibilidade |
| Plugins | 2 ferramentas | Listar plugins instalados, ativar/desativar |
| Usuários | 1 ferramenta | Listar usuários com filtro por função |
| Configurações | 3 ferramentas | Ler/escrever opções, limpar caches, obter informações do site |
| Utilitário | 1 ferramenta | Listar todos os sites configurados |
Total: 46 ferramentas cobrindo toda a superfície de gerenciamento do WordPress.
Início Rápido
1. Instale o adaptador WordPress
# Build PHP dependencies locally
cd wordpress/
composer install
# Upload vendor/ and load-mcp-adapter.php to your WordPress server
# See SETUP.md for detailed instructions
2. Configure o proxy
# Copy the example config
cp sites.json.example sites.json
# Edit with your site details
{
"myblog": {
"url": "https://yourdomain.com/wp-json/mcp/mcp-adapter-default-server",
"username": "YourAdmin",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
3. Conecte-se ao Claude
Claude Code — adicione ao ~/.claude.json (ou peça ao seu agente Claude Code para configurá-lo para você):
{
"mcpServers": {
"wordpress": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with", "fastmcp",
"--with", "httpx",
"python",
"/path/to/wordpress-mcp/server.py"
]
}
}
}
Em seguida, instale a skill para documentação das ferramentas:
npx skills add 5unnykum4r/wordpress-mcp
Ou crie um symlink manualmente:
ln -s /path/to/wordpress-mcp/skill/wordpress-mcp ~/.claude/skills/wordpress-mcp
Veja o guia de configuração para instruções detalhadas, solução de problemas e exemplos de uso.
Referência de Ferramentas
Todas as ferramentas exigem site como primeiro parâmetro.
Posts e Páginas (9 ferramentas)
| Ferramenta | Ação |
|---|---|
list_posts | Listar/filtrar posts e páginas |
read_post | Ler conteúdo completo, metadados, SEO |
create_post | Criar com conteúdo, categorias, tags, SEO |
update_post | Atualizar parcialmente qualquer campo |
delete_post | Mover para a lixeira ou excluir permanentemente |
bulk_update_status | Alterar o status de vários posts |
list_revisions | Ver histórico de revisões |
restore_revision | Reverter para uma revisão anterior |
search_replace | Localizar/substituir no conteúdo (com suporte a simulação) |
Categorias e Tags (8 ferramentas)
| Ferramenta | Ação |
|---|---|
list_categories | Listar com dados de SEO do Rank Math |
create_category | Criar com SEO opcional |
update_category | Atualizar nome, slug, pai, SEO |
delete_category | Excluir (posts vão para o padrão) |
list_tags | Listar e pesquisar tags |
create_tag | Criar uma nova tag |
update_tag | Atualizar nome, slug, descrição da tag |
delete_tag | Remover uma tag (posts ficam sem tag) |
Mídia (4 ferramentas)
| Ferramenta | Ação |
|---|---|
upload_image | Baixar de URL e adicionar à biblioteca de mídia |
list_media | Navegar com filtro por tipo MIME |
update_media | Atualizar título, texto alternativo, legenda |
delete_media | Excluir permanentemente |
Comentários (3 ferramentas)
| Ferramenta | Ação |
|---|---|
list_comments | Filtrar por post, status, pesquisa |
update_comment | Aprovar, marcar como spam, mover para lixeira ou responder |
delete_comment | Excluir permanentemente |
Redirecionamentos (4 ferramentas)
| Ferramenta | Ação |
|---|---|
list_redirections | Listar redirecionamentos do Rank Math |
create_redirection | Criar redirecionamento 301/302/307/410/451 |
update_redirection | Modificar origem, destino, tipo |
delete_redirection | Remover uma regra de redirecionamento |
Gutenberg e Padrões (6 ferramentas)
| Ferramenta | Ação |
|---|---|
list_block_types | Descobrir blocos registrados + esquemas |
list_patterns | Listar padrões reutilizáveis/sincronizados |
read_pattern | Ler conteúdo de bloco do padrão |
create_pattern | Criar padrão sincronizado |
update_pattern | Atualizar conteúdo do padrão |
delete_pattern | Excluir um padrão |
TablePress (5 ferramentas)
| Ferramenta | Ação |
|---|---|
list_tablepress_tables | Listar todas as tabelas |
read_tablepress_table | Ler dados, opções, visibilidade |
create_tablepress_table | Criar com array de dados 2D |
update_tablepress_table | Atualizar dados, opções, visibilidade |
delete_tablepress_table | Excluir permanentemente |
Administração (7 ferramentas)
| Ferramenta | Ação |
|---|---|
list_plugins | Listar plugins instalados + status |
toggle_plugin | Ativar ou desativar |
list_users | Listar usuários por função |
manage_options | Ler/escrever configurações do WordPress |
clear_cache | Limpar todos os caches |
get_info | Informações do site, versões, tema |
list_sites | Mostrar sites configurados |
Estrutura do Projeto
wordpress-mcp/
├── README.md ← This file
├── SETUP.md ← Full setup guide + troubleshooting
├── LICENSE ← MIT license
├── server.py ← Python MCP proxy (FastMCP + httpx)
├── sites.json.example ← Site configuration template
├── wordpress/
│ ├── load-mcp-adapter.php ← WordPress MU-plugin (server-side)
│ ├── composer.json ← PHP dependencies
│ └── composer.lock
└── skill/
└── wordpress-mcp/ ← Claude Code skill
├── SKILL.md
└── references/ ← Tool documentation (7 files)
Requisitos
Local (servidor proxy):
- Python 3.10+
- Gerenciador de pacotes uv
- FastMCP e httpx (instalados automaticamente pelo
uv run)
Servidor WordPress:
- WordPress 5.6+ (para Senhas de Aplicativo)
- PHP 7.4+
- Pacotes Composer:
wordpress/abilities-apiewordpress/mcp-adapter
Gerenciamento Multi-Site
Adicione quantos sites WordPress precisar ao sites.json:
{
"blog": {
"url": "https://blog.example.com/wp-json/mcp/mcp-adapter-default-server",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
},
"shop": {
"url": "https://shop.example.com/wp-json/mcp/mcp-adapter-default-server",
"username": "admin",
"password": "yyyy yyyy yyyy yyyy yyyy yyyy"
},
"docs": {
"url": "https://docs.example.com/wp-json/mcp/mcp-adapter-default-server",
"username": "editor",
"password": "zzzz zzzz zzzz zzzz zzzz zzzz"
}
}
Cada site recebe seu próprio alias. Direcione qualquer site com site="blog", site="shop", etc. Não é necessário reiniciar o proxy ao adicionar novos sites.
Contribuindo
Contribuições são bem-vindas. Abra uma issue ou pull request.