WordPress Standalone
Integra assistentes de IA com sites WordPress usando a REST API do WordPress.
Documentação
Servidor MCP WordPress Standalone
Um poderoso servidor Model Context Protocol (MCP) que fornece integração perfeita entre assistentes de IA e sites WordPress através da REST API do WordPress. Este servidor descobre e cria automaticamente ferramentas individuais para cada endpoint da REST API do WordPress, permitindo gerenciamento de WordPress em linguagem natural.
✨ Recursos
- 🔄 Geração Dinâmica de Ferramentas: Cria automaticamente ferramentas individuais para cada endpoint da REST API do WordPress descoberto
- 🌐 Suporte Multi-Site: Gerencie múltiplos sites WordPress simultaneamente a partir de uma única configuração
- 🔒 Autenticação Segura: Usa Senhas de Aplicativo do WordPress para acesso seguro à API
- 🎯 Filtragem Inteligente de Ferramentas: Inclua/exclua ferramentas específicas usando correspondência exata ou padrões regex
- 📊 Cobertura Abrangente: Suporte para posts, páginas, usuários, mídia, comentários, plugins, temas e muito mais
- 🚀 Descoberta com Zero Configuração: Mapeia automaticamente todos os endpoints disponíveis sem configuração manual
- ⚡ Alto Desempenho: Descoberta de endpoints e tratamento de requisições eficientes
- 🛡️ Tratamento de Erros: Tratamento de erros gracioso com mensagens de diagnóstico detalhadas
🚀 Início Rápido
Instalação
# Install globally
npm install -g wp-standalone-mcp
# Or run directly with npx
npx github:diazoxide/wp-standalone-mcp start
Configuração Básica
- Crie uma Senha de Aplicativo do WordPress:
- Vá para o admin do WordPress → Usuários → Perfil
- Role até a seção "Senhas de Aplicativo"
- Crie uma nova senha de aplicativo
- Copie a senha gerada
- Vá para o admin do WordPress → Usuários → Perfil
- Crie o arquivo de configuração (
wp-sites.json):{ "myblog": { "URL": "https://myblog.com", "USER": "your_username", "PASS": "your_application_password" } } - Configure o Claude Desktop (
claude_desktop_config.json):{ "mcpServers": { "wordpress": { "command": "npx", "args": ["-y", "github:diazoxide/wp-standalone-mcp", "start"], "env": { "WP_SITES_PATH": "/absolute/path/to/wp-sites.json" } } } } - Reinicie o Claude Desktop e comece a gerenciar seus sites WordPress!
Referência de Ferramentas
Ferramentas Dinâmicas de Endpoint
Quando o servidor inicia, ele descobre automaticamente todos os endpoints disponíveis da REST API do WordPress e cria ferramentas individuais para cada combinação endpoint/método. Os nomes das ferramentas seguem o padrão: [site]_[method]_[resource] ou [site]_[method]_[resource]_id para endpoints específicos de ID.
Exemplos:
myblog_get_v2_posts- Listar todos os postsmyblog_get_v2_posts_id- Obter um post específico por IDmyblog_post_v2_posts- Criar um novo postmyblog_put_v2_posts_id- Atualizar um post específicomyblog_delete_v2_posts_id- Excluir um post específico
wp_discover_endpoints
Redescobre todos os endpoints disponíveis da REST API em um site WordPress.
Argumentos:
{
"site": {
"type": "string",
"description": "Site alias (as defined in configuration)",
"required": true
}
}
Retorna: Lista de endpoints disponíveis com seus métodos e namespaces.
🔧 Configuração
Variáveis de Ambiente
WP_SITES_PATH: Caminho para o arquivo de configuração dos seus sites WordPressWP_SITES: Configuração JSON direta (alternativa ao arquivo)
Esquema de Configuração do Site
{
"site_alias": {
"URL": "https://your-site.com",
"USER": "wordpress_username",
"PASS": "application_password",
"FILTERS": {
"include": ["tool_name_patterns"],
"exclude": ["tool_name_patterns"]
}
}
}
Obtendo uma Senha de Aplicativo
- Faça login no painel administrativo do seu WordPress
- Vá para Usuários → Perfil
- Role até a seção "Senhas de Aplicativo"
- Digite um nome para o aplicativo (ex.: "MCP Server")
- Clique em "Adicionar Nova Senha de Aplicativo"
- Copie a senha gerada (você não poderá vê-la novamente)
Nota: Senhas de Aplicativo requerem WordPress 5.6 ou posterior e HTTPS.
Filtragem Avançada de Ferramentas
Controle quais operações do WordPress estão disponíveis filtrando ferramentas:
{
"myblog": {
"URL": "https://myblog.com",
"USER": "admin",
"PASS": "abcd 1234 efgh 5678",
"FILTERS": {
"include": [
"myblog_get_v2_posts",
"myblog_post_v2_posts",
"/.*_get_.*_posts.*/"
],
"exclude": [
"myblog_delete_v2_posts_id",
"/.*_.*_users.*/",
"/.*_delete_.*/"
]
}
}
}
Regras de Filtro:
include: Apenas as ferramentas especificadas são expostas (lista de permissões)exclude: As ferramentas especificadas são ocultadas (lista de bloqueio)includetem precedência sobreexclude- Suporta correspondências exatas e padrões regex (envolva em
/pattern/)
🛠️ Ferramentas Geradas
O servidor cria automaticamente ferramentas seguindo esta convenção de nomenclatura:
- Padrão:
[site]_[method]_[resource]ou[site]_[method]_[resource]_id - Exemplos:
myblog_get_v2_posts- Listar todos os postsmyblog_get_v2_posts_id- Obter post específico por IDmyblog_post_v2_posts- Criar novo postmyblog_put_v2_posts_id- Atualizar post específicomyblog_delete_v2_posts_id- Excluir post específicomyblog_get_v2_media- Listar arquivos de mídiamyblog_get_v2_users- Listar usuários
Ferramenta de Descoberta
wp_discover_endpoints- Redescobrir endpoints disponíveis para um site
💡 Exemplos de Uso
Uma vez configurado, interaja com seus sites WordPress usando linguagem natural:
Listar e Consultar Posts
Can you show me all posts from myblog published in the last month?
Find all posts on testsite tagged with "technology" and "AI"
Show me draft posts from myblog that need review
Criar e Editar Conteúdo
Create a new draft post on testsite titled "The Future of AI" with these key points: [points]
Update the featured image on myblog's latest post about machine learning
Add a new category called "Tech News" to myblog
Gerenciar Comentários
Show me all pending comments on myblog's latest post
Find comments from testsite that might be spam
List the most engaged commenters on myblog
Gerenciamento de Plugins
What plugins are currently active on myblog?
Check if any plugins on testsite need updates
Tell me about the security plugins installed on myblog
Gerenciamento de Conteúdo
"Show me the last 5 posts from myblog"
"Create a new draft post titled 'AI and the Future' on myblog"
"Update the featured image for post ID 123 on myblog"
"Delete the post with ID 456 from myblog"
Gerenciamento de Mídia
"List all images uploaded this month to myblog"
"Upload a new image to myblog media library"
"Get details for media file ID 789"
Gerenciamento de Usuários
"Show all users with editor role on myblog"
"Create a new contributor account on myblog"
"Update user permissions for user ID 101"
Análise do Site
"What plugins are active on myblog?"
"Show me all pending comments"
"Get the current theme information"
"List all categories and their post counts"
🏗️ Arquitetura
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude AI │ │ MCP Server │ │ WordPress API │
│ │◄──►│ │◄──►│ │
│ Natural Language│ │ Dynamic Tools │ │ REST Endpoints │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Configuration │
│ wp-sites.json │
└──────────────────┘
🔒 Segurança
- Senhas de Aplicativo: Usa o sistema seguro de senhas de aplicativo do WordPress
- HTTPS Obrigatório: Todas as conexões devem usar HTTPS
- Segurança da Configuração: Mantenha os arquivos de configuração fora de diretórios acessíveis pela web
- Princípio do Menor Privilégio: Use contas com as permissões mínimas necessárias
- Sem Armazenamento de Credenciais: As credenciais são usadas apenas para autenticação na API
🐛 Solução de Problemas
Problemas Comuns
Erro "Site não configurado"
- Verifique se o alias do site na configuração corresponde ao uso
- Verifique o caminho e o formato do arquivo de configuração
Erro "Falha na autenticação"
- Verifique se a senha do aplicativo está correta
- Garanta que a conta de usuário tenha as permissões necessárias
- Verifique se a URL do site está acessível
Erro "Nenhuma ferramenta descoberta"
- Verifique se o site WordPress tem a REST API habilitada
- Verifique se a URL do site inclui acessibilidade
/wp-json - Revise plugins de segurança que possam estar bloqueando a REST API
Modo de Depuração
Defina a variável de ambiente DEBUG=wp-mcp para registro detalhado:
DEBUG=wp-mcp npx github:diazoxide/wp-standalone-mcp start
📋 Requisitos
- WordPress: 5.6+ (para Senhas de Aplicativo)
- Node.js: 16+
- HTTPS: Obrigatório para Senhas de Aplicativo
- REST API: Deve estar habilitada (padrão no WordPress)
🤝 Contribuindo
Aceitamos contribuições! Consulte nosso Guia de Contribuição para detalhes.
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça suas alterações
- Adicione testes se aplicável
- Envie um pull request
📄 Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
🔗 Links
- Repositório: https://github.com/diazoxide/wp-standalone-mcp
- Issues: https://github.com/diazoxide/wp-standalone-mcp/issues
- REST API do WordPress: https://developer.wordpress.org/rest-api/
- Model Context Protocol: https://modelcontextprotocol.io/
🙏 Agradecimentos
- Equipe da REST API do WordPress pela API abrangente
- Anthropic pela especificação do Model Context Protocol
- A comunidade de código aberto pelo suporte e feedback contínuos
Feito com ❤️ para a comunidade WordPress e IA