Skip to main content
Glama

Canvas MCP Server

# Canvas MCP Server Tools Documentation This directory contains the documentation for all tools available in the Canvas MCP Server. Each tool is organized by category and provides comprehensive documentation for interacting with Canvas LMS features. > ℹ️ **Note**: For implementation details and advanced usage, see the [Implementation Guides](..) in the project root. ## Tool Categories ### 1. Course Tools Documentation for course-related functionality. - [courses.md](courses.md) - Tools for managing and retrieving course information, including: - Listing available courses - Getting detailed course information - Managing course content and structure ### 2. Assignment Tools Documentation for assignment-related functionality. - [assignments.md](assignments.md) - Tools for managing assignments, submissions, and peer reviews, including: - Creating and managing assignments - Handling submissions and feedback - Peer review workflows ### 3. Rubric Tools Documentation for rubric-related functionality. - [rubrics.md](rubrics.md) - Complete guide to rubric tools including workflows, grading features, and educator benefits. ### 4. Discussion & Announcement Tools Documentation for discussion and announcement functionality. - [discussions.md](discussions.md) - Complete guide to discussion and announcement tools including: - Discussion topic management and participation - Creating and managing announcements - Student engagement workflows ### 5. Other Tools Documentation for additional Canvas functionality. - [other_tools.md](other_tools.md) - Miscellaneous tools including: - User and enrollment management - Analytics and reporting #### Additional Resources - [Pages Implementation Guide](../PAGES_IMPLEMENTATION.md) - Comprehensive guide to working with Canvas pages - [Development Guide](../CLAUDE.md) - For contributors working on the codebase ## Getting Started To use these tools, you'll need: 1. A running instance of the Canvas MCP Server 2. Valid Canvas API credentials 3. Appropriate permissions for the actions you want to perform ## Common Patterns ### Authentication All tools require a valid Canvas API token, which should be set in your environment variables: ```bash export CANVAS_API_TOKEN='your_canvas_token_here' ``` ### Error Handling All tools follow consistent error handling patterns: - Return meaningful error messages - Include error codes when available - Handle rate limiting and retries automatically ### Rate Limiting The tools respect Canvas API rate limits and include backoff and retry logic. ## Best Practices 1. **Caching**: Take advantage of built-in caching to improve performance 2. **Batching**: Use the appropriate list endpoints before getting individual items 3. **Error Handling**: Always check for and handle potential errors 4. **Pagination**: Be aware that some endpoints return paginated results 5. **Data Validation**: Input validation is performed, but always validate data from external sources ## Development ### Adding New Tools 1. Add your tool to the appropriate module in the `tools/` directory 2. Document the tool following the existing patterns 3. Add any necessary tests 4. Update the relevant documentation file ### Testing Run the test suite with: ```bash pytest tests/ ``` ## Support For issues or questions, please open an issue in the [GitHub repository](https://github.com/vishalsachdev/canvas-mcp). ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

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