Practera教育分析服务器
允许AI模型查询Practera的GraphQL API以获取学习数据的集成服务器,使大型语言模型(LLMs)能够分析和操作教育项目和评估。
服务介绍
Practera MCP 服务器
一个提供访问 Practera 的 GraphQL API 的 MCP(Model Context Protocol)服务器,允许 AI 模型查询 Practera 学习数据。
为什么选择 Practera MCP?
通过这个 MCP 服务器,您可以使用 LLMs 来分析 Practera 项目和评估。目前,这仅对学习设计师(作者用户)开放。
以下是一些如何使用此 MCP 服务器的示例:
- 分析项目的结构,并寻找可以扩展或压缩的方法。
- 针对不同年级或不同受众重新组织项目。
- 评估项目中的评估内容,并寻找改进方法。
- 生成项目蓝图和模板。
- 生成评估和问题
- 创建项目的通用卡版本,或从其他 LMS 数据文件导入项目。
路线图
[ ] 支持用于生成 LLM 报告的指标 API
[ ] 支持 OAuth 2.1 安全访问
[ ] 支持动态创建评估、里程碑、活动、任务
[ ] 支持生成媒体资源
[ ] 根据项目上下文动态选择资源/工具/提示
功能
- 使用 Server-Sent Events (SSE) 进行 MCP 传输
- AWS Lambda 部署支持
- 与 Practera API 的 GraphQL 集成
- 区域特定端点
- API 密钥认证
- 支持 OAuth 2.1 安全访问
前提条件
- Node.js 18+
- npm
- AWS 账户(用于部署)
- Practera API 密钥
- OAuth 客户端凭据(用于 OAuth 认证)
安装
- 克隆此仓库
- 安装依赖项:
npm install
本地开发
- 在开发模式下启动服务器:
npm run dev - 服务器将在
http://localhost:3000/sse可用 - OAuth 端点将在
http://localhost:3000/oauth/*可用
构建
要构建项目以进行部署:
npm run build
部署到 AWS Lambda
- 确保已安装并配置了 AWS CLI。
- 设置您的 OAuth 配置参数:
export PRACTERA_CLIENT_ID=your_client_id export REDIRECT_URI=your_redirect_uri export ISSUER_URL=your_issuer_url export BASE_URL=your_base_url - 使用 Serverless Framework 部署:
npm run deploy -- --param="practeraClientId=$PRACTERA_CLIENT_ID" --param="redirectUri=$REDIRECT_URI" --param="issuerUrl=$ISSUER_URL" --param="baseUrl=$BASE_URL"
认证方法
API 密钥认证
对于简单的集成,您可以通过提供以下参数来使用 API 密钥认证:
- 在每个工具调用中提供
apikey参数 - 提供
region参数以指定 Practera 区域
OAuth 2.1 认证(即将推出)
该服务器还支持 OAuth 2.1 以实现安全认证流程:
- 将用户重定向到
/oauth/authorize进行授权 - 在
/oauth/token交换授权码以获取访问令牌 - 使用承载令牌访问 MCP 服务器端点
- 如有必要,在
/oauth/revoke吊销令牌
可用的 MCP 工具
此服务器公开了以下 MCP 工具:
mcp_practera_get_project- 获取关于 Practera 项目的详细信息mcp_practera_get_assessment- 获取关于 Practera 评估的详细信息
MCP 客户端配置
当从 MCP 客户端连接到此 MCP 服务器时,您需要提供以下内容:
- 用于 Practera 身份验证的 API 密钥(如果使用 API 密钥认证)
- Practera API 的区域(usa, aus, euk 或 p2-stage)
- OAuth 配置(如果使用 OAuth 认证)
Claude 桌面配置示例
{
"practera": {
"url": "https://your-lambda-url.lambda-url.us-east-1.on.aws/mcp"
}
}
示例用法(与 Claude 一起使用)
您可以要求 Claude 使用 MCP 工具与 Practera 数据进行交互:
Please use the MCP tools to get information about project 123 from Practera.
Claude 将会使用 mcp_practera_get_project 工具,并从配置中提供 API 密钥和区域。
许可证
MIT 许可证