Skip to main content
Glama
index.ts1.35 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { validateSetup } from "./config/environment.js"; import { registerListCoursesTool } from "./tools/list-courses.js"; import { registerListActiveCoursesTool } from "./tools/list-active-courses.js"; import { registerSearchAssignmentsTool } from "./tools/search-assignments.js"; import { registerGetAssignmentTool } from "./tools/get-assignment.js"; import { registerAssignmentContentResource } from "./resources/assignment-content.js"; // Create the MCP server const server = new McpServer({ name: "Canvas-Assignment-Assistant", version: "1.0.0", capabilities: { resources: {}, tools: {}, } }); // Validate environment setup validateSetup(); // Register all tools registerListCoursesTool(server); registerListActiveCoursesTool(server); registerSearchAssignmentsTool(server); registerGetAssignmentTool(server); // Register all resources registerAssignmentContentResource(server); // Start the server (async () => { try { const transport = new StdioServerTransport(); await server.connect(transport); console.error("Canvas MCP Server started on stdio"); } catch (error) { console.error("Server failed to start:", error); process.exit(1); } })();

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/brendan-ch/canvas-mcp'

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