# homework-grading-mcp
## 基本信息
- Slug: `pickstar-2002-homework-grading-mcp`
- Source: modelscope
- Publisher: @pickstar-2002/homework-grading-mcp
- Categories: education-and-learning-tools / image-and-video-processing / autonomous-agents
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@pickstar-2002/homework-grading-mcp
## 简介
暂无描述。
## 安装提示

```bash
npm install -g @pickstar-2002/homework-grading-mcp@latest
```

## MCP Server 详情

#  作业批改 MCP

<div align="center">

[![npm version](https://badge.fury.io/js/@pickstar-2002%2Fhomework-grading-mcp.svg)](https://badge.fury.io/js/@pickstar-2002%omework-grading-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)
[![MCP](https://img.shields.io/badge/MCP-Model%20Context%20Protocol-orange.svg)](https://modelcontextprotocol.io/)
[![Downloads](https://img.shields.io/npm/dm/@pickstar-2002/homework-grading-mcp.svg)](https://www.npmjs.com/package/@pickstar-2002/homework-grading-mcp)
[![Last Commit](https://img.shields.io/github/last-commit/pickstar-2002/homework-grading-mcp.svg)](https://github.com/pickstar-2002/homework-grading-mcp)

</div>

##  项目简介

**作业批改 MCP** 是一个基于 Model Context Protocol (MCP) 的智能作业批改服务通过集成魔搭社区的 Qwen3-VL-235B-A22B-Instruct 多模态模型实现对学生作业图片的智能识别和批改

###  核心功能

-  **智能识别**: 自动识别作业图片中的题目和学生答案
-  **精准批改**: 逐题判断答案正确性提供详细评分
-  **智能解析**: 为每道题提供简洁明了的解析说明
-  **结构化输出**: 按照标准格式输出批改结果
-  **批量处理**: 支持同时批改多份作业
-  **多科支持**: 支持数学语文英语等多个学科
-  **URL支持**: 支持Base64和URL两种方式上传图片
-  **CDN兼容**: 支持各种CDN图片链接自动处理重定向

##  快速开始

###  环境要求

- Node.js >= 18.0.0
- npm 或 pnpm 包管理器
- 魔搭社区 API 密钥

###  安装

#### 全局安装推荐

```bash
npm install -g @pickstar-2002/homework-grading-mcp@latest
```

#### 本地安装

```bash
npm install @pickstar-2002/homework-grading-mcp@latest
```

###  配置

1. **获取魔搭社区 API 密钥**
   - 访问 [魔搭社区](https://www.modelscope.cn/)
   - 注册账号并获取 API 密钥

2. **设置环境变量**
   
   创建 `.env` 文件
   ```bash
   cp .env.example .env
   ```
   
   编辑 `.env` 文件填入你的 API 密钥
   ```env
   MODELSCOPE_API_KEY=your-modelscope-api-key-here
   ```

##  使用说明

###  命令行启动

```bash
# 直接运行
homework-grading-mcp

# 或使用 npx推荐
npx @pickstar-2002/homework-grading-mcp@latest
```

###  IDE 集成配置

#### VS Code + Cline 配置

1. **安装 Cline 插件**在 VS Code 扩展商店搜索并安装 "Cline" 插件

2. **配置 MCP 服务器**在 VS Code 设置中搜索 "MCP"找到 Cline 的 MCP 配置

3. **添加服务器配置**

```json
{
  "mcpServers": {
    "homework-grading": {
      "command": "npx",
      "args": ["@pickstar-2002/homework-grading-mcp@latest"],
      "env": {
        "MODELSCOPE_API_KEY": "your-modelscope-api-key-here"
      }
    }
  }
}
```

4. **重启 VS Code**配置完成后重启 VS Code 使配置生效

#### Claude Desktop 配置

1. **找到配置文件**
   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

2. **编辑配置文件**添加 MCP 服务器配置

```json
{
  "mcpServers": {
    "homework-grading": {
      "command": "npx",
      "args": ["@pickstar-2002/homework-grading-mcp@latest"],
      "env": {
        "MODELSCOPE_API_KEY": "your-modelscope-api-key-here"
      }
    }
  }
}
```

3. **重启 Claude Desktop**保存配置后重启应用

#### 其他 MCP 客户端

任何支持 MCP 协议的客户端都可以使用配置方式类似

```json
{
  "command": "npx",
  "args": ["@pickstar-2002/homework-grading-mcp@latest"],
  "env": {
    "MODELSCOPE_API_KEY": "your-api-key"
  }
}
```

###  使用示例

#### 方式1使用图片URL推荐

```json
{
  "tool": "grade_homework",
  "arguments": {
    "imageUrl": "https://example.com/homework.jpg",
    "subject": "数学",
    "studentName": "张三"
  }
}
```

#### 方式2使用Base64图片数据

```json
{
  "tool": "grade_homework",
  "arguments": {
    "imageData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ...",
    "subject": "数学",
    "studentName": "张三"
  }
}
```

#### 方式3批量批改作业

```json
{
  "tool": "batch_grade_homework",
  "arguments": {
    "submissions": [
      {
        "imageUrl": "https://example.com/student1-homework.jpg",
        "subject": "数学",
        "studentName": "张三"
      },
      {
        "imageUrl": "https://example.com/student2-homework.jpg",
        "subject": "数学",
        "studentName": "李四"
      }
    ]
  }
}
```

#### 方式4指定题目信息可选

```json
{
  "tool": "grade_homework",
  "arguments": {
    "imageUrl": "https://example.com/homework.jpg",
    "subject": "数学",
    "studentName": "张三",
    "questions": [
      {
        "id": "q1",
        "type": "calculation",
        "content": "计算 2 + 3 = ?",
        "standardAnswer": "5",
        "points": 5
      },
      {
        "id": "q2", 
        "type": "choice",
        "content": "下列哪个是偶数A. 3 B. 4 C. 5",
        "standardAnswer": "B",
        "points": 5
      }
    ]
  }
}
```

#### 实际使用场景示例

**场景1数学老师批改几何作业**
```json
{
  "tool": "grade_homework",
  "arguments": {
    "imageUrl": "https://5b0988e595225.cdn.sohucs.com/images/20180108/86e7ed5ce5154f5e8df5ae422ce61f93.jpeg",
    "subject": "数学",
    "studentName": "王同学"
  }
}
```

**场景2语文老师批改作文**
```json
{
  "tool": "grade_homework",
  "arguments": {
    "imageData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ...",
    "subject": "语文",
    "studentName": "李同学"
  }
}
```

##  返回结果格式

### 批改结果结构

```typescript
interface HomeworkGradingResponse {
  submissionId: string;          // 提交ID
  totalScore: number;            // 总得分
  maxTotalScore: number;         // 满分
  grade: 'A' | 'B' | 'C' | 'D' | 'F';  // 等级
  results: GradingResult[];      // 每题详细结果
  overallFeedback: string;       // 总体反馈
  gradedAt: string;              // 批改时间
}

interface GradingResult {
  questionId: string;            // 题目ID
  isCorrect: boolean;            // 是否正确
  studentAnswer: string;         // 学生答案
  correctAnswer: string;         // 正确答案
  explanation: string;           // 解析说明
  score: number;                 // 得分
  maxScore: number;              // 满分
  feedback: string;              // 反馈意见
}
```

##  开发指南

###  项目结构

```
 src/
    config.ts              # 配置文件
    types.ts               # TypeScript 类型定义
    index.ts               # 主入口文件
    services/              # 服务层
       modelService.ts    # 模型服务
       gradingService.ts  # 批改服务
    tools/                 # MCP工具
       gradingTools.ts    # 批改工具定义
    utils/                 # 工具函数
        logger.ts          # 日志工具
        image.ts           # 图片处理工具
 package.json
 tsconfig.json
 READ…

