irq画布mcp
A. 模型上下文协议 用于Canvas LMS集成的(MCP)服务器。提供课程管理、作业处理、讨论引导、测验、量规和学生分析工具。
安装
git clone https://github.com/irq-studio/irq-canvas-mcp.git
cd irq-canvas-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .或与 紫外线:
uv pip install -e .配置
- 复制环境模板并填写Canvas API凭据:
cp .env.example .env中的必需变量 .env:
| 变量 | 描述 |
|---|---|
CANVAS_API_TOKEN | 您的Canvas API访问令牌 |
CANVAS_API_URL | Canvas API基础URL(例如。 https://yourschool.instructure.com/api/v1) |
- 添加到MCP客户端配置中:
{
"mcpServers": {
"irq-canvas": {
"command": "uv",
"args": [
"run",
"--directory", "/path/to/irq-canvas-mcp",
"irq-canvas-mcp"
]
}
}
}看 .mcp.json.example 举一个完整的例子。
多实例设置
要连接到多个Canvas实例(例如生产+开发或多个学校),请复制并编辑配置模板:
cp config.example.yml config.yml使用自己的URL和令牌定义每个实例。看 config.example.yml 对于完整的模式。
可用工具
课程
list_courses--列出所有课程get_course_details--获取特定课程的详细信息get_course_content_overview--获取内容概述(作业、模块、页面)
作业
list_assignments--列出课程中的作业get_assignment_details--获取任务详细信息update_assignment--更新作业delete_assignment/bulk_delete_assignments--删除作业list_submissions--列出作业提交get_assignment_analytics--获取任务分析assign_peer_review/list_peer_reviews--管理同行评审
讨论和公告
list_discussion_topics/get_discussion_topic_details--浏览讨论list_discussion_entries/get_discussion_entry_details--浏览条目get_discussion_with_replies--获取完整的讨论线索post_discussion_entry/reply_to_discussion_entry--发布和回复create_discussion_topic/delete_discussion_topic--管理主题list_announcements/create_announcement/delete_announcement--管理公告bulk_delete_announcements--批量删除公告
页面
list_pages/get_page_content/get_page_details/get_front_page--阅读页面create_page/edit_page_content--写页面publish_page/unpublish_page--管理页面可见性
模块
list_modules/list_module_items--浏览模块create_module/delete_module/bulk_delete_modules--管理模块publish_module/unpublish_module--模块可见性bulk_publish_modules/bulk_unpublish_modules--批量模块可见性add_item_to_module/add_page_to_module/add_assignment_to_module--添加项目add_quiz_to_module/add_external_link_to_module/add_subheader_to_module--添加项目bulk_add_items_to_module--批量添加项目delete_module_item/bulk_delete_module_items--删除项目delete_external_links_from_module--删除外部链接update_module_item_indent/bulk_update_indent--调整压痕get_module_structure_tree--获取模块树视图
测验
list_quizzes--列出测验create_quiz/update_quiz/rename_quiz--管理测验delete_quiz/bulk_delete_quizzes--删除测验add_quiz_question--添加问题import_quiz_from_markdown--从markdown导入测验
评分标准
list_all_rubrics/list_assignment_rubrics--列出量规get_rubric_details/get_assignment_rubric_details--获取量规详细信息create_rubric/update_rubric/delete_rubric--管理评价标准associate_rubric_with_assignment--将量规链接到作业get_submission_rubric_assessment/grade_with_rubric--用量规评分
外部工具
list_external_tools/get_external_tool_details--浏览LTI工具update_external_tool--更新工具配置
用户和分析
list_users/list_groups--列出用户和组get_student_analytics--获取学生分析get_anonymization_status--检查FERPA匿名状态create_student_anonymization_map--创建匿名学生地图
隐私和FERPA
该服务器内置了符合FERPA标准的数据匿名功能。学生数据在发送到人工智能模型之前会自动匿名。配置方式:
ENABLE_DATA_ANONYMIZATION=true(默认)ANONYMIZATION_DEBUG=false
发展
pip install -e ".[dev]"
pytest
ruff check .学分
基于 画布mcp 作者:维沙尔·萨克德夫。
许可证
麻省理工学院
