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
- Clonar o repositório:
git clone [your-repo-url]
cd mcp-wordpress-post
- Instalar dependências:
npm install
- Configuração do ambiente:
cp .env.example .env
# .envファイルを編集してWordPressの認証情報を設定
- Compilar:
npm run build
- 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 WordPressusername(string): nome de usuário do WordPresspassword(string): senha de aplicativotitle(string): título do postcontent(string): conteúdo do post com placeholders de imagemstatus(enumeração):"draft"|"publish"|"private"(padrão:"draft")images(array, opcional): objetos de imagem comfilePath,placeholderefilenameopcional
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
-
Erro de arquivo não encontrado:
- Verifique se o caminho do arquivo é absoluto
- Verifique as permissões de acesso ao arquivo
-
Falha no upload de arquivos grandes:
- Verifique a configuração de
upload_max_filesizedo WordPress - Verifique
post_max_sizeememory_limit
- Verifique a configuração de
-
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
| Item | Método Base64 | Método por caminho de arquivo |
|---|---|---|
| Uso de memória | Alto (+33%) | Eficiente |
| Perda de dados | 95-98% em arquivos grandes | 0% |
| Velocidade de processamento | Lenta | Rápida |
| Limite de tamanho de arquivo | ~100KB na prática | Até o limite do WordPress |
🤝 Contribuição
Este projeto é construído sobre a base de prathammanocha/wordpress-mcp-server.
Configuração do ambiente de desenvolvimento
- Clonar com submódulos:
git clone --recursive [your-repo-url]
- Instalar dependências:
npm install
- 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
- @prathammanocha - pelo wordpress-mcp-server original
- Equipe da REST API do WordPress - pela excelente documentação
- Criadores da especificação Model Context Protocol
🔗 Projetos relacionados
- Servidor original: prathammanocha/wordpress-mcp-server
- MCP SDK: @modelcontextprotocol/sdk
Feito com ❤️ para melhor automação do WordPress