WordPress Standalone

Integra assistentes de IA com sites WordPress usando a REST API do WordPress.

Documentação

MseeP.ai Security Assessment Badge

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

  1. 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
  2. Crie o arquivo de configuração (wp-sites.json):
    {
      "myblog": {
        "URL": "https://myblog.com",
        "USER": "your_username",
        "PASS": "your_application_password"
      }
    }
    
  3. 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"
          }
        }
      }
    }
    
  4. 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 posts
  • myblog_get_v2_posts_id - Obter um post específico por ID
  • myblog_post_v2_posts - Criar um novo post
  • myblog_put_v2_posts_id - Atualizar um post específico
  • myblog_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 WordPress
  • WP_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

  1. Faça login no painel administrativo do seu WordPress
  2. Vá para Usuários → Perfil
  3. Role até a seção "Senhas de Aplicativo"
  4. Digite um nome para o aplicativo (ex.: "MCP Server")
  5. Clique em "Adicionar Nova Senha de Aplicativo"
  6. 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)
  • include tem precedência sobre exclude
  • 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 posts
      • myblog_get_v2_posts_id - Obter post específico por ID
      • myblog_post_v2_posts - Criar novo post
      • myblog_put_v2_posts_id - Atualizar post específico
      • myblog_delete_v2_posts_id - Excluir post específico
      • myblog_get_v2_media - Listar arquivos de mídia
      • myblog_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.

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Faça suas alterações
  4. Adicione testes se aplicável
  5. Envie um pull request

📄 Licença

Licença MIT - consulte o arquivo LICENSE para detalhes.

🔗 Links

🙏 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