Skip to main content
Glama

Canvas MCP 服务器

用于与 Canvas API 交互的模型上下文协议 (MCP) 服务器。此服务器允许您在 Canvas 中管理课程、作业、注册和成绩。

先决条件

  • Node.js :版本 18 或更高版本

  • Canvas API 令牌:从您的 Canvas 帐户获取

  • Canvas 域名:通常为canvas.instructure.com

Related MCP server: School MCP

设置

  1. 克隆存储库

    git clone https://github.com/yourusername/canvas-mcp-server.git cd canvas-mcp-server
  2. 安装依赖项

    npm install
  3. 配置环境变量

复制示例环境文件:

cp .env.example .env

编辑 .env 并用实际的 Canvas API 令牌和域替换占位符值。

构建项目

npm run build
  1. 运行服务器

    npm start

    服务器将启动并通过 stdio 监听 MCP 请求。

连接到 Claude Desktop

  1. 更新 Claude 配置

    将 MCP 服务器配置添加到您的 claude_desktop_config.json:

"canvas-mcp-server": { "command": "npx", "args": ["-y", "canvas-mcp-server"] },

重启Claude桌面

完全退出 Claude Desktop。重新启动 Claude Desktop。导航到 🔌 菜单,找到并连接你的 Canvas MCP 服务器。

可用工具(更多以学生为中心的内容即将推出)

  • canvas_create_course :在 Canvas 中创建新课程。

  • canvas_update_course :更新 Canvas 中的现有课程。

  • canvas_create_assignment :在 Canvas 课程中创建新作业。

  • canvas_update_assignment :更新现有作业。

  • canvas_submit_grade :提交学生作业的成绩。

  • canvas_enroll_user :为用户注册课程。

错误处理

工具会返回 isError: true 的错误消息来指示存在问题。请确保已设置所有必需的环境变量,以避免运行时错误。

故障排除

  • 构建错误:

检查 TypeScript 版本:npx tsc --version 清理并重建:rm -rf build/ && npm run build

  • 运行时错误:

    检查日志以获取详细的错误消息。确保环境变量设置正确。

  • 类型错误:

    使用 TypeScript 的类型检查来验证类型:npx tsc --noEmit

贡献

欢迎贡献代码!如有任何改进或错误修复,请提交 issue 或 pull request。

执照

该项目已获得 MIT 许可。


附加说明

  • 类型安全types.ts文件确保与 Canvas API 的所有交互都是类型安全的,从而减少运行时错误并提高代码可维护性。

  • 错误处理:服务器通过返回带有isError标志的有意义的消息来优雅地处理错误,从而允许客户端(例如,Claude Desktop)理解并做出适当的反应。

  • 环境变量:API 令牌等敏感信息通过环境变量进行管理,增强了不同环境的安全性和灵活性。

  • 模块化:将关注点分离到不同的文件( types.tsclient.tsindex.ts )使得代码库更易于导航和维护。

请根据项目的具体需求随意调整文件路径和配置。如果您需要进一步的帮助,请告诉我!

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/DMontgomery40/mcp-canvas-lms'

If you have feedback or need assistance with the MCP directory API, please join our Discord server