Skip to main content
Glama

canvas-mcp-lite

一个精简的、面向教师的 MCP 服务器,用于 Canvas LMS,基于 FastMCP 构建。它让 AI 助手能够充当你的 Canvas 实例的助教:浏览课程、阅读学生提交(包括 PDF/DOCX 文件上传)、使用评分标准评分、发布公告、管理模块和页面等。

工具

跨 11 个 Canvas 领域的 64 个工具,按风险级别组织:

分组

数量

示例

读取

32

list_courses, list_ungraded_submissions, list_missing_submissions, get_submission_content, list_quiz_submissions, get_student_analytics

写入

23

create_assignment, grade_submission, grade_with_rubric, post_grades, create_announcement, send_message, upload_course_file

删除

9

delete_assignment, delete_page, bulk_delete_announcements

亮点:

  • 读取学生实际提交的内容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+。

  1. 安装(可编辑,从项目根目录):

    python -m venv .venv
    source .venv/bin/activate
    pip install -e .
  2. 配置凭据,在包旁边的 .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 客户端从任意目录启动服务器。

  3. 运行,通过控制台脚本:

    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;瞬时超时会以退避方式重试。

Install Server
F
license - not found
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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