list_modules
Retrieve all modules for a Canvas course, optionally including their items.
Instructions
Course modules with items.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| course_id | Yes | ||
| with_items | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- canvas_local_mcp/server.py:100-106 (handler)The `list_modules` function that executes the tool logic. It takes a course_id and optional with_items flag, calls the Canvas /api/v1/courses/{course_id}/modules endpoint, optionally including items via the 'include[]' parameter.
@mcp.tool() def list_modules(course_id: int, with_items: bool = True) -> list[dict]: """Course modules with items.""" params = {} if with_items: params["include[]"] = "items" return _get(f"/api/v1/courses/{course_id}/modules", **params) - canvas_local_mcp/server.py:100-106 (registration)The `@mcp.tool()` decorator on line 100 registers this function as an MCP tool named 'list_modules' with FastMCP.
@mcp.tool() def list_modules(course_id: int, with_items: bool = True) -> list[dict]: """Course modules with items.""" params = {} if with_items: params["include[]"] = "items" return _get(f"/api/v1/courses/{course_id}/modules", **params)