MCP WordPress Server
Um servidor para integração com a API REST do WordPress.
Documentação
MCP WordPress Server
Um servidor abrangente de Model Context Protocol (MCP) para gerenciamento do WordPress através da WordPress REST API v2. Totalmente escrito em TypeScript para máxima segurança de tipos e melhor experiência de desenvolvimento.
🚀 Recursos
- 54 Ferramentas de Gerenciamento do WordPress em 8 categorias
- 100% TypeScript - Segurança de tipos completa e IntelliSense
- Módulos ES modernos - Otimizado para desempenho
- Assistente de Configuração Interativo - Configuração fácil
- Testes Abrangentes - Suíte de testes completa
- Autenticação Flexível - Suporta App Passwords, JWT, Basic Auth
- Debug e Monitoramento - Logging estruturado e rastreamento de erros
⚡ Início Rápido
Opção 1: NPX (Recomendado)
A maneira mais fácil de começar - sem necessidade de instalação:
# Run directly with NPX
npx @aiondadotcom/mcp-wordpress
# Or install globally
npm install -g @aiondadotcom/mcp-wordpress
mcp-wordpress
Opção 2: Desenvolvimento Local
git clone https://github.com/AiondaDotCom/mcp-wordpress.git
cd mcp-wordpress
npm install
npm run setup
npm start
Assistente de Configuração
# For NPX users
npx @aiondadotcom/mcp-wordpress setup
# For local installation
npm run setup
O assistente de configuração orienta você em:
- Configuração do site WordPress
- Seleção do método de autenticação
- Teste de conexão
- Configuração do Claude Desktop
🚀 Configuração Rápida via Claude Desktop
Configuração NPX Super Fácil
Se você quiser a configuração mais fácil possível, basta colar este prompt no Claude Desktop:
Set up the MCP WordPress server using NPX for my Claude Desktop.
My WordPress details:
- Site URL: [YOUR_WORDPRESS_URL]
- Username: [YOUR_USERNAME]
Please:
1. Help me create a WordPress Application Password
2. Configure my Claude Desktop mcp.json file with the NPX command
3. Test the connection to make sure everything works
4. Show me how to use the WordPress tools
I want to use the NPX version (@aiondadotcom/mcp-wordpress) so I don't need to install anything locally.
Configuração Completa de Desenvolvimento Local
Para desenvolvimento local e personalização:
Build and configure the MCP WordPress server project from https://github.com/AiondaDotCom/mcp-wordpress locally on my computer.
Please:
1. Clone the repository to an appropriate directory
2. Install all dependencies
3. Run the setup wizard and help me configure my WordPress connection
4. Test the connection to make sure everything works
5. Set up the Claude Desktop MCP configuration
6. Run a quick test to verify all tools are working
My WordPress site URL is: [YOUR_WORDPRESS_URL]
My WordPress username is: [YOUR_USERNAME]
Guide me through any steps that require manual input, and let me know if you need any additional information from me.
Basta substituir [YOUR_WORDPRESS_URL] e [YOUR_USERNAME] pelos detalhes reais do seu site WordPress, e o Claude cuidará do resto!
🔧 Configuração
Variáveis de Ambiente (.env)
WORDPRESS_SITE_URL=https://your-wordpress-site.com
WORDPRESS_USERNAME=your-username
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
WORDPRESS_AUTH_METHOD=app-password
DEBUG=false
Integração com Claude Desktop
Configure o MCP WordPress Server no arquivo de configuração mcp.json do seu Claude Desktop:
Opção 1: NPX (Recomendado)
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["@aiondadotcom/mcp-wordpress"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}
Opção 2: Instalação Global
{
"mcpServers": {
"mcp-wordpress": {
"command": "mcp-wordpress",
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}
Opção 3: Desenvolvimento Local
{
"mcpServers": {
"mcp-wordpress": {
"command": "node",
"args": ["/path/to/mcp-wordpress/dist/index.js"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}
Usando Arquivo .env (Qualquer Opção)
Se você preferir usar um arquivo .env em vez de variáveis de ambiente na configuração:
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["@aiondadotcom/mcp-wordpress"],
"env": {
"NODE_ENV": "production"
}
}
}
}
Locais do Arquivo de Configuração do Claude Desktop
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Etapas Rápidas de Configuração
- Crie ou localize seu arquivo de configuração do Claude Desktop no caminho acima
- Adicione a configuração do servidor MCP usando uma das opções acima
- Reinicie o Claude Desktop para que as alterações tenham efeito
- Verifique a conexão - você deve ver as ferramentas do WordPress disponíveis no Claude Desktop
Exemplo de Configuração Completa
Aqui está um arquivo claude_desktop_config.json completo com MCP WordPress:
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["@aiondadotcom/mcp-wordpress"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}
🛠 Sistema de Build
Compilação TypeScript
# Compile
npm run build
# Watch mode
npm run build:watch
# Type checking
npm run typecheck
Desenvolvimento
# Development mode with debug output
npm run dev
# Check status
npm run status
# Re-run setup
npm run setup
🔐 Autenticação
App Passwords do WordPress (Recomendado)
- Admin do WordPress → Usuários → Perfil
- Role até App Passwords
- Digite um nome (ex.: "MCP WordPress Server")
- Clique em Adicionar novo App Password
- Copie a senha gerada (formato:
xxxx xxxx xxxx xxxx xxxx xxxx)
Métodos de Autenticação Alternativos
# JWT Authentication (requires JWT plugin)
WORDPRESS_AUTH_METHOD=jwt
WORDPRESS_JWT_SECRET=your-jwt-secret
# Basic Authentication (not recommended for production)
WORDPRESS_AUTH_METHOD=basic
WORDPRESS_PASSWORD=your-actual-password
# API Key Authentication (requires API Key plugin)
WORDPRESS_AUTH_METHOD=api-key
WORDPRESS_API_KEY=your-api-key
📋 Ferramentas Disponíveis (54 Ferramentas)
📝 Posts (6 Ferramentas)
wp_list_posts- Listar e filtrar posts do blogwp_get_post- Obter post específicowp_create_post- Criar novos postswp_update_post- Editar postswp_delete_post- Excluir postswp_get_post_revisions- Obter revisões de posts
📄 Páginas (6 Ferramentas)
wp_list_pages- Listar páginaswp_get_page- Obter página específicawp_create_page- Criar novas páginaswp_update_page- Editar páginaswp_delete_page- Excluir páginaswp_get_page_revisions- Obter revisões de páginas
🖼️ Mídia (6 Ferramentas)
wp_list_media- Navegar pela biblioteca de mídiawp_get_media- Obter detalhes da mídiawp_upload_media- Enviar arquivoswp_update_media- Editar metadados da mídiawp_delete_media- Excluir mídiawp_get_media_sizes- Obter tamanhos de imagem disponíveis
👥 Usuários (6 Ferramentas)
wp_list_users- Listar usuárioswp_get_user- Obter detalhes do usuáriowp_create_user- Criar novos usuárioswp_update_user- Editar perfis de usuáriowp_delete_user- Excluir usuárioswp_get_current_user- Obter usuário atual
💬 Comentários (7 Ferramentas)
wp_list_comments- Listar comentárioswp_get_comment- Obter detalhes do comentáriowp_create_comment- Criar novos comentárioswp_update_comment- Editar comentárioswp_delete_comment- Excluir comentárioswp_approve_comment- Aprovar comentárioswp_spam_comment- Marcar comentários como spam
🏷️ Taxonomias (10 Ferramentas)
wp_list_categories- Listar categoriaswp_get_category- Obter detalhes da categoriawp_create_category- Criar novas categoriaswp_update_category- Editar categoriaswp_delete_category- Excluir categoriaswp_list_tags- Listar tagswp_get_tag- Obter detalhes da tagwp_create_tag- Criar novas tagswp_update_tag- Editar tagswp_delete_tag- Excluir tags
⚙️ Gerenciamento do Site (7 Ferramentas)
wp_get_site_settings- Obter configurações do sitewp_update_site_settings- Atualizar configurações do sitewp_get_site_stats- Obter estatísticas do sitewp_search_site- Busca em todo o sitewp_get_application_passwords- Listar app passwordswp_create_application_password- Criar novos app passwordswp_delete_application_password- Excluir app passwords
🔐 Autenticação (6 Ferramentas)
wp_test_auth- Testar autenticaçãowp_get_auth_status- Obter status da autenticaçãowp_start_oauth_flow- Iniciar fluxo OAuthwp_complete_oauth_flow- Concluir fluxo OAuthwp_refresh_oauth_token- Atualizar token OAuthwp_switch_auth_method- Alternar método de autenticação
🧪 Testes
# Run all tests
npm test
# Tests with coverage
npm run test:coverage
# Quick tests
npm run test:fast
# MCP integration tests
npm run test:mcp
# Tool integration tests
npm run test:tools
# Tests in watch mode
npm run test:watch
📊 Status e Monitoramento
# Check connection status
npm run status
# Debug mode
DEBUG=true npm run dev
# Lint code
npm run lint
# Auto-fix linting errors
npm run lint:fix
🏗 Estrutura do Projeto
mcp-wordpress/
├── src/ # TypeScript source code
│ ├── index.ts # Main MCP server
│ ├── server.ts # Server compatibility
│ ├── types/ # TypeScript definitions
│ │ ├── wordpress.ts # WordPress API types
│ │ ├── mcp.ts # MCP protocol types
│ │ ├── client.ts # Client interface types
│ │ └── index.ts # Type exports
│ ├── client/ # WordPress API client
│ │ ├── api.ts # HTTP client
│ │ └── auth.ts # Authentication
│ ├── tools/ # MCP tool implementations
│ │ ├── posts.ts # Post management
│ │ ├── pages.ts # Page management
│ │ ├── media.ts # Media management
│ │ ├── users.ts # User management
│ │ ├── comments.ts # Comment management
│ │ ├── taxonomies.ts # Categories/Tags
│ │ ├── site.ts # Site settings
│ │ └── auth.ts # Authentication
│ └── utils/ # Utility functions
│ └── debug.ts # Debug logger
├── dist/ # Compiled JavaScript files
├── bin/ # Utility scripts
│ ├── setup.js # Setup wizard
│ └── status.js # Status checker
├── tests/ # Test suite
├── scripts/ # Build and test scripts
├── tsconfig.json # TypeScript configuration
├── jest.config.json # Jest test configuration
└── package.json # Node.js project configuration
💡 Recursos do TypeScript
- Segurança de tipos completa - Validação em tempo de compilação
- Suporte a IntelliSense - Melhor integração com IDE
- Cliente de API type-safe - Métodos HTTP tipados
- Tipos abrangentes do WordPress - Mais de 400 linhas de definições precisas
- Tipos do protocolo MCP - Definições e manipuladores de ferramentas
- Tratamento de erros aprimorado - Exceções tipadas
- Source Maps - Suporte a depuração
🔧 Requisitos do WordPress
- WordPress 5.0+ com REST API habilitada
- HTTPS (recomendado para produção)
- Usuário com permissões adequadas
- App Passwords habilitados (WordPress 5.6+)
Funções de Usuário do WordPress
| Função | Acesso |
|---|---|
| Administrador | Acesso total a todas as funções |
| Editor | Posts, páginas, comentários, mídia |
| Autor | Próprios posts e mídia |
| Colaborador | Próprios posts (somente rascunhos) |
| Assinante | Somente leitura |
🐛 Solução de Problemas
Problemas Comuns
-
"Não é possível conectar ao WordPress"
- Verifique WORDPRESS_SITE_URL
- Garanta que a REST API esteja acessível
- Teste:
curl https://your-site.com/wp-json/wp/v2/
-
"Falha na autenticação"
- Verifique o nome de usuário e o app password
- Garanta que os App Passwords estejam habilitados
- Tente executar
npm run setupnovamente
-
"Erros de compilação TypeScript"
- Execute
npm run typecheck - Garanta que todas as dependências estejam instaladas
- Execute
Logs de Depuração
DEBUG=true npm run dev
📚 Documentação da API
🤝 Contribuição
- Faça um fork do repositório
- Crie um branch de recurso:
git checkout -b feature/new-feature - Faça commit das alterações:
git commit -m 'Add new feature' - Envie o branch:
git push origin feature/new-feature - Crie um pull request
📄 Licença
Licença MIT - consulte o arquivo LICENSE para obter detalhes
🚀 Desenvolvido com TypeScript para melhor experiência de desenvolvimento e segurança de tipos!