Token导航 LogoToken导航TokenDH.com
Apscheduler MCP Server logo
AI代理stdio官方级别未说明来源级核验

Apscheduler MCP Server

MCP Server

基于MCP协议的定时任务调度服务,支持通过HTTP接口管理定时任务,适用于自动化工作流和计划任务执行。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
工作流自动化PythonHTTP服务Docker

安装说明

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

作者 / 组织

BoomBidiBuyBuy

提供方

BoomBidiBuyBuy

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

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

命令预览

docker run --rm \

详细介绍

aspscheduler mcp服务器

MCP(模型上下文协议)HTTP服务器实现 apscheduler.

示例/事件流程/场景(披萨星期五)

  • 上下文:代理连接到此调度器MCP服务和其他MCP服务:

- 披萨订购MCP:工具 order_pizza(type-of-pizza, "time to delivery today") - 电子邮件MCP:工具 send_email(email, message) 邀请同事 - 竹MCP:用于检索生日的工具,例如。 get_birthdays(window) 哪里 window 可以是 last_week

  • 用户向代理发出请求:“每周五,安排一份披萨订单在下午5:00交付,并安排一封电子邮件在下午4:45邀请同事参加周五披萨。邀请中包括上周过生日的人。”
  • 代理行为:

- 检索可用的MCP服务端点及其工具 - 制定执行计划 - 使用JSON格式的计划调用此服务中的一个调度工具

  • 调度器行为:

- 接受计划请求并存储cron触发器 - 当时间匹配时,执行计划

  • 基于LLM的员工行为:

- 连接到所有MCP服务的工作LLM在触发时间接收计划,并通过调用引用的MCP工具执行每个操作,遵守每个操作的 condition 字段来管理排序和成功依赖关系。

下面有两个独立的时间表:(1)每周五17:00点点披萨的一个动作;(2)每周五16:45有两个动作——首先获取上周的生日,然后发送电子邮件。第二个动作以第一个动作的成功为条件。该消息显示了一个常见的占位符模式,以包括上游结果;实际的插值取决于执行计划的工人/代理。

时间表1:每周五17:00订购披萨

工具调用输入 schedule_tool_call_by_cron:

{
  "execution_plan": {
    "order_pizza": {
      "mcp-service-endpoint": "http://pizza-mcp:3001/mcp/",
      "mcp-tool-name": "order_pizza",
      "mcp-tool-arguments": {
        "type-of-pizza": "assorted",
        "time to delivery today": "17:00"
      }
    }
  },
  "day_of_week": "fri",
  "hour": "17",
  "minute": "00",
  "timezone": "America/Los_Angeles"
}

时间表2:取生日,然后每周五16:45发送电子邮件

工具调用输入 schedule_tool_call_by_cron:

{
  "execution_plan": {
    "fetch_birthdays": {
      "mcp-service-endpoint": "http://bamboo-mcp:3003/mcp/",
      "mcp-tool-name": "get_birthdays",
      "mcp-tool-arguments": {
        "window": "last_week"
      },
      "condition": "executes first"
    },
    "send_email": {
      "mcp-service-endpoint": "http://email-mcp:3002/mcp/",
      "mcp-tool-name": "send_email",
      "mcp-tool-arguments": {
        "email": "team@company.com",
        "message": "Welcome Pizza Friday in the kitchen at 4:45pm! Birthdays: ${fetch_birthdays.result.summary}"
      },
      "condition": "executes only if fetch_birthdays was successful"
    }
  },
  "day_of_week": "fri",
  "hour": "16",
  "minute": "45",
  "timezone": "America/Los_Angeles"
}
\[!注意\] - 端点 是示例;使用您实际的MCP服务URL。 - 如果启用worker策略,则计划将转发到worker MCP>工具并在那里执行;如果您在以后的操作中依赖占位符,请确保worker支持引用以前的操作输出。

安装

环境变量/env文件

设置环境变量或配置 .env 文件使用 .env.example 作为模板。

常见变量:

  • MCP_HOSTMCP_PORT:配置服务绑定和公开的HTTP主机和端口。示例见 .env.example.

执行策略

此服务支持两种策略来执行 execution_plan:

  • 顺序(默认):在此服务流程中逐一执行每个操作。设置 EXECUTION_STRATEGY=sequential (未设置时为默认值)。
  • 工人:将整个计划转发给工人MCP工具,然后由其执行操作。启用 EXECUTION_STRATEGY=worker.

使用worker策略时,请同时配置以下两项:

  • WORKER_ENDPOINT:工作MCP服务端点
  • WORKER_TOOL_NAME:接受计划的工人MCP工具名称(用 `{ "execution_plan":

}`)

您可以通过环境变量进行设置(请参见 .env.example)或在运行时通过标记的MCP工具 admin:

  • set_worker_endpoint(worker_endpoint) --套装 WORKER_ENDPOINT
  • set_worker_tool_name(worker_tool_name) --套装 WORKER_TOOL_NAME

执行计划架构

execution_plan 参数注释/模式在中定义 plan-schema.ann。此文件的格式不固定;它被用作向MCP代理显示的描述,以便他们可以阅读和填充计划。每个操作的最低必填字段为:

  • mcp-service-endpoint
  • mcp-tool-name

可选的每个操作字段:

  • mcp-tool-arguments

您可以使用以下命令覆盖注释文件路径 PLAN_SCHEMA_ANNOTATION_PATH 环境变量(默认为 plan-schema.ann).

码头工人

A. Dockerfile 提供,以便您可以在容器中构建和运行服务。

塑造形象:

docker build -t apscheduler-mcp-server:latest .

运行容器(示例将主机端口3000映射到容器端口3000):

docker run --rm \
  -p 3000:3000 \
  -e MCP_HOST=0.0.0.0 \
  -e MCP_PORT=3000 \
  --env-file .env \
  apscheduler-mcp-server:latest

注:确保 MCP_HOST 设置为 0.0.0.0 因此可以从容器外部访问HTTP服务器。

发展

设置

  1. 克隆存储库。
  2. 安装开发依赖项:
   uv sync --dev
  1. 创建一个 .env 文件来自 .env.example.

预提交钩子

此项目使用 预承诺 使用以下命令自动检查代码样式 ruff 每次提交之前。

要设置预提交挂钩,请运行:

uv run pre-commit install

这将确保 ruff 每次提交之前都会自动运行检查。

运行MCP服务

要启动MCP服务,请运行:

uv run --env-file .env src/main.py

可用的MCP工具

  • list_scheduled_jobs() --列出所有计划作业(新)
  • remove_scheduled_job(job_id) --按id删除计划作业
  • schedule_tool_call_by_cron(execution_plan, ...) --Cron式调度
  • schedule_tool_call_at_interval(execution_plan, ...) --固定时间间隔调度
  • schedule_tool_call_once_at_date(execution_plan, run_date) --一次性日程安排
  • set_worker_endpoint(worker_endpoint) --要设置的管理工具 WORKER_ENDPOINT
  • set_worker_tool_name(worker_tool_name) --要设置的管理工具 WORKER_TOOL_NAME

运行测试

要运行测试套件,请使用:

uv run --dev pytest

奔跑的林特斯

该项目使用 ruff 作为过梁的工具。

要检查代码样式和linting问题,请运行:

uv run ruff check

要自动修复格式问题,请运行:

uv run ruff format

目录标签

目录标签

工作流自动化PythonHTTP服务Docker定时任务本地部署MCP协议

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP