Skip to main content
Glama

Servidor MCP de Moodle

Un servidor de Model Context Protocol (MCP) + API REST que conecta Claude, ChatGPT, Google Gemini y cualquier modelo de IA a cualquier instancia de Moodle LMS. Construido en Go.

Los estudiantes pueden interactuar con su cuenta de Moodle a través de su IA favorita: ver cursos, consultar calificaciones, realizar un seguimiento de las fechas límite, enviar tareas y leer notificaciones.

Funciona con:

  • Claude (Escritorio, Código) - vía MCP (¡lo más fácil!)

  • ChatGPT (Plus) - vía API REST + Acciones

  • Google Gemini - vía API REST + Apps Script

  • Cualquier IA - vía API REST (endpoints HTTP)

Características

Herramienta

Descripción

login

Autentícate en tu sitio Moodle de forma interactiva

get_site_info

Ver información del sitio Moodle y del usuario

get_user_profile

Ver los detalles de tu perfil

list_courses

Listar todos los cursos inscritos

get_course_contents

Ver secciones, recursos y actividades

get_course_details

Ver metadatos del curso

get_grades

Ver calificaciones de un curso específico

get_grades_overview

Ver resumen de calificaciones de todos los cursos

get_assignments

Ver tareas de un curso

get_upcoming_assignments

Ver próximas tareas de todos los cursos

submit_assignment

Enviar contenido de texto para una tarea

get_calendar_events

Ver próximos eventos del calendario

get_upcoming_deadlines

Ver fechas límite consolidadas ordenadas por urgencia

get_notifications

Ver mensajes y notificaciones

Requisitos

  • Claude Desktop (macOS, Windows o Linux)

  • Una cuenta de Moodle en cualquier institución

Inicio rápido

Elige tu plataforma de IA:

Tu IA

Guía

Tiempo

🤖 Claude (Recomendado)

Windows / macOS

2 min

💬 ChatGPT

Configuración de ChatGPT

15 min

🔍 Google Gemini

Configuración de Gemini / Gemini Windows

20 min

🌐 Múltiples IAs

Guía de todos los modelos

1 hora

Empieza aquí: Si usas Claude, sigue la guía de Windows/macOS anterior (¡2 minutos!)

¿No eres programador? Todas las guías tienen instrucciones paso a paso sin necesidad de conocimientos técnicos.


Instalación (La más fácil)

Para Windows (PowerShell)

Abre PowerShell y ejecuta:

irm https://raw.githubusercontent.com/Jawadh-Salih/moodle-mcp-server/main/install.ps1 | iex

Esto descargará e instalará automáticamente el binario en C:\Users\TuNombre\moodle-mcp\moodle-mcp.exe

Para macOS / Linux (Bash)

Abre la Terminal y ejecuta:

curl -fsSL https://raw.githubusercontent.com/Jawadh-Salih/moodle-mcp-server/main/install.sh | bash

Esto descargará e instalará automáticamente el binario en ~/.moodle-mcp/moodle-mcp

Instalación manual (Para desarrolladores)

Si quieres compilar desde el código fuente:

# Clone the repository
git clone https://github.com/Jawadh-Salih/moodle-mcp-server.git
cd moodle-mcp-server

# Build the binary
go mod tidy
go build -o moodle-mcp ./cmd/moodle-mcp/

Uso

Opción 1: Inicio de sesión interactivo (Recomendado)

Simplemente inicia el servidor sin configuración. Cuando chatees con Claude, usa la herramienta login para autenticarte:

"Inicia sesión en mi Moodle en https://online.uom.lk con el usuario student@uom.lk"

Claude te pedirá tu contraseña y te autenticará.

Opción 2: Variables de entorno

Establece las credenciales como variables de entorno para el inicio de sesión automático:

export MOODLE_URL=https://online.uom.lk
export MOODLE_USERNAME=your-username
export MOODLE_PASSWORD=your-password

O si tienes un token de API de Moodle:

export MOODLE_URL=https://online.uom.lk
export MOODLE_TOKEN=your-api-token

Configuración de Claude Desktop

Si usaste el instalador automático:

El instalador te mostrará la ruta exacta. ¡Solo cópiala!

Configuración manual

Busca tu archivo de configuración de Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

Opción A: Inicio de sesión interactivo (Recomendado - sin credenciales en la configuración)

{
  "mcpServers": {
    "moodle": {
      "command": "/path/to/moodle-mcp"
    }
  }
}

Luego, en Claude, usa la herramienta login para autenticarte de forma interactiva.

Opción B: Con credenciales almacenadas

{
  "mcpServers": {
    "moodle": {
      "command": "/path/to/moodle-mcp",
      "env": {
        "MOODLE_URL": "https://online.uom.lk",
        "MOODLE_USERNAME": "your-username",
        "MOODLE_PASSWORD": "your-password"
      }
    }
  }
}

Rutas de ejemplo en Windows:

  • Instalador automático: C:\Users\TuNombre\moodle-mcp\moodle-mcp.exe

  • Compilación manual: C:\Users\TuNombre\Go\bin\moodle-mcp.exe

Rutas de ejemplo en macOS:

  • Instalador automático: /Users/tunombre/.moodle-mcp/moodle-mcp

  • Compilación manual: /Users/tunombre/moodle-mcp-server/moodle-mcp

Soporta múltiples plataformas de IA

Vía MCP (Solo Claude)

  • ✅ Claude Desktop (macOS, Windows, Linux)

  • ✅ Claude Code (VSCode, terminal)

Vía API REST (ChatGPT, Gemini, cualquier IA)

  • ✅ ChatGPT (con acciones personalizadas de GPT)

  • ✅ Google Gemini (con Apps Script)

  • ✅ Cualquier IA con acceso a cliente HTTP

  • ✅ Scripts e integraciones personalizadas

Consulta la Guía de todos los modelos para obtener instrucciones detalladas para cada plataforma.

Ejecución del servidor API REST

Para ChatGPT, Gemini u otros modelos de IA, ejecuta el modo API REST:

# Start REST API server
go run ./cmd/moodle-mcp/ -mode rest -port 8080

# Or if you built the binary:
./moodle-mcp -mode rest -port 8080

# View API docs
curl http://localhost:8080/api/docs

El servidor escucha en http://localhost:8080 y expone endpoints REST:

  • POST /api/login - Autenticar

  • GET /api/courses - Listar cursos

  • GET /api/grades?course_id=123 - Obtener calificaciones

  • GET /api/assignments/upcoming - Próximas tareas

  • ¡Y más!

Para producción (ChatGPT/Gemini), despliega en la nube:


Ejemplos de conversaciones

Una vez conectado, puedes preguntarle a Claude cosas como:

  • "Muéstrame mis cursos inscritos"

  • "¿Cuáles son mis calificaciones en CS101?"

  • "¿Qué tareas vencen esta semana?"

  • "Muéstrame el contenido de mi curso de Estructuras de Datos"

  • "¿Tengo alguna notificación sin leer?"

  • "¿Qué fechas límite se acercan en los próximos 7 días?"

Cómo funciona

Este servidor utiliza la API REST de servicios web de Moodle con el token de servicio moodle_mobile_app. Este servicio está habilitado por defecto en la mayoría de las instalaciones de Moodle, por lo que no se requiere configuración de administrador.

Solución de problemas

Error "Invalid login" (Inicio de sesión no válido): Verifica tu nombre de usuario y contraseña. Algunas instituciones usan el correo electrónico como nombre de usuario, otras usan un ID separado.

Error "Web service not available" (Servicio web no disponible): Es posible que tu administrador de Moodle haya desactivado el servicio web móvil. Pídeles que lo habiliten en Administración del sitio > Extensiones > Servicios web > Móvil.

Las calificaciones no aparecen: La API de informes de calificaciones requiere la capacidad gradereport/user:view, que es estándar para los estudiantes pero puede estar restringida en algunos sitios.

Licencia

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jawadh-Salih/moodle-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server