moodle-openapi-server

moodle-openapi-server

3.4

An MCP server that enables LLMs to interact with the Moodle platform to manage courses, students, assignments, and quizzes.

The Moodle MCP Server and API server is a robust solution designed to facilitate seamless interaction between Large Language Models (LLMs) and the Moodle platform. It allows for efficient management of courses, students, assignments, and quizzes through a Model Context Protocol (MCP) server. Additionally, it provides a REST API that adheres to the OpenAPI specification, ensuring compatibility and ease of integration. The server is accessible at localhost:6277/sse and is built using a modern tech stack including Hono for the REST API, Bun for the JavaScript runtime, Docker for containerization, TypeScript for programming, FastMCP for the MCP protocol, Zod for schema validation, TSX for script running, and Vitest for testing. The server requires specific environment variables for operation, including the Moodle base URL, a web service token, and user credentials for authentication. The server is currently single-tenant, meaning it can only connect to one Moodle instance at a time.

Features

  • Seamless integration with Moodle for managing courses, students, assignments, and quizzes.
  • REST API compliant with OpenAPI specification for easy integration.
  • Built with modern technologies like Hono, Bun, Docker, and TypeScript.
  • Single-tenant MCP server for dedicated Moodle instance connection.
  • Environment variable configuration for flexible deployment.

MCP Tools

  • {'fastmcp': 'A tool for implementing the MCP protocol.'}

Usage with Different Platforms

docker

bash
docker run \
  -e MOODLE_BASE_URL=https://your.moodle.url \
  -e USERS=admin:admin,teacher:teacher \
  -p 3000:3000 \
  moodle-openapi-server