日程安排助手

ahlwjnj/schedule-mcp-server
Hosted
0 Stars 246 次浏览 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "schedule-mcp-server": {
      "args": [
        "schedule-mcp-server"
      ],
      "command": "uvx",
      "type": "stdio"
    }
  }
}

可用工具 (6 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

calculator 1 个参数 需填 1 项

For mathamatical calculation, always use this tool to calculate the result of a python expression. You can use 'math' or 'random' directly, without 'import'.

必填参数:python_expression

get_utf8_time

获取当前的时间(中国标准时间),精确到年、月、日、时、分、秒。

该工具无需必填参数,直接调用即可

add_schedule 6 个参数 需填 4 项

添加新的日程安排, 输入参数包括用户ID、角色名字、开始时间、活动描述、持续时间或结束时间,其中持续时间或结束时间必须提供其中一个. Args: user_id: 用户指定的用户ID名称, 当没有明确指定时为'测试员', 不能为空且优先取用户提示的用户ID名称, 不可以包含以下列表中任一元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 默认为'测试员'. role_name: 一位角色或多位角色名字,必须从以下列表中选出最接近的元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 当用户输入多个角色时用+连接,如'姐姐+妈妈'表示姐姐和妈妈同时参加. start_datetime: 日程开始时间,格式为 'YYYY-MM-DD HH:MM' activity: 日程活动简短描述, 如'舞蹈培训在索菲拉' duration: 日程持续时间(分钟),可选 end_datetime: 日程结束时间,格式为 'YYYY-MM-DD HH:MM',可选

必填参数:user_id、role_name、start_datetime、activity

query_schedule 9 个参数 需填 1 项

查询日程安排, 输入参数包括用户ID、角色名字、日程日期、日程年月、日程星期几、日程开始时间、日程结束时间、活动描述、日程持续时间,提供其中若干个信息,必须提供至少一个,用于查询日程安排。 Args: user_id: 用户指定的用户ID名称, 当没有明确指定时为'测试员', 不能为空且优先取用户提示的用户ID名称, 不可以包含以下列表中任一元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 默认为'测试员'. role_name: 一位角色或多位角色名字,如有必须从以下列表中选出最接近的元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 当用户输入多个角色时用+连接,如'姐姐+妈妈'表示姐姐和妈妈同时参加. 可选 date: 日程日期,格式为 'YYYY-MM-DD',可选 year_month: 日程年月,格式为 'YYYY-MM',可选 weekday: 日程星期几,格式为'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday',可选 start_datetime: 日程开始时间,格式为 'YYYY-MM-DD HH:MM',可选 end_datetime: 日程结束时间,格式为 'YYYY-MM-DD HH:MM',可选 activity: 日程活动简短描述, 如'舞蹈培训在索菲拉',可选 duration: 日程持续时间(分钟),可选

必填参数:user_id

update_schedule 6 个参数 需填 4 项

更新日程安排, 输入参数包括角色名字、活动描述、更新的日程开始时间、更新的日程结束时间、更新的日程持续时间,必须提供角色名字、活动描述、更新的日程开始时间, 其中更新的日程结束时间、更新的日程持续时间为可选输入,用于更新日程安排。 Args: user_id: 用户指定的用户ID名称, 当没有明确指定时为'测试员', 不能为空且优先取用户提示的用户ID名称, 不可以包含以下列表中任一元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 默认为'测试员'. role_name: 一位角色或多位角色名字,必须从以下列表中选出最接近的元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 当用户输入多个角色时用+连接,如'姐姐+妈妈'表示姐姐和妈妈同时参加. activity: 日程活动简短描述, 如'舞蹈培训' start_datetime_new: 更新的日程开始时间,格式为 'YYYY-MM-DD HH:MM' end_datetime_new: 更新的日程结束时间,格式为 'YYYY-MM-DD HH:MM',可选 duration_new: 更新的日程持续时间(分钟),可选

必填参数:user_id、role_name、activity、start_datetime_new

delete_schedule 4 个参数 需填 1 项

删除日程安排,输入参数包括角色名字、活动描述、特别指定一位需删除的角色名字,提供其中若干个信息,必须提供至少一个,用于删除日程安排。 Args: user_id: 用户指定的用户ID名称, 当没有明确指定时为'测试员', 不能为空且优先取用户提示的用户ID名称, 不可以包含以下列表中任一元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 默认为'测试员'. role_name: 一位角色或多位角色名字,如有必须从以下列表中选出最接近的元素:['姐姐','长公主','哥哥','大王子','弟弟','小王子','妹妹','小公主','妈妈','爸爸','奶奶', '爷爷'], 当用户输入多个角色时用+连接,如'姐姐+妈妈'表示姐姐和妈妈同时参加. 可选 activity: 日程活动简短描述, 如'舞蹈培训在索菲拉',可选 specific_role_name: 特别指定一位需删除的角色名字,用于从日程表role_name字段的多位角色中删除这一位角色,可选

必填参数:user_id

服务介绍

schedule-mcp-server

概述

schedule-mcp-server 是一个用于调度和管理多云平台(MCP)任务的服务器。它支持多种云服务提供商,并提供了灵活的任务调度功能。

安装

依赖

确保你的系统已经安装了以下依赖:

  • Java 8 或更高版本
  • Maven 3.5 或更高版本

构建

从项目的根目录运行以下命令来构建项目:

bash
mvn clean install

配置

src/main/resources/application.properties 文件中配置以下参数:

properties
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mcp?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password

启动

使用以下命令启动服务器:

bash
java -jar target/schedule-mcp-server.jar

使用

创建任务

要创建一个新的任务,可以发送一个 POST 请求到 /tasks 端点。请求体应包含任务的详细信息。

请求示例:

json
{
"name": "example-task",
"cloudProvider": "AWS",
"cronExpression": "0 0 * * * ?"
}

响应示例:

json
{
"id": "12345",
"name": "example-task",
"cloudProvider": "AWS",
"cronExpression": "0 0 * * * ?",
"status": "SCHEDULED"
}

查询任务

要查询所有任务的状态,可以发送一个 GET 请求到 /tasks 端点。

请求示例:

bash
curl http://localhost:8080/tasks

响应示例:

json
[
{
"id": "12345",
"name": "example-task",
"cloudProvider": "AWS",
"cronExpression": "0 0 * * * ?",
"status": "SCHEDULED"
}
]

更新任务

要更新现有任务,可以发送一个 PUT 请求到 /tasks/{taskId} 端点。请求体应包含更新后的任务信息。

请求示例:

json
{
"name": "updated-example-task",
"cloudProvider": "GCP",
"cronExpression": "0 0 12 * * ?"
}

响应示例:

json
{
"id": "12345",
"name": "updated-example-task",
"cloudProvider": "GCP",
"cronExpression": "0 0 12 * * ?",
"status": "SCHEDULED"
}

删除任务

要删除一个任务,可以发送一个 DELETE 请求到 /tasks/{taskId} 端点。

请求示例:

bash
curl -X DELETE http://localhost:8080/tasks/12345

响应示例:

json
{
"message": "Task with ID 12345 has been deleted."
}

文档

更多详细的文档可以在 这里 找到。

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

相关 MCP 服务