自动评分系统

MCP Grader是一个基于Model Context Protocol(MCP)的无服务器AI评分系统,用于评估学生提交的结构化和半结构化作业,支持多种文件格式并集成AWS Bedrock和DynamoDB。

  • by galois17
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 galois17/mcp-grader

使用说明

MCP分级器——无服务器模型上下文协议分级系统

MCP平地机 是一个无服务器、人工智能驱动的评分系统,使用 模型上下文协议(MCP) 和 FastMCP.
它将您的LLM(例如Gemini CLI或OpenAI兼容客户端)连接到可重复的、确定性的评分后端,该后端使用结构化数据提取、置信度评分和AWS DynamoDB持久性来评估学生提交的内容。


特性

  • **使用无服务器MCP后端** FastMCP
  • 自动分级 用于结构化和半结构化数学/统计学作业
    (支持 .xlsx 和 .docx 答案和学生提交的材料)
  • **AWS基岩集成**——用途 nova-micro-v1 提取结构化的Q/A JSON
  • **DynamoDB(按需)**用于存储模板、提交和评分结果
  • **信心检测**——识别学生何时可能寻求帮助
  • **Excel(XLSX)报告**,带有颜色编码的分级明细和汇总表
  • **批处理**--自动对整个提交文件夹进行评分
  • **云就绪**——可作为容器部署或通过AWS Lambda/Fargate部署

🏗️ 安装

克隆存储库:

git clone https://github.com/galois17/mcp-grader.git
cd mcp-grader

使用uv安装依赖项(https://github.com/astral-sh/uv):

uv add boto3==1.40.63 fastmcp==2.13.0.2 openpyxl>=3.1.5 pandas>=2.3.3 python-docx>=1.2.0

或者一次性安装:

uv sync

AWS设置

MCP平地机需要访问AWS Bedrock和DynamoDB: 1.在您的AWS帐户中启用Bedrock访问权限(区域us-east-2)。 2.创建或允许按需DynamoDB表: •分配模板表 •成绩分配表 3.确保您的AWS凭据可用(通过~/.AWS/凭据或环境变量)。

如果这两个表不存在,该工具将自动创建它们。

将MCP平地机连接到Gemini CLI(截至2025年11月1日)

导航到与克隆存储库不同的目录。我将以~/tmp为例提起诉讼。(如果它不存在,请创建它。)

cd ~/tmp
cp /path/to/mcp-grader/assets/answer_key.xlsx .
cp -a /path/to/mcp-grader/assets/student_submissions .
gemini mcp list
#-> No MCP servers configured.
gemini mcp add grader uv run --with fastmcp fastmcp run /full_path_to/mcp-grader/server.py
#-> MCP server "grader" added to project settings. (stdio)
gemini mcp list

✓ grader: uv run --with fastmcp fastmcp run .../mcp-grader/server.py (stdio) - Connected

启动Gemini:

gemini

允许执行MCP工具。然后依次运行以下4个查询:

> Upload the answer key ~/tmp/q_and_a_answer_key.xlsx with all parameters null.
> Analyze the answer key using the latest template id.
> Now process all the student submissions in this folder: 
~/tmp/student_submissions
> Call the tool grade_all_submissions using the latest template ID.
The last query should result in something like this. The Excel file produced will contain the report of the grades.
✦ Grading is complete. The results have been saved to 
~/tmp/grading_results_faa5d7bf-5fdd-4db7-8802-af1181daa16d.xlsx.

该报告可以在~/tmp/grating_results_faa5d7bf-5fdd-4db7-8802-af1181daa16d.xlsx中找到。