Canvas Ed MCP
Provides read-only access to Canvas, enabling listing of configured Canvas courses through MCP tools, with secure credential references, configurable HTTPS Canvas instances, and same-origin pagination guards.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Canvas Ed MCPWhat Canvas and Ed courses do I have configured?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Canvas Ed MCP
Portable, local-first, read-only MCP access to explicitly configured Canvas and Ed
courses. Version 0.1.0rc1 is a release candidate: it is suitable for reviewed local
testing, but it has not been published to PyPI or released from a public repository.
Release-candidate scope
The installed package provides:
profile-isolated configuration, state, cache, and log paths through
platformdirs;OS-keyring references by default, with process-scoped environment references for reviewed headless use;
configurable HTTPS Canvas instances with same-origin pagination guards;
an isolated Ed adapter with schema-drift handling and credential-safe asset fetches;
explicit Canvas↔Ed source mapping—matching names never auto-select a course;
a provider-aware read-only MCP server whose tool surface follows enabled providers;
optional, disabled-by-default Gradescope read-only tools;
no-clobber storage, state-v4, policy, locking, and reconfiguration primitives.
The portable sync orchestrator and interactive Ed/both setup are not connected yet.
course-sync is therefore a safe reserved command and does not download anything.
The historical 49-tool/write-capable server and personal sync scripts are retained
only in the private development repository; they are not part of the public source
candidate, wheel, or sdist.
Related MCP server: canvas-mcp
Install from a reviewed checkout or wheel
Use an isolated environment and do not install as administrator/root:
python -m venv .venv
python -m pip install .
canvas-ed-mcp --version
canvas-ed-mcp doctor --show-pathsSee Cross-platform installation for Windows, macOS, Linux, MCP-host, update, and rollback guidance. See Authentication safety before creating or storing a Canvas or Ed token.
Configure safely
Run setup for a reviewed Canvas profile:
canvas-ed-mcp setup --profile default --dry-run
canvas-ed-mcp setup --profile defaultSetup is no-by-default: each platform and course must be explicitly selected and a
final preview confirmed. Configuration stores credential references such as
keyring:canvas-ed-mcp/default/canvas, never credential values.
The portable server is launched with:
canvas-ed-mcp serve --profile defaultIts MCP tools are limited to the configured read-only surface:
server_statuscanvas_list_configured_courseswhen Canvas is enableded_list_configured_coursesanded_list_course_contentwhen Ed is enabledgradescope_list_coursesandgradescope_list_assignmentsonly after explicit Gradescope opt-in and optional dependency installation
Disabled providers resolve no credential and make no network request.
Security and privacy
Never place API tokens, passwords, session cookies, signed URLs, or course material in source control, MCP JSON, screenshots, issues, or support logs.
Treat personal Canvas/Ed tokens as password-equivalent and revoke them remotely before deleting their local keyring entries.
Course access does not grant redistribution rights. Real course content is excluded from every distribution and test fixture.
The current private development repository contains legacy compatibility history and must not be made public. A future public repository must start from the audited, clean-history source archive.
Report vulnerabilities using the process in SECURITY.md.
Verification and release materials
The project runs synthetic tests across Windows, macOS, and Linux for Python 3.10–3.15. The release candidate also includes:
uv.lockand the standardpylock.tomldependency lock;sbom.cdx.json, a CycloneDX 1.5 software bill of materials;a fail-closed distribution and clean-source archive audit;
a local clean-install and installed MCP protocol smoke test.
Exact verification boundaries and remaining NOT_RUN device checks are documented in
Testing and operations and
Release/security audit.
Development
Read CONTRIBUTING.md before proposing changes. Tests use synthetic fixtures only:
python -B -m unittest discover -s tests -vDo not add live API calls to the default test suite.
中文说明
这是一个面向本地使用的 Canvas + Ed 只读 MCP release candidate。平台和课程必须逐项确认;
配置只保存 keyring/environment reference,不保存 token。当前 portable downloader 尚未接线,
course-sync 不会下载文件。私有开发仓库中的旧版写操作 MCP、个人同步脚本和历史不会进入公开候选包。
安装、凭据、验证边界请分别阅读 docs/INSTALLATION.md、docs/AUTHENTICATION.md 和
docs/TESTING_AND_OPERATIONS.md。
Attribution and license
This fork is based on r1ckyIn/canvas-ed-mcp, originally created by Ricky. The project remains licensed under the MIT License; see LICENSE. That license applies to the software, not to course content or third-party platform data.
Related MCP Connectors
One MCP endpoint for your company's tools, with per-person sign-in, policy and audit.
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Read-only MCP for AI usage profiles, leaderboards, stats, and docs; no writes or private data.
One OAuth connector for your team's remote MCP servers, with Tool Packs, guardrails and logs.
Related MCP Servers
- AlicenseAqualityAmaintenanceRead-only MCP server for Canvas LMS that exposes tools to list courses, assignments, grades, submissions, syllabi, announcements, modules, pages, and files, without any write operations.118 npm1MIT
- FlicenseAqualityCmaintenanceEnables MCP-compatible clients to read courses, assignments, announcements, files, and grades from a Canvas LMS instance.10-
- AlicenseNot gradedqualityBmaintenanceEnables read-only access to University of Waterloo Learn and Piazza, allowing users to view courses, assignments, grades, submissions, discussions, and more through an MCP server.MIT
- AlicenseAqualityCmaintenanceEnables MCP-compatible assistants to read Canvas course information—including courses, assignments, syllabi, modules, pages, and announcements—through a local read-only server.10MIT