MCP remoto: servidor Streamable HTTP como servicio del compose

- mcp/http.js: MCP por HTTP (sin estado). Cada petición lleva la contraseña de aplicación
  del propio usuario (Basic o Bearer); se valida contra WordPress (caché 5 min), exige
  permiso de edición y no se guarda. Límite por IP, /healthz, IP real reenviada a WordPress.
- Herramientas comunes en mcp/src/tools.js (local y remoto); en remoto las fotos van por
  URL o base64 (sin acceso a archivos del servidor).
- Dockerfile del MCP y servicio «mcp» en docker-compose.yml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 11:25:42 +02:00
parent a39f9f170c
commit 68783ca0b7
11 changed files with 493 additions and 216 deletions

View File

@@ -69,6 +69,21 @@ services:
retries: 5
start_period: 60s
# Servidor MCP remoto para el asistente del equipo (ver mcp/README.md).
# En Dokploy: añade un dominio (p. ej. mcp.tudominio) → servicio mcp, puerto 3000.
mcp:
build: ./mcp
image: gure-ametsa-mcp:latest
restart: unless-stopped
depends_on:
- wordpress
expose:
- "3000"
environment:
BILAGUN_URL: http://wordpress
BILAGUN_PUBLIC_URL: ${WP_URL}
RATE_LIMIT: ${MCP_RATE_LIMIT:-120}
db:
image: mariadb:11.4
restart: unless-stopped