Token导航 LogoToken导航

MCP Server · 开发工具

Claude scheduler

一个命令行工具,用于定时或周期性调度Claude Code SDK任务执行,支持MCP服务器访问和细粒度权限控制。

stdio官方级别未说明来源级核验工具 0
命令行工具PythonClaude权限管理

快速开始

作者 / 组织
claude-scheduler
提供方
claude-scheduler
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Claude scheduler 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python3 -m venv venv

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

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

克劳德调度程序

安排Claude Code代理在特定时间或定期运行,具有可选的MCP服务器访问和精细的权限控制。

概述

Claude Scheduler是一个命令行工具,允许您安排Claude Code SDK任务在无人值守的情况下运行。你可以:

  • 在特定时间安排一次性任务(例如“下午2:30”)
  • 按时间间隔(例如每3600秒)安排重复任务
  • 加载MCP服务器以访问工具(电子邮件、日历、任务管理器等)
  • 预先授权用于无人值守执行的特定工具

安装

# Clone/download the project
cd claude_scheduler

# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

快速开始

# Run the scheduler
python3 main.py

# Schedule a task
> schedule 2:30PM --mcps lookout --allow Send Alice a dad joke

# List scheduled tasks
> list

# Exit (saves state)
> exit

命令

命令描述
schedule在特定时间安排任务
periodic安排定期任务
list显示所有计划任务
unschedule按索引删除任务
save-prompt将任务提示保存到文件
mcps列出可用的MCP服务器
save将计划保存到磁盘
reload从磁盘重新加载计划
help显示帮助(使用 help 详情)
exit保存状态并退出

命令语法

日程

在特定时间安排Claude任务。

schedule  [options] 

选项:

  • --mcps name1,name2 -加载指定的MCP服务器
  • --cwd /path -设置工作目录(继承项目上下文)
  • --prompt-file /path -从文件读取提示(用于长提示)
  • --allow -预先授权所有加载的MCP,以便无人值守执行
  • --allow patterns -仅预先授权特定工具

示例:

# Basic task (will prompt for permissions if needed)
> schedule 9:00AM Check the weather

# With MCP, authorize all its tools
> schedule 2:30PM --mcps lookout --allow Send Alice a dad joke

# Authorize only specific tool
> schedule 9:00AM --mcps lookout --allow lookout:read_inbox Check my morning emails

# Multiple specific tools
> schedule 10:00AM --mcps lookout --allow lookout:read_inbox,lookout:send_mail Read and reply to urgent emails

# Wildcard tool patterns
> schedule 3:00PM --mcps lookout --allow lookout:mail_* Handle all mail tasks

# Multiple MCPs, authorize only one
> schedule 12:00PM --mcps lookout,aidderall --allow aidderall Summarize my tasks

# Long prompt from file (bypasses shell line length limits)
> schedule 9:00AM --mcps lookout --allow --prompt-file ~/prompts/morning_briefing.txt

周期性的

安排一个重复的Claude任务。

periodic  [options] 

示例:

# Every hour, check tasks
> periodic 3600 --mcps aidderall --allow Summarize my open tasks

# Every 5 minutes, check for urgent emails
> periodic 300 --mcps lookout --allow lookout:read_inbox Check for urgent emails

# Long prompt from file
> periodic 900 --mcps lookout --allow --prompt-file ~/prompts/calendar_check.txt

列表

显示所有计划任务及其索引、计划和选项。

> list

Scheduled tasks:
  0> "Send Alice a dad joke" at 02:30PM (mcps=[lookout], allow=[lookout])
  1> "Check for urgent emails" every 300s (mcps=[lookout], allow=[lookout:read_inbox])

取消安排

按索引删除任务。

> unschedule 0
Removed task 0

保存提示

将任务提示保存到文件中。可用于编辑或重新创建日程条目。

# Save task 0's prompt to a file
> save-prompt 0 ~/prompts/morning_briefing.txt
Saved prompt to /Users/you/prompts/morning_briefing.txt (847 chars)

# Edit the file, then recreate the task
> unschedule 0
> schedule 9:00AM --mcps lookout --allow --prompt-file ~/prompts/morning_briefing.txt

mcps

列出从加载的可用MCP服务器 ~/.claude.json.

> mcps
Available MCP servers (3):
  (from ~/.claude.json)

  lookout (sse)

  aidderall (stdio)

  dataremote (stdio)

  Use 'mcps --verbose' for details

> mcps --verbose
# Shows full config including source project paths

帮助

获取命令帮助。

> help
Available commands:
==================================================
  exit         - Exit the scheduler, saving state.
  help         - List all available commands with usage info.
  list         - List all scheduled tasks.
  ...
==================================================

Type 'help ' for detailed usage

> help schedule
schedule:
  Schedule a Claude task at a specific time.
  Usage: schedule  [options] 

  ...

权限系统

默认情况下,Claude在使用工具时会提示权限。对于计划/无人值守的任务,您需要使用预授权工具 --allow.

权限模式

MCP工具 (需要冒号):

模式允许
--allow (无参数)所有加载的MCP中的所有工具
--allow lookout:所有工具来自 lookout (尾部冒号=全部)
--allow lookout:send_mail只有 send_mail 从 lookout
--allow lookout:mail_*通配符匹配(例如。, mail_send, mail_read)
--allow lookout:,aidderall:多个MCP

内置工具:

模式允许
--allow BashShell命令执行
--allow Edit文件编辑
--allow Write文件创建
--allow Read文件读取
--allow Edit,Write多种内置工具

组合的:

# MCP + built-in tools
> schedule 9:00AM --mcps lookout --allow lookout:read_inbox,Bash Check mail and run cleanup

安全考虑

  • 仅预先授权每项任务所需的最低工具
  • 使用特定的工具模式(lookout:send_mail)而不是毯子(lookout:)
  • 内置工具,如 Bash 功能强大-请谨慎使用
  • 任务没有 --allow 将提示权限(在无人值守模式下失败)

坚持

任务计划保存到 claude_schedule.pickle 退出时恢复,启动时恢复。

> exit
Saving schedule state...
Saved 2 task(s) to claude_schedule.pickle
Goodbye!

# Later...
$ python3 main.py
Claude Scheduler v1.0
========================================
Loaded 2 task(s) from claude_schedule.pickle
...

MCP服务器配置

MCP服务器从您的Claude代码配置加载到 ~/.claude.json。首先在Claude Code中配置它们,然后它们将在调度器中可用。

调度器从Claude配置中的所有项目中抓取MCP配置-使用 mcps 命令查看可用内容。

运行测试

# Run all tests
python3 tests/test_parser.py

# Or with pytest (if installed)
python -m pytest tests/ -v

建筑

claude_scheduler/
├── main.py           # Entry point, CLI commands
├── command_line.py   # REPL command processor framework
├── scheduler.py      # Background task scheduler thread
├── claude_task.py    # ClaudeTask class (SDK integration)
├── mcp_registry.py   # MCP config loader from ~/.claude.json
└── tests/
    └── test_parser.py

框图

┌─────────────────────────────────────────────────────────────────────────────┐
│                            CLAUDE SCHEDULER                                 │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌──────────────┐         ┌─────────────────────────────────────────────┐   │
│  │   User CLI   │         │              main.py                        │   │
│  │              │────────▶│   ClaudeSchedulerCommandProcessor           │   │
│  │  > schedule  │         │                                             │   │
│  │  > periodic  │         │   Commands:                                 │   │
│  │  > list      │         │   • parse_task_args()                       │   │
│  │  > unschedule│         │   • schedule / periodic                     │   │
│  │  > mcps      │         │   • save / reload                           │   │
│  └──────────────┘         └──────────────┬──────────────────────────────┘   │
│                                          │                                  │
│                                          │ creates                          │
│                                          ▼                                  │
│  ┌───────────────────┐           ┌───────────────────┐                      │
│  │  mcp_registry.py  │           │   claude_task.py  │                      │
│  │                   │◀──────────│                   │                      │
│  │  MCPRegistry      │  lookups  │   ClaudeTask      │                      │
│  │  • ~/.claude.json │           │   • prompt        │                      │
│  │  • get()          │           │   • mcps[]        │                      │
│  │  • list_servers() │           │   • allowed_tools │                      │
│  └───────────────────┘           │   • cwd           │                      │
│                                  └─────────┬─────────┘                      │
│                                            │                                │
│                                            │ added to                       │
│                                            ▼                                │
│                                  ┌───────────────────┐                      │
│  ┌────────────────────┐          │   scheduler.py    │                      │
│  │ claude_schedule    │◀────────▶│                   │                      │
│  │    .pickle         │  save/   │   TaskScheduler   │                      │
│  │                    │  load    │   (Thread)        │                      │
│  │ Persisted tasks    │          │                   │                      │
│  └────────────────────┘          │   polls every 1s  │                      │
│                                  │   ┌───────────┐   │                      │
│                                  │   │ task_list │   │                      │
│                                  │   └─────┬─────┘   │                      │
│                                  └─────────┼─────────┘                      │
│                                            │                                │
│                                            │ when due: execute()            │
│                                            ▼                                │
│                                  ┌───────────────────┐                      │
│                                  │  Background Thread│                      │
│                                  │                   │                      │
│                                  │  _run_agent()     │                      │
│                                  │       │           │                      │
│                                  └───────┼───────────┘                      │
│                                          │                                  │
└──────────────────────────────────────────┼──────────────────────────────────┘
                                           │
                                           ▼
                               ┌───────────────────────┐
                               │   claude_code_sdk     │
                               │                       │
                               │   query(              │
                               │     prompt,           │
                               │     allowed_tools,    │
                               │     mcps              │
                               │   )                   │
                               └───────────┬───────────┘
                                           │
                        ┌──────────────────┼──────────────────┐
                        ▼                  ▼                  ▼
                 ┌────────────┐    ┌────────────┐    ┌────────────┐
                 │ MCP: mail  │    │ MCP: tasks │    │ Bash/Edit  │
                 │  (lookout) │    │ (aidderall)│    │   /Write   │
                 └────────────┘    └────────────┘    └────────────┘

流量:

  1. 用户输入命令→ parse_task_args() 提取选项
  2. ClaudeTask 使用提示、MCP、允许的工具创建
  3. 任务已添加到 TaskScheduler 线程列表
  4. 调度程序每秒轮询一次,检查 should_activate()
  5. 到期时→ 生成异步线程→ calls claude_code_sdk.query()
  6. 代理使用配置的MCP和工具权限运行

安全说明

Pickle文件:使用Python的 pickle 模块(claude_schedule.pickle).Pickle文件在加载时可以执行任意代码。 切勿从不受信任的来源加载pickle文件。 只使用你自己创建的pickle文件。

如果您需要在机器之间共享时间表,请使用 save-prompt 将提示导出为纯文本文件,然后在目标计算机上重新创建任务。

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

任务调度Python本地部署自动化工具命令行工具权限管理MCP集成

支持客户端

Claude

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

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

0stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

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

常见问题

5 条

Claude scheduler 怎么安装?

公开资料给出的安装命令是 python3 -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Claude scheduler 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Claude scheduler 收费吗?

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

Claude scheduler 需要 API Key 吗?

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

Claude scheduler 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP