canvas-mcp-lite
canvas-mcp-lite
一个精简的、面向教师的 MCP 服务器,用于 Canvas LMS,基于 FastMCP 构建。它让 AI 助手能够充当你的 Canvas 实例的助教:浏览课程、阅读学生提交(包括 PDF/DOCX 文件上传)、使用评分标准评分、发布公告、管理模块和页面等。
工具
跨 11 个 Canvas 领域的 64 个工具,按风险级别组织:
分组 | 数量 | 示例 |
读取 | 32 |
|
写入 | 23 |
|
删除 | 9 |
|
亮点:
读取学生实际提交的内容 —
get_submission_content从上传的 PDF、DOCX 文件和纯文本(以及键入的文本条目、URL 和讨论提交)中提取文本,并包含提交评论线程,因此评分工具可以基于真实内容工作。真实的评分工作流 —
list_ungraded_submissions是评分队列,grade_submission处理分数、通过/失败、字母和百分比成绩(并在 Canvas 保存评论但拒绝成绩时报告部分成功),post_grades/hide_grades控制学生何时看到结果。课程代码或 ID — 每个课程范围工具都接受数字课程 ID 或
course_code字符串(通过短 TTL 缓存解析)。默认安全 — 除非另有说明,作业和页面以未发布状态创建;破坏性工具已明确标记。
对 LLM 友好 — 每个工具返回格式化的可读文本,而不是原始 JSON。
Related MCP server: Canvas MCP
设置
需要 Python 3.10+。
安装(可编辑,从项目根目录):
python -m venv .venv source .venv/bin/activate pip install -e .配置凭据,在包旁边的
.env文件中:CANVAS_API_URL=https://yourschool.instructure.com/api/v1 CANVAS_API_TOKEN=your-canvas-access-token在 Canvas 的 Account → Settings → New Access Token 下生成令牌。
.env相对于包位置(而不是工作目录)加载,因为 MCP 客户端从任意目录启动服务器。运行,通过控制台脚本:
canvas-mcp-lite
与 Claude 一起使用
将其注册为 stdio MCP 服务器。对于 Claude Code:
claude mcp add canvas -- /path/to/.venv/bin/canvas-mcp-lite或在 Claude Desktop / MCP 客户端配置中:
{
"mcpServers": {
"canvas": {
"command": "/path/to/.venv/bin/canvas-mcp-lite"
}
}
}项目结构
canvas_mcp_lite/
server.py FastMCP entry point; registers READ/WRITE/DELETE tool lists
client.py Async Canvas API client: auth, pagination, retry, errors
util.py Course code → ID resolution (cached), date formatting
tools/ One module per domain: courses, assignments, grading,
modules_pages, announcements, discussions, files, quizzes,
messaging, peer_review, analytics备注
包名是
canvas_mcp_lite,它使用相对导入 — 通过已安装的canvas-mcp-lite脚本运行,而不是python server.py。用于文本提取的文件下载上限为 25MB;扫描/纯图像 PDF 返回通知而不是文本。
Canvas API 错误会显示状态码和 URL;瞬时超时会以退避方式重试。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Canvas LMS through 25 comprehensive tools. Supports course management, assignments, grades, messaging, calendar events, and file access through natural language.33912MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Canvas LMS and Gradescope, allowing users to query courses, assignments, modules, calendar events, and find relevant resources using natural language.59ISC
- AlicenseAqualityCmaintenanceEnables AI systems to interact with Canvas Learning Management System data, allowing users to access courses, assignments, quizzes, planner items, files, and syllabi through natural language queries.227MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to manage Canvas LMS courses, announcements, rubrics, assignments, modules, pages, and student data via the Canvas API.603612MIT
Related MCP Connectors
Give AI agents access to form submissions — read, search, update, and process file attachments.
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/vkumar04/canvas-mcp-lite'
If you have feedback or need assistance with the MCP directory API, please join our Discord server