Token导航 LogoToken导航

MCP Server · 数据服务

MCP Cron Server

MCP Cron Server 是一个独立的定时任务调度服务,支持一次性、间隔和Cron表达式三种调度类型,提供SQLite持久化、审批系统、心跳机制等功能,适用于需要自动化任务调度的场景。

未说明官方级别未说明来源级核验工具 14
TypeScriptSQLite数据分析

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
nolan57
提供方
nolan57

工具数量

14

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

MCP Cron Server 属于数据服务类 MCP Server,公开资料标注 14 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

未说明

认证方式

无需认证

部署方式

仅本地运行

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 14 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

MCP Cron服务器

MCP Cron Server是一个独立的调度服务,通过模型上下文协议(MCP)提供类似Cron的作业调度。它与OpenCode集成,允许用户使用自然语言管理计划任务。

特性

  • 三种日程类型:一次(at)、间隔(every)、Cron表达式
  • SQLite持久化:用于高并发读/写的WAL模式
  • 审批系统:作业在执行前可能需要手动批准
  • 心跳机制:自动僵尸任务检测
  • 执行状态机:完成状态转换(待定→ 跑步→ 成功/失败/等待审批/暂停/取消)
  • 自动错误回退:30秒→ 1m → 5m → 15m → 60m
  • 并发控制:最多3个并发执行
  • 执行日志:缓冲日志记录以避免阻塞

建筑

┌─────────────────────────────────────────────────────────────┐
│                     OpenCode CLI                             │
│                         │                                    │
│         ┌───────────────┴───────────────┐                   │
│         ▼                               ▼                   │
│  ┌──────────────┐              ┌──────────────┐            │
│  │   MCP Client │              │    Skill     │            │
│  │   (14 tools) │              │  (mcp-cron)  │            │
│  └──────────────┘              └──────────────┘            │
└─────────────────────────────────────────────────────────────┘
          │ stdio
          ▼
┌─────────────────────────────────────────────────────────────┐
│                  MCP Cron Server                            │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                  CronScheduler                       │   │
│  │  ┌─────────────┐  ┌─────────┐  ┌──────────────┐  │   │
│  │  │ Repository   │  │  Timer  │  │   Executor   │  │   │
│  │  │  (SQLite)   │  │(setTimeout)│ │(subprocess) │  │   │
│  │  │ +LogBuffer  │  └─────────┘  └──────────────┘  │   │
│  │  └─────────────┘                                    │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

项目结构

opencode-mcp-cron/
├── package.json              # Project configuration
├── tsconfig.json            # TypeScript configuration
└── src/
    ├── index.ts             # MCP server entry point
    ├── types.ts            # Type definitions
    ├── database.ts          # SQLite database management
    ├── repository.ts        # Data access layer (with log buffer)
    ├── scheduler.ts         # Scheduler
    ├── executor.ts          # Execution engine
    └── schedule.ts          # Schedule time calculation

类型定义

计划类型

type CronSchedule =
  | { kind: 'at'; atMs: number }                    // One-time task
  | { kind: 'every'; everyMs: number; anchorMs?: number }  // Interval task
  | { kind: 'cron'; expr: string; tz?: string };     // Cron expression

有效载荷类型

type CronPayload = {
  kind: 'agentTurn' | 'systemEvent';
  message: string;           // Prompt or message content
  deliver?: boolean;         // Whether to deliver result
  channel?: string;         // Delivery channel
  to?: string;              // Delivery target
  model?: string;           // Model override
};

执行状态

type ExecutionStatus = 
  | 'pending'              // Waiting to execute
  | 'running'              // Currently executing
  | 'success'              // Executed successfully
  | 'failed'               // Execution failed
  | 'waiting_for_approval' // Waiting for approval
  | 'paused'               // Paused
  | 'cancelled';          // Cancelled

核心组件

1.数据库(database.ts)

SQLite数据库管理。

特征:

  • 用于高并发读/写的WAL模式
  • 自动架构迁移
  • 准备语句缓存
  • 地点: ~/.local/share/mcp-cron/cron.db

2.存储库(repository.ts)

数据访问层。

特征:

  • 作业/执行/日志/审批CRUD
  • 日志缓冲(批量写入以避免阻塞)
  • 原子态转换
  • 预处理语句

3.时间表(schedule.ts)

计划时间计算。

功能:

// Calculate next execution time
computeNextRunAtMs(schedule: CronSchedule, nowMs: number): number | undefined

// Format time for display
formatNextRun(nextRunAtMs: number | undefined): string

4.调度程序(scheduler.ts)

主调度程序。

特征:

  • 动态睡眠调度
  • 批处理速率限制
  • 状态机驱动
  • 并发控制
  • 僵尸任务检测

5.执行人(executor.ts)

作业执行引擎。

特征:

  • 子流程执行
  • 流媒体日志
  • 心跳更新
  • 超时控制
  • 审批触发

MCP工具

工具说明
cron_add添加新的计划作业
cron_list列出所有作业
cron_get获取作业详细信息
cron_update更新作业
cron_remove删除作业
cron_run立即执行作业
cron_status获取调度程序状态
cron_get_approvals获取待审批
cron_approve批准执行
cron_reject拒绝执行
cron_get_logs获取执行日志
cron_get_stats获取系统统计信息
cron_get_history获取执行历史记录
cron_list_executions列出带分页的执行情况

用法

构建

cd ~/Documents/opencode-mcp-cron
npm install
npm run build

配置

添加到OpenCode配置:

{
  "mcp": {
    "cron": {
      "type": "local",
      "command": ["node", "/path/to/dist/index.js"],
      "enabled": true
    }
  }
}

Cron表达式示例

表达式描述
0 8 * * *每天早上8:00
0 9 * * 1-5工作日上午9:00
0 18 * * 1-5工作日下午6:00
0 */2 * * *每2小时
0 0 * * *每天午夜

数据存储

  • 数据库: ~/.local/share/mcp-cron/cron.db
  • 日志:存储在SQLite中 logs 桌子

环境变量

变量描述默认值
OPENCODE_COMMANDopencode命令路径opencode
MCP_CRON_DB_PATH数据库路径~/.local/share/mcp-cron/cron.db

故障排除

作业未执行

  1. 检查调度程序状态:
opencode run "use cron_status tool to check scheduler status"
  1. 列出作业:
opencode run "use cron_list tool to list all jobs"
  1. 检查执行日志:
opencode run "use cron_get_logs tool to view logs"

MCP服务器连接失败

  1. 验证配置路径
  2. 手动测试服务器:
node ~/Documents/opencode-mcp-cron/dist/index.js

______________________________________________________________________

*最后更新时间:2026-03-10*

工具与能力

工具数量

14

资源数量

0

提示词数量

0

能力标签

定时任务TypeScript本地部署任务调度自动化SQLite审批系统

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 工具数量 14 个,一次接入能覆盖的操作比单点工具更全。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Cron Server

MCP World · 本页

14未说明未标注2 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Cron Server 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

MCP Cron Server 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Cron Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Cron Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Cron Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP