DM

dmontgomery40/mcp-canvas-lms

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

104 stars 40 forks 品質 70 トレンド 19

バージョン2.2 - 54のツールが利用可能 - Canvas LMS APIとやり取りするためのMCPサーバー。このサーバーでは、Canvas内でコース、課題、登録、成績を管理できます。

概要

このプロジェクトはCanvas LMS APIのための独立したMCPサーバーです。InstructureやCanvasとは提携せず、承認も管理もしていません。 2025年6月、このMCPの開発中に、bootcampspot.instructure.com のCanvas環境でアクセス制御の不具合が発生していることを発見しました。この問題により、私のコースに在籍している他の学生の個人を特定できる情報が露出しました。 私は2025年6月5日にBugcrowdを通じてこの問題を報告し、Instructure/Canvasのセキュリティチャネルにも直接連絡しました。Bugcrowdの報告は後に「該当しない」として終了しました。その後のやり取りで、Instructureは bootcampspot.instructure.com 環境は自社のコントロール外であると述べました。 - 開示スレッド:https://www.reddit.com/r/cybersecurity/comments/1t6wmkw/reported_a_broken_access_control_bug_to/ - Bugcrowd活動タイムライン:https://imgur.com/gallery/canvas-vuln-declared-n-11-months-ago-zYfHnBs - 後期インストラクチャー/ブートキャンプスポットのやり取り:https://imgur.

概要(AI 翻訳)

セキュリティと開示の歴史

このプロジェクトはCanvas LMS APIのための独立したMCPサーバーです。InstructureやCanvasとは提携せず、承認も管理もしていません。

2025年6月、このMCPの開発中に、bootcampspot.instructure.com のCanvas環境でアクセス制御の不具合が発生していることを発見しました。この問題により、私のコースに在籍している他の学生の個人を特定できる情報が露出しました。

私は2025年6月5日にBugcrowdを通じてこの問題を報告し、Instructure/Canvasのセキュリティチャネルにも直接連絡しました。Bugcrowdの報告は後に「該当しない」として終了しました。その後のやり取りで、Instructureは bootcampspot.instructure.com 環境は自社のコントロール外であると述べました。

公開資料:

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

Canvas MCP Server v2.3.0

Security and disclosure history

This project is an independent MCP server for Canvas LMS APIs. It is not affiliated with, endorsed by, or maintained by Instructure or Canvas.

In June 2025, during development of this MCP, I identified a Broken Access Control issue in the Canvas environment at bootcampspot.instructure.com. The issue exposed personally identifiable information for other students enrolled in my course.

I reported the issue through Bugcrowd on June 5, 2025, and also contacted Instructure / Canvas security channels directly. The Bugcrowd report was later closed as “Not Applicable.” In subsequent correspondence, Instructure stated that the bootcampspot.instructure.com environment was outside its control.

Public references:

This repository does not publish exploit steps, affected tenant details beyond what is already public, live URLs, screenshots containing student data, or proof-of-concept abuse flows.

Separately, Instructure publicly disclosed a Canvas security incident in May 2026, and public reporting has linked the incident to ShinyHunters claims. This repository makes no claim that the June 2025 report caused, enabled, predicted, or is technically connected to the May 2026 incident.

This disclosure is documented here for project history and transparency only.

What this is

A comprehensive Model Context Protocol (MCP) server for Canvas LMS with complete student, instructor, and account administration functionality

🚀 What’s New in v2.3.0

  • 🌐 NEW: Streamable HTTP transport support (MCP_TRANSPORT=streamable-http)
  • 🖥️ Preserved: First-class stdio transport for local MCP clients
  • 🧪 Added: Behavior tests for lifecycle, transports, and structured failure-path errors
  • 🧱 Improved: Stricter tool schemas and codemode-oriented tool descriptions
  • 🔧 FIXED: Course creation “page not found” error (missing account_id parameter)
  • 👨‍💼 Account Management: Complete account-level administration tools
  • 📊 Reports & Analytics: Generate and access Canvas account reports
  • 👥 User Management: Create and manage users at the account level
  • 🏢 Multi-Account Support: Handle account hierarchies and sub-accounts
  • ✅ API Compliance: All endpoints now follow proper Canvas API patterns

🎯 Key Features

🎓 For Students

  • Course Management: Access all courses, syllabi, and course materials
  • Assignment Workflow: View, submit (text/URL/files), and track assignments
  • Communication: Participate in discussions, read announcements, send messages
  • Progress Tracking: Monitor grades, module completion, and calendar events
GitHub で README 全文を見る

インストール

npx -y canvas-mcp-server
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "canvas-mcp-server": { "command": "npx", "args": ["-y", "canvas-mcp-server"], "env": { "CANVAS_API_TOKEN": "your_token_here", "CANVAS_DOMAIN": "your_school.instructure.com" } } } }