Token导航 LogoToken导航TokenDH.com
Question Bank MCP logo
运维云端stdio官方级别未说明来源级核验

Question Bank MCP

MCP Server

一个用于管理K-12评估题库的MCP服务器,支持IRT元数据、布鲁姆分类法和自然语言交互。

工具数

12

提示词数

0

GitHub Stars

1

资源数

0
教育技术PythonClaude自然语言处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

woodstocksoftware

提供方

woodstocksoftware

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

题库MCP服务器

用于使用IRT元数据管理K-12评估题库的MCP服务器。使用完整的Bloom分类法、难度校准和主题标记构建、组织和搜索试题——所有这些都可以通过Claude的自然语言完成。

Python MCP License

什么是MCP?

模型上下文协议 (MCP)是一个开放标准,允许像Claude这样的人工智能助手连接到外部工具和数据源。此服务器使Claude能够直接创建、管理和查询题库,而无需复制粘贴或手动数据输入。

特性

  • CRUD问题 --使用完整元数据创建、阅读、更新和删除问题
  • 问题类型 --多项选择、真/假、简答题和短文
  • 分类学 --对所有6个认知水平的问题进行分类(通过创建记住)
  • 校准困难 --连续0.0–1.0刻度,带易/中/硬桶
  • IRT元数据discrimination_index, times_used, times_correct, avg_time_seconds
  • 主题层次结构 --将问题组织成银行内部嵌套的主题
  • 灵活的标签 --使用任意标签标记问题以进行跨领域分类
  • 搜索和筛选 --按类型、难度范围、Bloom级别、主题、标签、状态或自由文本查询
  • 批量激活 --在一次通话中将多个问题从草稿移动到活动状态
  • AI建议 --在指定的难度和Bloom的级别上获取主题的问题想法
  • 银行统计 --按类型、难度、布鲁姆水平和主题进行详细细分

快速开始

1.克隆并安装

git clone https://github.com/woodstocksoftware/question-bank-mcp.git
cd question-bank-mcp
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2.配置克劳德桌面

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "question-bank": {
      "command": "/path/to/question-bank-mcp/venv/bin/python",
      "args": ["/path/to/question-bank-mcp/run_server.py"]
    }
  }
}

然后重新启动Claude Desktop。

3.配置克劳德代码

claude mcp add question-bank /path/to/question-bank-mcp/venv/bin/python /path/to/question-bank-mcp/run_server.py

4.开始使用它

问克劳德这样的问题:

“为AP生物学创建题库” “添加细胞呼吸主题” “在分析级别创建一个关于克雷布斯循环的多项选择题” “显示所有标记为‘期中’的难题” “我的题库的统计数据是什么?”

工具参考

题库工具

create_question_bank

为课程或学科领域创建一个新的题库。

参数类型必填说明
namestringyes题库名称
subjectstringyes学科领域(例如,“生物学”、“代数”)
descriptionstringno银行描述
grade_levelstring目标年级(例如,“9-12”、“AP”)

list_question_banks

列出所有题库及其问题和主题数量。没有参数。

get_bank_statistics

获取题库的详细统计数据,包括按问题类型、难度桶、布鲁姆级别和主题的细分。

参数类型必填说明
bank_idstringyes题库ID

主题工具

create_topic

添加一个主题来组织银行内的问题。通过以下方式支持分层嵌套 parent_topic_id.

参数类型必填说明
bank_idstringyes题库ID
namestringyes主题名称
descriptionstring主题描述
parent_topic_idstringno嵌套的父主题ID

list_topics

在题库中列出所有主题,并注明问题数量。

参数类型必填说明
bank_idstringyes题库ID

提问工具

create_question

创建一个包含完整元数据的新问题。问题开始于 draft 状态。

参数类型必填默认说明
bank_idstringyes--题库ID
question_typestring--multiple_choice, true_false, short_answer,或 essay
stemstring--问题文本
correct_answerstring--正确答案或量规
options列表--答案选项(多选)
explanationstring--为什么答案是正确的
difficultyfloat0.50.0(容易)到1.0(难)
bloom_levelstringno--Bloom的分类级别
estimated_time_secondsint60预计答复时间
pointsint1点值
topic_ids列表--要链接的主题ID
tags列表--分类标签

get_question

通过ID和所有元数据检索问题。

参数类型必填默认说明
question_idstring--问题ID
show_answerbooltrue是否包含答案

update_question

更新现有问题的任何字段,包括更改其状态。

参数类型必填说明
question_idstringyes问题ID
*(任何问题字段)*--要更新的字段

delete_question

永久删除问题。

参数类型必填说明
question_idstringyes问题ID

search_questions

使用多个条件在银行之间搜索和过滤问题。

参数类型必填默认说明
bank_idstring--按银行筛选
topic_idstring--按主题筛选
question_typestring--按类型筛选
bloom_levelstringno--按Bloom级别筛选
difficulty_minfloat--最小难度
difficulty_maxfloat--最大难度
statusstring--draft, active,或 archived
tagslist--按标签筛选(任何匹配项)
search_textstringno--词干文本搜索和解释
limitint20最大结果

activate_questions

批量激活问题,将其从 draftactive 状态。

参数类型必填说明
question_idslistyes要激活的问题ID列表

suggest_questions

根据主题和限制,为要创建的新问题提供人工智能友好的建议。

参数类型必填默认说明
bank_idstringyes--题库ID
topicstring--主题或学习目标
countint5建议数量
difficultystring"mixed"easy, medium, hard,或 mixed
bloom_levels列出所有布鲁姆的目标水平

资源

URI描述
questionbank://blooms-taxonomy布鲁姆分类学参考——6个级别,包括动作动词、示例问题和写作技巧
questionbank://question-types问题类型指南——何时使用每种类型,最佳实践

问题模式

领域

字段类型默认值描述
idstringautoUUID,带 q- 前缀
bank_idstring--父题库
question_type枚举--multiple_choice, true_false, short_answer, essay
stemstring--问题文本
options列表--答案选项(仅限多选)
correct_answerstring--答案或量规
explanationstring--为什么答案是正确的
difficulty浮子0.50.0(容易)到1.0(难)
bloom_level枚举--remember, understand, apply, analyze, evaluate, create
estimated_time_secondsint60预期应答时间
pointsint1点值
statusenumdraftdraft, active, archived
times_usedint0使用计数器
times_correctint0正确响应计数器
avg_time_secondsfloat--平均响应时间
discrimination_indexfloat--IRT判别参数
created_at时间戳现在创建时间
updated_at时间戳现在上次更新时间

难度Buckets

范围描述
简单0.0–0.3回忆和基本理解
中等0.3-0.7应用与分析
0.7-1.0评估和综合

布鲁姆分类水平

级别动词示例
记住定义、列出、命名、识别、回忆
理解描述、解释、总结、解释
应用解决、使用、演示、计算
分析比较、对比、检查、区分
评估评估、判断、批评、辩护
创建设计、构建、开发、制定

使用示例

建立数学题库

“为10-11年级创建一个名为‘代数2’的题库” “添加多项式、二次方程和指数函数的主题” “在应用级别创建3个关于分解多项式的多项选择题,难度0.4-0.6” “激活我们刚才创建的所有问题”

按难度和布鲁姆级别搜索

“查找评估或创建级别的所有难题” “搜索难度在0.7以上的关于二次曲线的问题” “显示所有标记为“期末考试”的草稿问题”

获取差距建议

“我的代数2库的统计数据是什么?” “建议5个关于指数增长的简单记忆级问题” “我们需要更多的分析级问题——为二次方程提出一些建议”

建筑

┌─────────────────────────────────────────────┐
│             Claude Desktop / Code            │
│               (MCP Client)                   │
└──────────────────┬──────────────────────────┘
                   │ stdio
┌──────────────────▼──────────────────────────┐
│  run_server.py                               │
│  └─ src/question_bank/server.py              │
│     ├─ 12 tools  (@mcp.tool)                │
│     ├─ 2 resources (@mcp.resource)           │
│     └─ Markdown-formatted responses          │
└──────────────────┬──────────────────────────┘
                   │
┌──────────────────▼──────────────────────────┐
│  src/question_bank/database.py               │
│  ├─ question_banks     (top-level containers)│
│  ├─ topics             (hierarchical)        │
│  ├─ questions          (content + IRT)       │
│  ├─ question_topics    (many-to-many)        │
│  └─ question_tags      (many-to-many)        │
└──────────────────┬──────────────────────────┘
                   │
              data/question_bank.db (SQLite)

QTI 3.0兼容性

问题模式的设计如下 QTI 3.0 考虑兼容性。数据模型支持QTI导出所需的核心字段(问题类型、正确答案、选项、元数据),但导入/导出尚未实现。这是未来计划中的增强功能。

测试

目前还没有自动化测试套件。要验证数据库层是否正常工作,请执行以下操作:

python -m src.question_bank.database

要确认服务器启动,请执行以下操作:

python run_server.py

服务器在stdio传输上运行,因此它看起来会挂起(它正在等待MCP客户端输入)。按 Ctrl+C 停止。

贡献

欢迎投稿!该项目尚处于早期开发阶段。需要帮助的领域:

  • 自动化测试(pytest)
  • QTI 3.0导入/导出
  • 其他问题类型
  • CI/CD管道

许可证

麻省理工学院

______________________________________________________________________

由...建造 吉姆威廉斯 |

目录标签

目录标签

教育技术PythonClaude自然语言处理题库管理本地部署IRT分析AI辅助

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP