关于 ictexam-mcp
ictexam-mcp 是连接 ICTExam 考试平台的 MCP 服务,面向教师和管理员,让 AI 助手读取考试、成绩册和题目分析。默认只读;启用写入后,还可解析试卷并发布考试。
主要功能
- 01列出考试、班级与科目
- 02查看考试设置和题目
- 03读取成绩册与学生分数
- 04查看逐题难度和平均分
- 05可选解析并发布考试
适用场景
- 01检查考试状态及题目设置
- 02查看班级考试成绩
- 03分析题目难度与得分
- 04将 PDF 或 DOCX 试卷解析并发布
MCP 相关
该 MCP 服务通过账号会话连接 ICTExam REST API,并向 MCP 客户端提供考试和成绩读取工具。写入工具默认不注册,只有设置 ICTEXAM_MCP_ALLOW_WRITE=true 后才启用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y ictexam-mcpICTEXAM_BASE_URLBase URL of your ICTExam site, e.g. https://app.ictlms.net (no trailing /api).ICTEXAM_EMAILA teacher or admin account email.ICTEXAM_PASSWORD密钥Password for the account.ICTEXAM_API_PREFIXPath the API is mounted under. Defaults to /api (behind the usual reverse proxy). Set empty to talk to the backend port directly.ICTEXAM_MCP_ALLOW_WRITEUnlocks the write tools: parse a paper with AI (spends server AI credit), publish and unpublish exams. When false these tools are not registered at all. Leave off unless you mean it.ICTEXAM_TIMEOUT_MSPer request timeout in milliseconds. Defaults to 60000 (AI parsing can be slow).ICTEXAM_TLS_INSECURESkip TLS certificate verification. Only for a self-signed test server.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
6收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| class_id | integer | 否 | 可选的 class id 筛选条件。 |
| subject_id | integer | 否 | 可选的科目 ID 筛选条件。 |
详细介绍
ictexam-mcp
一个用于 ICTExam 的 Model Context Protocol 服务。ICTExam 是由 ICT Innovations 推出的 AI 考试创建、发布和自动评分平台。
它可以让 AI 助手读取你的考试、成绩册和逐题项目分析;只有在启用写入功能后,才能使用 AI 将试卷解析为结构化考试,并向学生发布考试。
安装
使用 npx 直接从 npm 运行,或全局安装:
npx -y ictexam-mcp # no install
npm install -g ictexam-mcp
需要 Node.js 18 或更高版本。
配置
在 MCP 客户端的服务配置中(或 .env 文件中)设置以下变量:
| 变量 | 必需 | 默认值 | |
|---|---|---|---|
ICTEXAM_BASE_URL | 是 | 你的网站,例如 https://app.ictlms.net(末尾不要带 /api) | |
ICTEXAM_EMAIL | 是 | 教师或管理员账号 | |
ICTEXAM_PASSWORD | 是 | 该账号的密码 | |
ICTEXAM_API_PREFIX | 否 | /api | API 挂载路径;设为空即可直接访问后端端口 |
ICTEXAM_MCP_ALLOW_WRITE | 否 | false | 解锁写入工具(参见安全性) |
ICTEXAM_TIMEOUT_MS | 否 | 60000 | 单次请求超时时间(AI 解析可能较慢) |
ICTEXAM_TLS_INSECURE | 否 | false | 跳过 TLS 验证——仅适用于使用自签名证书的测试服务 |
Claude Desktop 示例
{
"mcpServers": {
"ictexam": {
"command": "npx",
"args": ["-y", "ictexam-mcp"],
"env": {
"ICTEXAM_BASE_URL": "https://app.ictlms.net",
"ICTEXAM_EMAIL": "[email protected]",
"ICTEXAM_PASSWORD": "your-password"
}
}
}
}
工具
读取工具始终可用:
| 工具 | 功能 |
|---|---|
ictexam_list_exams | 列出试卷(ID、标题、状态、班级、科目) |
ictexam_get_exam | 获取单份试卷的设置、分享链接和题目 |
ictexam_list_classes | 列出班级(课程小组) |
ictexam_list_subjects | 列出科目,每个科目都关联一个班级 |
ictexam_gradebook | 获取每场考试的总分和学生成绩 |
ictexam_item_analysis | 获取逐题难度、p 值和平均分 |
仅当 ICTEXAM_MCP_ALLOW_WRITE=true 时,才会显示写入工具:
| 工具 | 功能 |
|---|---|
ictexam_parse_question_paper | 上传本地 PDF/DOCX 文件,并使用 AI 提取题目 |
ictexam_publish_exam | 发布试卷;返回学生和教师分享 URL |
ictexam_unpublish_exam | 将试卷状态改回草稿 |
安全性
该服务默认只读。除非设置 ICTEXAM_MCP_ALLOW_WRITE=true,否则根本不会注册这三个写入工具,因此默认安装不会更改平台上的任何内容。解析试卷会消耗服务端的 AI 额度,而发布试卷则会让学生能够参与考试——这两项操作都被刻意置于该开关的保护之下。客户端使用账号自身的会话 Cookie 进行身份验证,并在写入时附带 CSRF 令牌,方式与 Web 应用完全相同;除你提供的环境外,它不会存储或记录你的密码。
连接方式
ICTExam 使用 FastAPI 后端。服务使用你的电子邮件和密码登录一次,在进程运行期间保留会话 Cookie,并通过 REST API(默认位于 /api,可配置)进行通信。无需申请 API 密钥。
关于
由 Tahir Almas 在 ICT Innovations 开发——该团队还开发了 ICTExam、ICTContact、ICTDialer、ICTFax 和 ICTPBX。ICTExam 附带原生 Moodle 活动模块(LTI 1.3、成绩回传和名单同步);了解详情,请访问 ictlms.net。
采用 MIT 许可证。欢迎通过 github.com/ictinnovations/ictexam-mcp 提交问题和 PR。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。