EduBase MCP Server for LLM Integration
Deploy the EduBase MCP server to connect LLMs and MCP clients with your EduBase account via stdio, SSE, and streamable HTTP.
npx -y @EduBase/MCPOverview
The EduBase MCP Server implements the Model Context Protocol (MCP) for the EduBase platform. It acts as a bridge between MCP-capable clients or LLM processes and your EduBase account, exposing EduBase API endpoints to models over stdio, Server-Sent Events (SSE) or streamable HTTP transports. This makes it possible for LLMs and external tools (for example, Claude Desktop or other MCP clients) to perform actions in EduBase on behalf of an integration app.
Use cases include programmatic creation and upload of quiz items, converting course content into assessments, scheduling exams, and fetching analytics — all initiated by an LLM or MCP client. The server supports both local/stdio workflows (LLM processes running on the same machine) and remote operation (hosted server accessed over HTTPS), and it can authenticate requests using EduBase integration credentials or a client-provided Bearer token.
Features
- Implements the Model Context Protocol (MCP) for EduBase
- Multiple transport modes: stdio, SSE (Server-Sent Events), and streamable HTTP
- Exposes every documented EduBase API endpoint as a named MCP tool
- Supports two authentication modes: server-side integration credentials and client Bearer-token authorization
- Simple environment-variable configuration
- Suitable for local development and hosted remote MCP server setups
Installation / Configuration
Prerequisites
- Node.js / a packaged server binary, or a container runtime if you prefer to run in Docker
- An EduBase integration app (App ID and Secret) — create one in your EduBase Dashboard under Integrations
Environment variables Set configuration using environment variables. Important variables:
| Variable | Description | Required | Default |
|---|---|---|---|
| EDUBASE_API_URL | Base URL of the EduBase API (e.g. https://subdomain.edubase.net/api) | Yes | https://www.edubase.net/api |
| EDUBASE_API_APP | Integration App ID (app) — not required when using HTTP auth with bearer tokens | Conditional | - |
| EDUBASE_API_KEY | Integration App Secret (secret) — not required when using HTTP auth with bearer tokens | Conditional | - |
| EDUBASE_SSE_MODE | Start HTTP server in SSE transport mode (true/false) | No | false |
| EDUBASE_STREAMABLE_HTTP_MODE | Start HTTP server in streamable HTTP mode (true/false) | No | false |
| EDUBASE_HTTP_PORT | Port for the HTTP server when SSE/streamable HTTP is enabled | No | 3000 |
Quick start (example) Run the MCP server with integration credentials (stdio mode by default):
# Start the server process (replace with how this repo launches the server in your environment)
Start in SSE (HTTP) mode on port 443 (example):
# Also ensure EDUBASE_API_APP / EDUBASE_API_KEY or HTTP bearer auth is configured
Start in streamable HTTP mode:
Creating a client Bearer token To protect a remote server, create a base64 Bearer token from your integration app credentials. The server expects clients to send this token in the Authorization header.
# on a secure machine
|
# Use the output as: Authorization: Bearer <base64-token>
When running the server in production, prefer bearer-token authentication so clients must present a valid token to use the MCP service.
Available Tools / Resources
- Tool naming convention: each documented EduBase API endpoint is exposed as a tool named edubase_
_ . Example: - GET /user:me -> edubase_get_user_me
- POST /questions -> edubase_post_questions
- Developer docs: https://developer.edubase.net (detailed API descriptions and examples)
- GitHub repository: https://github.com/EduBase/MCP
- Support and activation: request access or support at [email protected]
Use Cases (concrete examples)
Collaborative question authoring (LLM-assisted)
- A remote MCP client (e.g., Claude Desktop configured to use a remote MCP server) requests the edubase_post_questions tool to upload generated quiz questions. The MCP server performs the authenticated POST to /questions on behalf of the model.
Automated content conversion
- Run an LLM as a local process connected to the MCP server via stdio. The model reads a course document, creates parametrized question variants, and calls edubase_post_questions repeatedly to populate a bank with automatic grading metadata.
Exam scheduling and roster changes
- An integrated assistant can call edubase_post_exams and edubase_patch_exam_roster tools to programmatically schedule exams and assign students, using an integration app authorized to perform those operations.
Example: establish an SSE connection with curl (client side)
Example: streamable HTTP client with chunked responses
Security & Best Practices
- Always expose the MCP server over HTTPS when accessed remotely.
- Prefer Bearer token authentication for remote/public servers; never hard-code app secrets in client-side code.
- Limit token scope and rotate credentials periodically.
- Run the