Skip to main content
Glama

Canvas MCP Server

# Canvas MCP Server - Other Tools This document provides detailed documentation for the miscellaneous tools available in the Canvas MCP server. ## Table of Contents - [Page Tools](#page-tools) - [User Tools](#user-tools) - [list_users](#list_users) - [get_user_details](#get_user_details) - [Analytics Tools](#analytics-tools) - [get_student_analytics](#get_student_analytics) - [get_assignment_analytics](#get_assignment_analytics) --- ## Page Tools For comprehensive page-related functionality, see the [Pages Implementation Guide](../PAGES_IMPLEMENTATION.md) which covers: - Listing and managing pages - Getting page details and content - Working with front pages - Module integration - Advanced page workflows --- ## User Tools ### list_users Lists users in a course. **Parameters:** - `course_identifier`: Canvas course code or ID - `enrollment_type`: Filter by enrollment type (student, teacher, ta, etc.) - `search_term`: Filter by name or email - `sort`: Sort field (username, email, etc.) **Example:** ```python # List all users await list_users("badm_554_120251_246794") # List only students await list_users(12345, enrollment_type="student") ``` --- ### get_user_details Gets details about a specific user. **Parameters:** - `user_id`: Canvas user ID - `include_enrollments`: Include enrollment information (default: True) **Example:** ```python await get_user_details(54321) ``` --- ## Analytics Tools ### get_student_analytics Gets analytics for a specific student. **Parameters:** - `course_identifier`: Canvas course code or ID - `student_id`: Canvas user ID - `include_participation`: Include participation data (default: True) - `include_assignments`: Include assignment data (default: True) **Example:** ```python await get_student_analytics("badm_554_120251_246794", 54321) ``` --- ### get_assignment_analytics Gets analytics for a specific assignment. **Parameters:** - `course_identifier`: Canvas course code or ID - `assignment_id`: Canvas assignment ID - `include_submissions`: Include submission data (default: True) **Example:** ```python await get_assignment_analytics("badm_554_120251_246794", 98765) ``` --- ## Best Practices 1. **Error Handling**: All tools include comprehensive error handling 2. **Rate Limiting**: Respects Canvas API rate limits 3. **Caching**: Utilizes caching where appropriate for performance 4. **Pagination**: Handles pagination for large result sets 5. **Input Validation**: Validates all input parameters ## Common Error Scenarios 1. **Authentication Errors**: Check API token and permissions 2. **Not Found Errors**: Verify course, assignment, or user IDs 3. **Rate Limiting**: Tools include backoff and retry logic 4. **Network Issues**: Handles temporary network failures gracefully

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

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