|
|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
---
|
|
|
|
|
name: educoder-mcp
|
|
|
|
|
description: 提供 Educoder 课堂相关查询能力,当前支持课堂列表、课堂作业列表、作业学生列表、课堂考试列表、考试学生列表查询。
|
|
|
|
|
description: 提供 Educoder 用户与课堂相关查询能力,当前支持用户基本信息、课堂列表、课堂作业列表、作业学生列表、课堂考试列表、考试学生列表查询。
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## MCP 服务地址
|
|
|
|
|
@ -130,6 +130,7 @@ class MCPClient:
|
|
|
|
|
|
|
|
|
|
| 用户意图 | 调用工具 |
|
|
|
|
|
|----------|---------|
|
|
|
|
|
| 查询当前用户基本信息 | `educoder_user_info` |
|
|
|
|
|
| 查询当前用户的课堂列表 | `educoder_user_course_list` |
|
|
|
|
|
| 查询某个课堂中的作业列表 | `educoder_course_homeworks` |
|
|
|
|
|
| 查询某次作业下的学生列表 | `educoder_homework_student_works` |
|
|
|
|
|
@ -147,9 +148,10 @@ class MCPClient:
|
|
|
|
|
> 用户说:“帮我查一下我有哪些课堂,再看看某个课堂里的作业和考试”
|
|
|
|
|
|
|
|
|
|
依次调用:
|
|
|
|
|
1. `educoder_user_course_list`
|
|
|
|
|
2. `educoder_course_homeworks`
|
|
|
|
|
3. `educoder_course_exercises`
|
|
|
|
|
1. `educoder_user_info`
|
|
|
|
|
2. `educoder_user_course_list`
|
|
|
|
|
3. `educoder_course_homeworks`
|
|
|
|
|
4. `educoder_course_exercises`
|
|
|
|
|
|
|
|
|
|
> 用户说:“帮我看一下这次作业和这场考试的学生列表”
|
|
|
|
|
|
|
|
|
|
@ -172,12 +174,34 @@ class MCPClient:
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 1. `educoder_user_course_list`
|
|
|
|
|
### 1. `educoder_user_info`
|
|
|
|
|
|
|
|
|
|
获取当前用户基本信息。
|
|
|
|
|
|
|
|
|
|
**参数:**
|
|
|
|
|
|
|
|
|
|
| 参数 | 必填 | 说明 |
|
|
|
|
|
|------|------|------|
|
|
|
|
|
| `school` | 否 | 可选的 school 查询参数 |
|
|
|
|
|
|
|
|
|
|
**典型问法:**
|
|
|
|
|
- “查询当前用户信息”
|
|
|
|
|
- “我是谁”
|
|
|
|
|
- “获取我的基本资料”
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 2. `educoder_user_course_list`
|
|
|
|
|
|
|
|
|
|
获取当前用户课堂列表。
|
|
|
|
|
|
|
|
|
|
**参数:** 无
|
|
|
|
|
|
|
|
|
|
**典型问法:**
|
|
|
|
|
- “查询我有哪些课堂”
|
|
|
|
|
- “我的课堂列表”
|
|
|
|
|
- “获取当前用户的课堂信息”
|
|
|
|
|
|
|
|
|
|
**返回字段:**
|
|
|
|
|
- `status`
|
|
|
|
|
- `message`
|
|
|
|
|
@ -186,7 +210,7 @@ class MCPClient:
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 2. `educoder_course_homeworks`
|
|
|
|
|
### 3. `educoder_course_homeworks`
|
|
|
|
|
|
|
|
|
|
获取课堂中的作业列表。
|
|
|
|
|
|
|
|
|
|
@ -196,9 +220,14 @@ class MCPClient:
|
|
|
|
|
|------|------|------|
|
|
|
|
|
| `course_id` | 是 | 课堂 ID |
|
|
|
|
|
|
|
|
|
|
**典型问法:**
|
|
|
|
|
- “查询课堂中的作业列表”
|
|
|
|
|
- “这个课堂有哪些作业”
|
|
|
|
|
- “帮我看一下课堂作业”
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 3. `educoder_homework_student_works`
|
|
|
|
|
### 4. `educoder_homework_student_works`
|
|
|
|
|
|
|
|
|
|
获取某次作业下的学生列表。
|
|
|
|
|
|
|
|
|
|
@ -208,9 +237,14 @@ class MCPClient:
|
|
|
|
|
|------|------|------|
|
|
|
|
|
| `exercise_id` | 是 | 作业 ID |
|
|
|
|
|
|
|
|
|
|
**典型问法:**
|
|
|
|
|
- “查询某次作业下的学生列表”
|
|
|
|
|
- “这次作业有哪些学生提交了”
|
|
|
|
|
- “帮我看一下作业学生情况”
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 4. `educoder_course_exercises`
|
|
|
|
|
### 5. `educoder_course_exercises`
|
|
|
|
|
|
|
|
|
|
获取课堂中的考试列表。
|
|
|
|
|
|
|
|
|
|
@ -220,9 +254,14 @@ class MCPClient:
|
|
|
|
|
|------|------|------|
|
|
|
|
|
| `course_id` | 是 | 课堂 ID |
|
|
|
|
|
|
|
|
|
|
**典型问法:**
|
|
|
|
|
- “查询课堂中的考试列表”
|
|
|
|
|
- “这个课堂有哪些考试”
|
|
|
|
|
- “帮我看一下课堂考试”
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 5. `educoder_exercise_users`
|
|
|
|
|
### 6. `educoder_exercise_users`
|
|
|
|
|
|
|
|
|
|
获取某场考试下的学生列表。
|
|
|
|
|
|
|
|
|
|
@ -232,6 +271,11 @@ class MCPClient:
|
|
|
|
|
|------|------|------|
|
|
|
|
|
| `exercise_id` | 是 | 考试 ID |
|
|
|
|
|
|
|
|
|
|
**典型问法:**
|
|
|
|
|
- “查询某场考试下的学生列表”
|
|
|
|
|
- “这场考试有哪些学生”
|
|
|
|
|
- “帮我看一下考试参与学生”
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 客户端调用示例
|
|
|
|
|
@ -251,7 +295,7 @@ async def main():
|
|
|
|
|
tools = await session.list_tools()
|
|
|
|
|
print([tool.name for tool in tools.tools])
|
|
|
|
|
|
|
|
|
|
result = await session.call_tool("educoder_user_course_list", {})
|
|
|
|
|
result = await session.call_tool("educoder_user_info", {})
|
|
|
|
|
print(result)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|