Skip to main content
Glama

EduBase MCP Server

Official
by EduBase
integrations.ts6.53 kB
import { Tool } from "@modelcontextprotocol/sdk/types.js"; /* Tool definitions */ export const EDUBASE_API_TOOLS_INTEGRATIONS: Tool[] = [ // GET /integrations - List owned and managed integrations { name: 'edubase_get_integrations', description: "List owned and managed integrations.", inputSchema: { type: 'object', properties: { search: { type: 'string', description: 'search string to filter results', }, limit: { type: 'number', description: 'limit number of results (default: 16)', }, page: { type: 'number', description: 'page number (default: 1), not used in search mode!', }, }, required: [], }, }, // GET /integration - Get/check integration { name: 'edubase_get_integration', description: "Get/check integration.", inputSchema: { type: 'object', properties: { integration: { type: 'string', description: 'integration identification string', }, }, required: ['integration'], }, }, // POST /integration - Create a new API or LMS integration { name: 'edubase_post_integration', description: "Create a new API or LMS integration.", inputSchema: { type: 'object', properties: { title: { type: 'string', description: 'title of the integration', }, description: { type: 'string', description: 'optional short description', }, type: { type: 'string', description: 'type of the integration (api / moodle / canvas / d2l / schoology / lms)', }, lti: { type: 'string', description: 'LTI version (1.0/1.1 / 1.3), only necessary for LMS integrations!', }, platform: { type: 'string', description: 'LMS platform URL, only necessary for LMS integrations!', }, }, required: ['title'], }, }, // PATCH /integration - Update integration { name: 'edubase_patch_integration', description: "Update integration.", inputSchema: { type: 'object', properties: { integration: { type: 'string', description: 'integration identification string', }, active: { type: 'boolean', description: 'enable or disable the integration', }, }, required: ['integration'], }, }, // DELETE /integration - Remove integration { name: 'edubase_delete_integration', description: "Remove integration.", inputSchema: { type: 'object', properties: { integration: { type: 'string', description: 'integration identification string', }, }, required: ['integration'], }, }, // GET /integration:keys - Get integration keys/secrets { name: 'edubase_get_integration_keys', description: "Get integration keys/secrets.", inputSchema: { type: 'object', properties: { integration: { type: 'string', description: 'integration identification string', }, }, required: ['integration'], }, }, // POST /integration:keys - Rotate integration keys/secrets { name: 'edubase_post_integration_keys', description: "Rotate integration keys/secrets.", inputSchema: { type: 'object', properties: { integration: { type: 'string', description: 'integration identification string', }, }, required: ['integration'], }, }, ]; /* Output schema definitions */ export const EDUBASE_API_TOOLS_INTEGRATIONS_OUTPUT_SCHEMA: object = { // GET /integrations - List owned and managed integrations edubase_get_integrations: { type: 'array', items: { type: 'object', properties: { integration: { type: 'string', description: 'integration identification string', }, id: { type: 'string', description: 'external unique integration identifier (if set for the integration)', }, name: { type: 'string', description: 'title of the integration', }, }, }, }, // GET /integrations - Get/check integration edubase_get_integration: { type: 'object', properties: { integration: { type: 'string', description: 'integration identification string', }, id: { type: 'string', description: 'external unique integration identifier (if set for the integration)', }, name: { type: 'string', description: 'title of the integration', }, type: { type: 'string', description: 'type of the integration', }, active: { type: 'boolean', description: 'integration is active', }, lti: { type: 'string', description: 'LTI version, only present if the integration is an LMS', }, }, }, // PATCH /integration - Update integration edubase_patch_integration: {}, // DELETE /integration - Remove integration edubase_delete_integration: {}, // GET /integration:keys - Get integration keys/secrets edubase_get_integration_keys: { type: 'object', properties: { app: { type: 'string', description: 'API application identification string, only present if the integration is an API integration', }, consumer: { type: 'string', description: 'consumer key, only present if the integration is an LMS integration using LTI 1.0/1.1', }, secret: { type: 'string', description: 'secret key, only present if the integration is an API integration or an LMS integration using LTI 1.0/1.1', }, jwk: { type: 'string', description: 'URL for the JWK (JSON Web Key) set, only present if the integration is an LMS integration using LTI 1.3', }, pem: { type: 'string', description: 'PEM formatted public key, only present if the integration is an LMS integration using LTI 1.3', }, }, }, // POST /integration:keys - Rotate integration keys/secrets edubase_post_integration_keys: { type: 'object', properties: { app: { type: 'string', description: 'API application identification string, only present if the integration is an API integration', }, consumer: { type: 'string', description: 'consumer key, only present if the integration is an LMS integration using LTI 1.0/1.1', }, secret: { type: 'string', description: 'secret key, only present if the integration is an API integration or an LMS integration using LTI 1.0/1.1', }, jwk: { type: 'string', description: 'URL for the JWK (JSON Web Key) set, only present if the integration is an LMS integration using LTI 1.3', }, pem: { type: 'string', description: 'PEM formatted public key, only present if the integration is an LMS integration using LTI 1.3', }, }, }, };

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/EduBase/MCP'

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