MCP WordPress Post Server

Gerencie posts do WordPress e faça upload de imagens diretamente de caminhos de arquivos.

Documentação

MCP WordPress Post Server

Servidor MCP (Model Context Protocol) com recurso de upload de imagens por caminho de arquivo, especializado no gerenciamento de posts do WordPress.

Este projeto é baseado no excelente wordpress-mcp-server de @prathammanocha, com melhorias significativas no processamento de imagens.

✨ Principais recursos

🖼️ Sistema avançado de upload de imagens

  • Método por caminho de arquivo: acesso direto ao sistema de arquivos (sem necessidade de codificação Base64)
  • Suporte a arquivos grandes: processamento sem perda de dados dentro dos limites do WordPress
  • multipart/form-data: uso da API padrão de upload de mídia do WordPress
  • Otimização automática: aproveita os recursos integrados de processamento de imagens do WordPress
  • Imagens responsivas: geração automática de srcset para diferentes tamanhos de tela

📝 Recursos de gerenciamento de posts

  • Criação de posts: suporte a múltiplos anexos de imagem
  • Atualização de posts: edição de posts existentes
  • Listagem de posts: suporte a paginação
  • Obtenção de detalhes do post: exibição do conteúdo completo
  • Fluxo de rascunho/publicação: gerenciamento de status

🔧 Melhorias técnicas

  • Redução de 33% no uso de memória: eliminação da codificação Base64
  • Integridade dos dados: resolução da perda de dados de 95-98% que ocorria com o método Base64
  • Tratamento de erros: verificação de existência de arquivos e validação de upload aprimoradas
  • Logs de depuração: logs detalhados para solução de problemas

🚀 Início rápido

Pré-requisitos

  • Node.js v18 ou superior
  • Site WordPress com REST API habilitada
  • Senha de aplicativo do WordPress

Instalação

  1. Clonar o repositório:
git clone [your-repo-url]
cd mcp-wordpress-post
  1. Instalar dependências:
npm install
  1. Configuração do ambiente:
cp .env.example .env
# .envファイルを編集してWordPressの認証情報を設定
  1. Compilar:
npm run build
  1. Iniciar o servidor:
npm start

📖 Como usar

Configuração do MCP

Adicione ao arquivo de configuração do cliente MCP:

{
  "mcpServers": {
    "wordpress-post": {
      "command": "node",
      "args": ["/path/to/mcp-wordpress-post/build/posts-only.js"]
    }
  }
}

Criar post com imagem

O sistema aprimorado de upload de imagens usa caminhos de arquivo:

// 新しいファイルパス方式(推奨)
{
  "tool": "create-post",
  "title": "画像付きの投稿",
  "content": "この画像をご覧ください: {IMAGE1}",
  "images": [{
    "filePath": "/絶対パス/to/image.png",
    "filename": "カスタム名.png", // 省略可能
    "placeholder": "{IMAGE1}"
  }]
}

Ferramentas disponíveis

create-post

Criação de novo post no WordPress com suporte a anexos de imagem

Parâmetros:

  • siteUrl (string): URL do site WordPress
  • username (string): nome de usuário do WordPress
  • password (string): senha de aplicativo
  • title (string): título do post
  • content (string): conteúdo do post com placeholders de imagem
  • status (enumeração): "draft" | "publish" | "private" (padrão: "draft")
  • images (array, opcional): objetos de imagem com filePath, placeholder e filename opcional

list-posts

Obter posts do WordPress com suporte a paginação

get-post

Obter detalhes de um post específico

update-post

Atualizar um post existente no WordPress

🔄 Migração do método Base64

Ao migrar de um sistema baseado em Base64:

Método antigo (Base64 - não recomendado):

images: [{
  data: "iVBORw0KGgoAAAANSUhEUgAAAAE...", // 大きなBase64文字列
  filename: "image.png",
  placeholder: "{IMAGE1}"
}]

Novo método (caminho de arquivo - atual):

images: [{
  filePath: "/path/to/image.png",              // ファイルシステムパス
  filename: "カスタム名.png",                  // 省略可能なカスタム名
  placeholder: "{IMAGE1}"
}]

🐛 Solução de problemas

Problemas comuns

  1. Erro de arquivo não encontrado:

    • Verifique se o caminho do arquivo é absoluto
    • Verifique as permissões de acesso ao arquivo
  2. Falha no upload de arquivos grandes:

    • Verifique a configuração de upload_max_filesize do WordPress
    • Verifique post_max_size e memory_limit
  3. Imagens não exibidas:

    • Verifique se o formato do placeholder corresponde exatamente
    • Verifique os logs de depuração de /tmp/mcp-debug.log

Modo de depuração

Para habilitar logs detalhados:

npm run debug-mcp

📊 Comparação de desempenho

ItemMétodo Base64Método por caminho de arquivo
Uso de memóriaAlto (+33%)Eficiente
Perda de dados95-98% em arquivos grandes0%
Velocidade de processamentoLentaRápida
Limite de tamanho de arquivo~100KB na práticaAté o limite do WordPress

🤝 Contribuição

Este projeto é construído sobre a base de prathammanocha/wordpress-mcp-server.

Configuração do ambiente de desenvolvimento

  1. Clonar com submódulos:
git clone --recursive [your-repo-url]
  1. Instalar dependências:
npm install
  1. Modo de desenvolvimento:
npm run dev

Testes

Execute os scripts de depuração para testar os recursos:

npm run debug-playwright  # WordPress統合テスト
npm run debug-mcp        # MCPサーバーテスト

📊 Problemas resolvidos

Problemas do método Base64

  • 98% de perda de dados: problema grave de 85KB → 1.5KB
  • Ineficiência de memória: 33% de uso desnecessário de memória
  • Redução de velocidade: sobrecarga dos processos de codificação/decodificação

Vantagens do método por caminho de arquivo

  • Zero perda de dados: 85KB → 50KB (otimização normal)
  • Eficiência de memória: eliminação do processo de codificação Base64
  • Processamento rápido: leitura direta de arquivos
  • Estabilidade: operação estável usando a API padrão do WordPress

📄 Licença

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

🙏 Agradecimentos

🔗 Projetos relacionados


Feito com ❤️ para melhor automação do WordPress