Token导航 LogoToken导航TokenDH.com
Canvas LMS MCP logo
设计创作stdio官方级别未说明来源级核验

Canvas LMS MCP

MCP Server

@smithery/cli

一个用于通过Canvas学习管理系统轻松访问教育数据的最小化MCP(机器对话协议)服务器,提供AI系统与Canvas LMS之间的桥梁。

工具数

22

提示词数

0

GitHub Stars

7

资源数

0
PythonClaude设计Claude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ahnopologetic

提供方

ahnopologetic

最后核验

2026/5/17 20:49

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @smithery/cli install @ahnopologetic/canvas-lms-mcp --client claude

详细介绍

Canvas LMS MCP服务器

](https://smithery.ai/server/@ahnopologetic/canvas-lms-mcp) 一个最小的Canvas LMS MCP(机器对话协议)服务器,可通过Canvas LMS实例轻松访问教育数据。该服务器在人工智能系统(如Cursor)和Canvas学习管理系统之间提供了一座桥梁。

特性

  • 课程:列出已注册的课程,获取课程详细信息、教学大纲、模块和模块项目
  • 作业:列出并获取具有可选提交状态的作业
  • 页面:通过URL slug获取课程页面
  • 提交:列出你自己提交的成绩和反馈
  • 公告:列出多个课程的公告
  • 讨论:列出主题并查看完整的讨论线索
  • 日历:使用日期筛选列出日历事件
  • 规划师:列出计划项目(任务、公告等)
  • 报名人数:获取包含成绩的注册数据
  • 测验:列出并获取测验(仅限经典测验)
  • 文件:列出并获取文件
  • 导航:获取课程选项卡、作业组和最喜欢的课程

安装

通过Smithery安装

通过以下方式自动安装Claude Desktop的Canvas LMS服务器 史密瑟里:

npx -y @smithery/cli install @ahnopologetic/canvas-lms-mcp --client claude

先决条件

  • Python 3.13+
  • Canvas LMS API代币
  • uv 包管理器(推荐)

安装方法

选项1:使用uvx安装(推荐)

安装和运行canvas lms-mcp的最简单方法是使用uvx:

uvx canvas-lms-mcp

这将在隔离环境中运行服务器,而无需永久安装。

要永久安装该工具,请执行以下操作:

uv tool install canvas-lms-mcp

选项2:从源代码安装

  1. 克隆存储库:
   git clone https://github.com/yourusername/canvas-lms-mcp.git
   cd canvas-lms-mcp
  1. 使用紫外线进行安装:
   # Install uv if you don't have it yet
   curl -LsSf https://astral.sh/uv/install.sh | sh

   # Create a virtual environment and install dependencies
   uv venv
   uv pip install -e .

或者,使用传统方法:

   python -m venv .venv
   source .venv/bin/activate  # On Windows: .venv\Scripts\activate
   pip install -e .

配置

设置以下环境变量:

export CANVAS_API_TOKEN="your_canvas_api_token"
export CANVAS_BASE_URL="https://your-institution.instructure.com"  # Default: https://canvas.instructure.com

您可以从Canvas帐户设置中获取Canvas API令牌。

运行服务器

使用uv启动服务器:

uv run src/canvas_lms_mcp/main.py

如果使用uvx工具安装:

canvas-lms-mcp

默认情况下,服务器运行在http://localhost:8000.您可以在以下网址使用FastMCP接口http://localhost:8000/docs以与API交互。

可用工具

服务器提供22个与Canvas LMS交互的工具:

课程

list_courses

列出用户正在积极注册的课程。

参数:

  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

get_course

通过ID获得一门课程。

参数:

  • course_id (必填):课程ID
  • include (可选):要包含的附加数据列表

get_course_syllabus

以HTML格式获取课程的教学大纲正文。

参数:

  • course_id (必填):课程ID

get_course_modules

获取课程模块。

参数:

  • course_id (必填):课程ID
  • include (可选):要包含的附加数据列表
  • per_page (可选,默认值=100):每页项目数

get_module_items

获取特定模块的项目。

参数:

  • course_id (必填):课程ID
  • module_id (必填):模块ID

作业

list_assignments

列出课程的作业。

参数:

  • course_id (必填):课程ID
  • bucket (必填):按“过去”、“逾期”、“未注明日期”、“不分级”、“尚未提交”、“即将”或“未来”筛选
  • order_by (必填):按“due_at”、“职位”或“姓名”排序
  • include (可选):要包括的附加数据列表(例如。, ["submission"] 查看成绩状态)
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

get_assignment

按ID获取单个作业。

参数:

  • course_id (必填):课程ID
  • assignment_id (必填):任务ID

list_assignment_groups

列出课程的作业组(显示成绩权重/类别)。

参数:

  • course_id (必填):课程ID

页面

get_page

通过URL段获取单个页面。

参数:

  • course_id (必填):课程ID
  • page_slug (必填):页面URL(例如“教学大纲”、“课程手册”)

提交

list_submissions

列出当前用户提交的课程,包括成绩和反馈。

参数:

  • course_id (必填):课程ID
  • include (可选):附加数据列表(例如。, ["assignment", "submission_comments"])
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

公告

list_announcements

列出一门或多门课程的公告。

参数:

  • course_ids (必填):课程ID列表
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

讨论

list_discussions

列出课程的讨论主题。

参数:

  • course_id (必填):课程ID
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

get_discussion_view

获取讨论主题的完整视图,包括所有回复。

参数:

  • course_id (必填):课程ID
  • discussion_id (必填):讨论主题ID

日历

list_calendar_events

列出课程的日历事件。

参数:

  • context_codes (必填):上下文代码列表(例如。, ["course_123"])
  • start_date (可选):ISO 8601格式的开始日期
  • end_date (可选):ISO 8601格式的结束日期
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

计划项目

list_planner_items

列出已验证用户的计划项目。

参数:

  • start_date (必填):ISO 8601格式的开始日期
  • end_date (必填):ISO 8601格式的结束日期
  • context_codes (可选):上下文代码列表(例如。, ["course_123"])
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

报名人数

get_enrollments

获取当前用户的注册信息,包括成绩。

测验

list_quizzes

列出一门课程的测验。注意:仅适用于经典测验,不适用于新测验(quiz_lti)。

参数:

  • course_id (必填):课程ID
  • include (可选):要包含的附加数据列表
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

get_quiz

按ID进行一次测验。

参数:

  • course_id (必填):课程ID
  • quiz_id (必填):测验ID

文件

list_files

列出课程或文件夹的文件。注意:根据机构权限,学生帐户可能会返回403。

参数:

  • course_id (可选):课程ID
  • folder_id (可选):文件夹ID
  • include (可选):要包含的附加数据列表
  • page (可选,默认=1):页码(1索引)
  • items_per_page (可选,默认值=10):每页项目数

get_file

按ID获取文件。即使在以下情况下,也可以使用已知的文件ID list_files 受到限制。

参数:

  • course_id (必填):课程ID
  • file_id (必填):文件ID

其他

get_tabs

获取课程的可用选项卡/导航项。

参数:

  • course_id (必填):课程ID

list_favorites

列出当前用户最喜欢的课程。

整合

此MCP服务器可与任何支持 模型上下文协议,包括克劳德桌面、克劳德代码、光标、风帆等。

所有客户端的MCP配置都是相同的,只是配置文件位置不同:

{
    "mcpServers": {
        "canvas": {
            "command": "uvx",
            "args": ["canvas-lms-mcp"],
            "env": {
                "CANVAS_API_TOKEN": "your_canvas_api_token",
                "CANVAS_BASE_URL": "https://your-institution.instructure.com"
            }
        }
    }
}

替换 your_canvas_api_token 使用Canvas API令牌(在Canvas中找到→ 账户→ 设置→ 新访问令牌)和 your-institution.instructure.com 使用您所在机构的Canvas URL。

克劳德桌面

添加到您的Claude Desktop配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json

保存后重新启动Claude Desktop。

克劳德代码

添加到您的项目 .mcp.json 或全球 ~/.claude/settings.json:

{
    "mcpServers": {
        "canvas": {
            "command": "uvx",
            "args": ["canvas-lms-mcp"],
            "env": {
                "CANVAS_API_TOKEN": "your_canvas_api_token",
                "CANVAS_BASE_URL": "https://your-institution.instructure.com"
            }
        }
    }
}

光标

增添 .cursor/mcp.json 在您的项目目录中。保存后重新启动Cursor。

帆板运动

增添 ~/.codeium/windsurf/mcp_config.json保存后重新启动Windsurf。

使用示例

连接后,您可以向您的AI助手询问Canvas数据:

  • “我下周有什么作业要交?”
  • “给我看生物课程的教学大纲”
  • “今天发布了什么公告?”
  • “到目前为止,我的成绩怎么样?”
  • “我明天的日程安排是什么?”
  • “显示我英语课的讨论帖子”

发展

有关详细的开发说明,请参阅 Developpent.md 文件。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

PythonClaude设计学习管理系统本地部署教育数据API集成自动化工具AI接口

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

22

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP