Skip to main content
Glama

canvas_list_assignments

Retrieve and organize course assignments from the Canvas LMS, including optional submission data, by specifying the course ID for streamlined management.

Instructions

List assignments for a course

Input Schema

NameRequiredDescriptionDefault
course_idYesID of the course
include_submissionsNoInclude submission data

Input Schema (JSON Schema)

{ "properties": { "course_id": { "description": "ID of the course", "type": "number" }, "include_submissions": { "description": "Include submission data", "type": "boolean" } }, "required": [ "course_id" ], "type": "object" }

Implementation Reference

  • Handler implementation for the 'canvas_list_assignments' tool within the CallToolRequestSchema switch statement. Extracts arguments, validates course_id, calls CanvasClient.listAssignments, and returns JSON response.
    case "canvas_list_assignments": { const { course_id, include_submissions = false } = args as { course_id: number; include_submissions?: boolean }; if (!course_id) throw new Error("Missing required field: course_id"); const assignments = await this.client.listAssignments(course_id, include_submissions); return { content: [{ type: "text", text: JSON.stringify(assignments, null, 2) }] }; }
  • Tool schema definition in the TOOLS array, specifying name, description, and inputSchema for canvas_list_assignments tool.
    name: "canvas_list_assignments", description: "List assignments for a course", inputSchema: { type: "object", properties: { course_id: { type: "number", description: "ID of the course" }, include_submissions: { type: "boolean", description: "Include submission data" } }, required: ["course_id"] }
  • src/index.ts:1071-1073 (registration)
    Registration of all tools including canvas_list_assignments via ListToolsRequestSchema handler that returns the TOOLS array.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
  • CanvasClient.listAssignments method: core implementation that queries Canvas API endpoint /courses/{courseId}/assignments with optional submission include.
    async listAssignments(courseId: number, includeSubmissions: boolean = false): Promise<CanvasAssignment[]> { const params: any = { include: ['assignment_group', 'rubric', 'due_at'] }; if (includeSubmissions) { params.include.push('submission'); } const response = await this.client.get(`/courses/${courseId}/assignments`, { params }); return response.data; }

Other Tools

Related Tools

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/DMontgomery40/mcp-canvas-lms'

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