Servidor MCP (Model Context Protocol) para conectar diferentes IAs con instancias de Moodle y exponer contexto real de plugins, base de datos, logs, web services, RabbitMQ e infraestructura.
- Catálogo completo de herramientas MCP: docs/tools.md
- Guía de instalación para Gemini CLI: docs/gemini/GEMINI.md
- Guía de instalación para Claude Code: docs/claude/CLAUDE.md
- Guía de instalación para JetBrains (PhpStorm/IntelliJ): docs/jetbrains/JETBRAINS.md
- Node.js 20+
- Acceso a la base de datos MariaDB/MySQL de Moodle
- Acceso al filesystem de Moodle (para análisis de plugins/config)
- RabbitMQ Management API opcional (si usarás herramientas de RabbitMQ)
npm install
npm run buildPuedes añadir una nueva instancia de Moodle interactivamente:
- Windows:
./scripts/add-instance/add-instance.ps1 - Linux/Mac:
bash scripts/add-instance/add-instance.sh
Este script configurará automáticamente el archivo .env.<instancia>, creará el template de microservicios y registrará la instancia en:
- Gemini CLI
- Claude Code
- VS Code / GitHub Copilot (actualiza
.vscode/mcp.json) - Raíz del proyecto (
mcp.json)
- Crea un archivo
.env.<instancia>en la raíz del proyecto (ejemplo:.env.moodle41). - Define al menos estas variables:
MOODLE_NAME="Moodle 4.1"
MOODLE_VERSION="4.1"
MOODLE_ROOT_PATH="/ruta/a/moodle"
MOODLE_URL="http://localhost:8080"
DB_HOST="localhost"
DB_PORT="3306"
DB_NAME="moodle"
DB_USER="root"
DB_PASSWORD="password"
RABBITMQ_HOST="localhost"
RABBITMQ_MANAGEMENT_PORT="15672"
RABBITMQ_USER="guest"
RABBITMQ_PASSWORD="guest"
MICROSERVICES_CONFIG="./data/microservices.moodle41.json"- En VS Code, configura
.vscode/mcp.jsony defineMOODLE_INSTANCEcon el mismo sufijo del.env.<instancia>.
- Desarrollo interactivo:
npm run dev- Producción (MCP por
stdio):
npm run build
node dist/server.js- Configura el servidor MCP en el workspace con
mcp.json. - Puedes usar como base examples/mcp.json.example.
- Define
MOODLE_INSTANCEcon la instancia que quieras usar (moodle41,moodle45, etc.).
- Windows:
./scripts/gemini/setup-gemini.ps1 - Linux/Mac:
bash scripts/gemini/setup-gemini.sh - El script registra automáticamente cada
.env.*encontrado.
- Windows:
./scripts/claude/setup-claude.ps1 - Linux/Mac:
bash scripts/claude/setup-claude.sh - El script registra automáticamente cada
.env.*encontrado.
- Soporte nativo a través de AI Assistant (2024.3+) o plugins como Continue.
- Guía detallada: docs/jetbrains/JETBRAINS.md
- Script de configuración:
- Windows:
./scripts/jetbrains/setup-jetbrains.ps1 - Linux/Mac:
bash scripts/jetbrains/setup-jetbrains.sh
- Windows:
Si agregas tools nuevas o cambias configuración por instancia:
- Reconstruye el servidor:
npm run build - Vuelve a ejecutar el setup del cliente que uses (Gemini/Claude)
- Reinicia la sesión del cliente MCP para recargar tools
moodle_capabilitiesmoodle_statusunderstand_plugindebug_errornew_pluginintegrate_plugins
- Las consultas SQL usan prepared statements.
get_moodle_configenmascaradbpassen la salida.