Skip to main content
Glama

Canvas MCP Server V2.0

# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [2.2.3] - 2025-06-27 ### Fixed - **Course Creation Parameters Issue**: Fixed missing `restrict_enrollments_to_course_dates` and other Canvas course parameters in tool schemas - Added `restrict_enrollments_to_course_dates` parameter to `canvas_create_course` and `canvas_update_course` tools - Added missing course parameters: `is_public_to_auth_users`, `public_syllabus`, `public_syllabus_to_auth`, `public_description` - Added missing course settings: `allow_student_wiki_edits`, `allow_wiki_comments`, `allow_student_forum_attachments` - Added missing enrollment options: `open_enrollment`, `self_enrollment` - Added missing course metadata: `term_id`, `sis_course_id`, `integration_id` - Added missing course preferences: `hide_final_grades`, `apply_assignment_group_weights`, `time_zone` ### Technical Details - Updated `canvas_create_course` inputSchema to include all parameters from `CreateCourseArgs` interface - Updated `canvas_update_course` inputSchema to include all parameters from `UpdateCourseArgs` interface - Fixed parameter filtering issue where MCP server was ignoring parameters not defined in inputSchema - All course creation/update parameters now properly passed to Canvas API ### Impact - Course date restrictions now work properly when `restrict_enrollments_to_course_dates: true` is set - All Canvas course configuration options are now available through the MCP tools - No breaking changes - fully backward compatible ### GitHub Issue - Resolves: [#9 restrict_enrollments_to_course_dates not respected when creating Canvas courses](https://github.com/DMontgomery40/mcp-canvas-lms/issues/9) ## [2.2.2] - 2025-06-27 ### Fixed - **Critical MCP JSON Communication Fix**: Fixed console.log statements polluting stdout - Changed all debug logging from `console.log` to `console.error` in `src/client.ts` - Fixed tool execution logging in `src/index.ts` to use stderr - Resolved "Unexpected token 'C', '[Canvas API'... is not valid JSON" errors - MCP protocol now receives clean JSON communication over stdio - Eliminated the constant stream of JSON parsing errors (10 errors/second) ### Technical Details - Fixed 4 console.log statements that were writing to stdout instead of stderr - MCP requires pure JSON communication over stdio - any other output breaks parsing - Debug logs now properly go to stderr (visible in logs but don't interfere with protocol) - No functional changes - purely a communication protocol fix ### Impact - **Complete elimination** of the JSON parsing error spam in Claude Desktop - Canvas MCP server now works properly without communication errors - Better debugging experience with clean error logs - No breaking changes - fully backward compatible ## [2.2.1] - 2025-06-27 ### Fixed - **Critical JSON Parsing Error Fix**: Resolved "Unexpected token 'C', '!Canvas API...' is not valid JSON" error - Enhanced error response handling to properly process non-JSON responses from Canvas API - Added content-type checking to prevent JSON operations on HTML/text error responses - Improved error message formatting and truncation for long responses - Added graceful fallback for any JSON parsing failures - Enhanced logging for better debugging of Canvas API responses ### Technical Details - Updated `src/client.ts` response interceptor with robust error handling - Added type checking for Canvas API error responses (string vs object) - Implemented proper handling of HTML error pages and plain text responses - Added network error handling for requests with no response - Improved debug logging showing status codes, content-types, and data types ### Impact - Eliminates the "benign but drives people insane" JSON parsing errors - Better error messages for debugging Canvas API issues - No breaking changes - fully backward compatible - Improved overall stability and error reporting ## [2.2.0] - Previous Release ### Added - Comprehensive Canvas LMS MCP server implementation - Full student functionality with assignments, courses, and submissions - Account management capabilities - Dashboard and calendar integration - Discussion topics and announcements support - File management and page access - Grading and rubric support - User profile management - Extensive error handling and retry logic - Comprehensive type definitions

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