返回市场
教育MCP服务器

教育MCP服务器

作者:jesegher7 星标更新:2025-10-10

项目介绍

📚 Microsoft 教育 MCP 服务器

⚠️ 这是一个个人项目。它与微软无关,也不是由微软维护的。

该项目是一个自定义的 模型上下文协议(MCP)服务器,旨在与 Microsoft Graph API 集成以支持教育用途。

它使 Claude Desktop 或其他兼容 MCP 的工具能够管理:

  • ✅ Microsoft 教育课程
  • ✅ 作业(创建、更新、指定学生)
  • ✅ 评分标准(创建、附加、列出)
  • ✅ 学生和教师(名单)
  • ✅ 提交和评分

该服务器专为AI驱动的工具、测试和智能提示集成而设计。


🚀 功能

  • 🔐 微软委托身份验证(通过MSAL进行OAuth)
  • 🧑‍🏫 课程及名单探索
  • 📝 作业创建、更新及学生指定
  • 🎓 评分标准创建及复用
  • 📤 查看作业提交及结果
  • 🧠 为 Claude Desktop 和模型上下文客户端设计

📂 结构

🔍 关键组件

  • start-mcp-server.js

    • 加载并注册所有工具。
    • 通过 MSAL 管理微软身份验证。
    • 使用模型上下文协议SDK启动MCP服务器。
  • tools/ 文件夹

    • 每个文件定义一组相关的工具,并将其注册到服务器。
    • 工具遵循 MCP 标准(server.tool(...)),具有 Zod 模式验证和 Microsoft Graph 集成。
  • .env

    • 存储敏感的微软应用凭证和配置。
    • 需要用于与 Microsoft Graph API 认证。
  • Example.env

    • 一个安全的模板,用于分享或引导协作者。

此布局使得:

  • 添加或修改功能(只需在 tools/ 中添加一个文件)
  • 保持逻辑按领域分离(例如,作业与评分标准)
  • 支持干净且可扩展的 MCP 集成

🏗 如何在 Entra ID(Azure AD)中注册应用程序

要使用 Microsoft Graph API 与本项目一起工作,您需要在 Entra ID 中注册一个应用:

1. 访问 Microsoft Entra 管理中心


2. 注册新应用

  1. 导航至 “应用程序” → “应用注册”

  2. 点击 “新建注册”

  3. 填写:

    • 名称Microsoft 教育 MCP 服务器(或您喜欢的任何名称)
    • 支持的帐户类型:根据您的场景选择(通常为“仅限组织目录中的帐户”)
    • 重定向URI
      • 平台:Web
      • URI:http://localhost:3000/auth/callback(或您自定义的URI)
  4. 点击 “注册”


3. 配置 API 权限

  1. 注册后,导航至 “API 权限”

  2. 点击 “添加权限” → Microsoft Graph → 委托权限

  3. 添加以下权限:

    • User.ReadWrite.All
    • EduAssignments.ReadWrite.All
    • EduRoster.ReadWrite.All
    • EduRubrics.ReadWrite
    • offline_access
    • openid
    • profile
  4. 点击 “授予管理员同意” 以批准这些权限。


4. 生成客户端密钥

  1. 导航至 “证书和密钥”
  2. 客户端密钥 下,点击 “新建客户端密钥”
  3. 添加描述并选择过期时间(例如6个月或12个月)
  4. 点击 “添加”
  5. 复制值 — 您将无法再次看到它!

5. 将这些值保存到记事本

注册后,导航至 “概述” 并复制以下值:

CLIENT_ID=your-application-id
CLIENT_SECRET=your-client-secret
TENANT_ID=your-directory-id
REDIRECT_URI=http://localhost:3000/auth/callback

📥 克隆仓库并安装依赖

按照以下步骤让项目在本地运行:

1. 克隆仓库

git clone https://github.com/jesegher/EduMCPServer.git
cd EDUMCPServer

2. 安装依赖

npm install

或手动

npm install @modelcontextprotocol/sdk axios zod dotenv @azure/msal-node

🧠 使用 Claude Desktop 运行

要在 Claude Desktop 中使用此 MCP 服务器,请在您的 Claude Desktop claude.settings.json 文件中添加以下内容:

{
  "mcpServers": {
    "Education-Data": {
      "command": "node",
      "args": [
        "C:\\path\\to\\your\\project\\start-mcp-server.js"
      ],
      "env": {
        "TENANT_ID": "your-tenant-id",
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "REDIRECT_URI": "http://localhost:3000/auth/callback",
        "PORT": "3000"
      }
    }
  }
}

💡 请替换路径和环境变量为您实际的配置详情。

⚠️ 每次更改时确保关闭 Claude。您需要在任务管理器中结束它。

Claude 将自动检测 MCP 服务器和已注册的工具。

<img width="362" alt="image" src="https://gips3.baidu.com/it/u=1466878420,1800421855&fm=3081&app=3081&f=PNG?w=724&h=1000" />

一旦请求数据,将开始身份验证流程。您可以随时通过调用 auth-login 手动触发它。我注意到 Claude 不总是提供 URL,如果需要,您可以从其调用的身份验证服务器中找到并复制它。[正在进行修复]


🧠 场景:针对表现不佳学生的补救流程

这是一个基于原始提示的数据分析和后续教学的结构化指南。

📝 原始提示

  1. 在我的代数课程中找到我的作业“线性方程”。给我它的名称、说明和截止日期。

  2. 我希望以表格形式获得所有表现不佳的学生的概览。我希望他们的名字、我提供的反馈以及关联的评分标准(如果有)。我希望每个学生一行。分开列出评分标准的各项。

  3. 你能分析评分标准反馈并找出共同点吗?

  4. 基于这些反馈,有哪些补救建议?

  5. 我希望他们练习变化。

  6. 将这转化为作业和评分标准。

  7. 为这些学生创建一个新的草稿作业,包含这些信息……给他们两周时间完成。


每个提示都是更大自动化或AI辅助教育工作流中的一步:

  • 获取目标作业
  • 分析与评分标准对齐的反馈
  • 识别学生工作的模式
  • 推荐学习干预措施
  • 创建并分配个性化的补救任务