Skip to main content
Glama
vistart

schedule-manager

by vistart

schedule-manager

面向 LLM 工具调用的日程管理系统,提供 MCP Server 和 CLI 两种接口。

技术栈

  • Python 3.12+

  • rhosocial-activerecord — ActiveRecord 模式 ORM

  • rhosocial-activerecord-postgres — PostgreSQL 异步后端(psycopg3)

  • MCP SDK v2 — FastMCP,提供标准 MCP 工具接口

  • python-dateutil — RFC 5545 RRULE 解析

  • Pydantic — 模型校验

Related MCP server: AI Calendar Assistant

安装

git clone https://github.com/vistart/schedule-manager.git
cd schedule-manager
python -m venv .venv
source .venv/bin/activate
pip install -e .

配置

复制 .env.example.env,填入数据库连接信息:

cp .env.example .env

.env 示例:

SCHEDULE_DB_HOST=192.168.1.3
SCHEDULE_DB_PORT=17689
SCHEDULE_DB_NAME=schedule_manager_db
SCHEDULE_DB_USER=root
SCHEDULE_DB_PASSWORD=your_password

初始化数据库表:

schedule-manager-setup-db

数据模型

schedules 表结构:

字段

类型

说明

id

INTEGER (PK)

自增主键

title

TEXT

日程标题(必填,非空)

description

TEXT

详细描述

status

TEXT

状态:pending / in_progress / completed / cancelled

priority

INTEGER

优先级 1(最高)~ 5(最低),默认 3

start_time

TIMESTAMP

开始时间

due_time

TIMESTAMP

截止时间

completed_at

TIMESTAMP

完成时间

location

TEXT

地点

tags

JSONB

标签列表

rrule

TEXT

RFC 5545 循环规则

rdate

JSONB

循环例外日期

exdate

JSONB

排除日期

created_at

TIMESTAMP

创建时间(自动)

updated_at

TIMESTAMP

更新时间(自动)

deleted_at

TIMESTAMP

软删除时间(NULL = 未删除)

CLI 使用

输出格式

默认 JSON 信封格式:

{"status": "ok", "data": {...}}
{"status": "error", "error": {"code": "NOT_FOUND", "message": "..."}}

--human 输出人类可读文本。

全局选项

选项

说明

--human

输出人类可读文本

--describe

输出机器可读的 JSON Schema 并退出

--help

显示帮助

命令

create — 创建日程

schedule-manager create --title '团队站会' --priority 3
schedule-manager create --title '部署 v2' --due-time '2026-09-10T14:00:00' --tags 'deploy,critical'
schedule-manager create --title '每日晨会' --rrule 'FREQ=DAILY' --start-time '2026-09-06T09:00:00'

参数

类型

必填

说明

--title

string

标题(非空)

--description / -d

string

描述

--status

string

状态(默认 pending)

--priority

int

优先级 1-5(默认 3)

--start-time

string

ISO 8601 开始时间

--due-time

string

ISO 8601 截止时间

--location

string

地点

--tags

string

逗号分隔的标签

--rrule

string

RFC 5545 循环规则

--dry-run

flag

预览,不真正创建

get — 查询日程

schedule-manager get --id 1

update — 更新日程(只修改提供的字段)

schedule-manager update --id 1 --status completed
schedule-manager update --id 1 --title '新标题' --priority 1

delete — 软删除日程

schedule-manager delete --id 1

complete — 标记完成

schedule-manager complete --id 1

list — 分页列表

schedule-manager list
schedule-manager list --status pending --sort-by priority --sort-order asc
schedule-manager list --page 2 --page-size 10
schedule-manager list --keyword 会议

参数

默认值

说明

--page

1

页码

--page-size

20

每页条数(1-100)

--status

-

按状态筛选

--priority

-

按优先级筛选

--keyword

-

关键词搜索(匹配标题和描述)

--sort-by

due_time

排序字段:due_time / created_at / updated_at / priority / title

--sort-order

asc

排序方向:asc / desc

schedule-manager search --keyword deadline

退出码

退出码

含义

0

成功

1

一般错误

2

参数错误

20

资源不存在

40

校验错误

MCP Server

通过 mcp CLI 启动:

mcp run schedule_manager.mcp_server

或在 MCP 客户端配置中添加:

{
  "mcpServers": {
    "schedule-manager": {
      "command": "schedule-manager-mcp",
      "args": []
    }
  }
}

工具列表

工具

说明

create_schedule

创建日程

get_schedule

按 ID 查询

update_schedule

更新日程(只改传入的字段)

delete_schedule

软删除

list_schedules

分页列表(支持筛选、排序)

complete_schedule

标记完成

search_schedules

关键词搜索

所有工具参数均为命名参数,返回 JSON 字典。

开发

pip install -e ".[test,dev]"

测试

pytest tests/ -v

需要 PostgreSQL 数据库。测试前确保 .env 配置正确并已执行 schedule-manager-setup-db

项目结构

src/schedule_manager/
├── __init__.py
├── config.py       # 数据库配置(从 .env 加载)
├── model.py        # Schedule ActiveRecord 模型
├── mcp_server.py   # FastMCP Server,7 个工具
├── cli.py          # CLI 入口,LLM 优化设计
└── setup_db.py     # 数据库表初始化脚本

许可证

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vistart/schedule-manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server