🧠 AI-powered Schedule Management MCP Tool
基于FastMCP框架的智能日程管理工具,支持语音交互和AI智能功能。
- ✅ 智能日程创建 - 支持自然语言创建日程
- 🔍 多维度查询 - 按日期、分类、优先级、标签查询
- ✏️ 灵活更新 - 支持部分更新和批量操作
- 🗑️ 安全删除 - 冲突检测和安全删除机制
- 🏷️ 标签系统 - 灵活的标签分类管理
- 📍 地点支持 - 地点信息管理和交通时间估算
- ⏰ 提醒系统 - 多级智能提醒设置
- 🔄 重复日程 - 支持复杂的重复规则
- 🎤 语音交互 - 语音输入创建和管理日程
- 🧠 上下文理解 - 智能理解对话上下文
- ⚡ 智能建议 - 基于习惯的优化建议
- 📊 习惯分析 - 用户行为模式识别
- 🎯 冲突解决 - 智能冲突检测和解决方案
- 📈 效率分析 - 生产效率统计和趋势分析
- Python 3.14+
- uv 包管理器
- 克隆项目
git clone <repository-url>
cd mcp-general-plan- 安装依赖
uv init . -p 3.14
uv add 'mcp[cli]'
uv add fastmcp pydantic python-dateutil croniter jieba spacy pandas numpy- 启动服务
python main.py运行测试脚本验证功能:
python test_basic_functionality.py智能创建日程
smart_create_schedule(
title="会议标题",
start_time="2024-12-15T14:00:00",
end_time="2024-12-15T15:00:00",
description="会议描述",
location_name="会议室A",
priority="high", # low/normal/high/urgent/critical
category="work", # personal/work/study/meeting/health/entertainment/other
tags=["重要", "会议"]
)查询日程列表
get_schedules(
start_date="2024-12-01", # 可选
end_date="2024-12-31", # 可选
category="work", # 可选
status="pending", # 可选 pending/completed/cancelled
keyword="会议", # 可选
limit=50, # 可选
sort_by="start_time", # 可选
sort_order="asc" # 可选 asc/desc
)根据ID获取日程详情
get_schedule_by_id(schedule_id=1)更新日程信息
update_schedule(
schedule_id=1,
title="新标题", # 可选
start_time="2024-12-15T15:00:00", # 可选
end_time="2024-12-15T16:00:00", # 可选
description="新描述", # 可选
priority="urgent", # 可选
category="meeting", # 可选
status="completed" # 可选
)删除日程
delete_schedule(schedule_id=1)搜索日程
search_schedules(keyword="团队", limit=20)获取今天的日程
get_today_schedules()获取本周的日程
get_week_schedules()检查日程冲突
check_schedule_conflicts(
start_time="2024-12-15T14:00:00",
end_time="2024-12-15T15:00:00",
exclude_id=1 # 可选,排除特定日程
)获取即将到来的日程
get_upcoming_schedules(hours=24) # 未来24小时内的日程id- 主键title- 标题description- 描述start_time- 开始时间end_time- 结束时间location_id- 地点ID (外键)priority- 优先级 (1-5)category- 分类status- 状态recurrence_rule- 重复规则JSONai_score- AI智能评分
schedule_id- 日程ID (外键)remind_at- 提醒时间remind_type- 提醒类型is_sent- 是否已发送ai_recommended- 是否AI推荐
name- 地点名称address- 地址latitude- 纬度longitude- 经度travel_time_cache- 交通时间缓存JSON
name- 标签名称color- 标签颜色
mcp-general-plan/
├── main.py # MCP服务入口
├── src/
│ ├── __init__.py
│ ├── database/ # 数据库层
│ │ ├── models.py # 数据库模型
│ │ └── operations.py # 数据库操作
│ ├── services/ # 业务逻辑层
│ │ └── schedule_service.py # 日程服务
│ ├── schemas/ # 数据模式
│ │ ├── schedule.py # 日程数据模式
│ │ ├── user.py # 用户数据模式
│ │ └── analytics.py # 分析数据模式
│ ├── ai/ # AI模块 (规划中)
│ ├── integrations/ # 外部集成 (规划中)
│ └── utils/ # 工具类 (规划中)
├── tests/ # 测试代码
├── docs/ # 文档
├── DESIGN.md # 详细设计文档
└── test_basic_functionality.py # 基础功能测试
python test_basic_functionality.py- ✅ 日程创建
- ✅ 日程查询
- ✅ 日程更新
- ✅ 日程删除
- ✅ 日程搜索
- ✅ 冲突检测
- ✅ 今天/本周日程
- ✅ 数据库操作
- 基础项目结构
- 数据库设计和实现
- MCP基础框架
- 核心日程CRUD功能
- 基础测试验证
- 智能时间解析
- 自然语言处理
- 语音交互接口
- 提醒系统完善
- AI智能建议引擎
- 用户习惯分析
- 外部日历同步
- 高级统计报表
- 多语言支持
- Web界面
- 移动端应用
result = smart_create_schedule(
title="项目评审会议",
start_time="2024-12-15T14:00:00",
end_time="2024-12-15T16:00:00",
description="Q4项目进度评审",
location_name="会议室A",
priority="high",
category="meeting",
tags=["项目", "评审", "重要"]
)result = get_week_schedules()
if result["success"]:
schedules = result["schedules"]
work_schedules = [s for s in schedules if s["category"] == "work"]
print(f"本周有 {len(work_schedules)} 个工作日程")result = check_schedule_conflicts(
start_time="2024-12-15T15:00:00",
end_time="2024-12-15T17:00:00"
)
if result["has_conflict"]:
print("发现时间冲突:")
for conflict in result["conflicts"]:
print(f"- {conflict['title']}: {conflict['start_time']} - {conflict['end_time']}")- Fork 项目
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如有问题或建议,请:
- 查看 DESIGN.md 了解详细设计
- 运行测试脚本检查环境
- 创建 Issue 或 Discussion
智能日程管理MCP工具 - 让日程管理更智能、更高效! 🚀