PlanManager MCP Server
A hierarchical plan management system built on FastMCP and SQLite that enables users to create, track, and manage various types of plans including travel itineraries, study schedules, and work tasks with templates, search capabilities, and progress statistics.
README
PlanManager MCP Server
🚀 基于FastMCP框架和SQLite的通用计划管理系统
一个功能强大的MCP服务器,支持创建、管理和追踪各类计划,特别适合旅行计划、学习计划、工作任务等多层级项目管理。
✨ 特性
📋 核心功能
- 🏗️ 层级管理 - 支持父子计划的层级结构
- 🗄️ 数据持久化 - 基于SQLite的可靠数据存储
- 🔍 智能搜索 - 按名称和描述搜索计划
- 📊 统计分析 - 实时查看计划完成情况
- 🔄 状态管理 - 完整的计划生命周期管理
🎯 快速模板
- ✈️ 旅行计划模板 - 一键创建完整的旅行计划
- 📚 学习计划模板 - 自动生成学习进度安排
- 💼 工作计划模板 - 灵活的任务分解
🛠️ 高级功能
- 📝 批量创建 - 支持一次性创建多个子计划
- 🏷️ 分类管理 - 多种类别标签支持
- 📅 时间管理 - 灵活的开始时间和截止日期
- 💾 元数据扩展 - JSON格式的自定义数据支持
🚀 快速开始
环境要求
- Python 3.14+
- UV (推荐) 或 pip
安装
# 克隆项目
git clone <your-repo-url>
cd plan-server-mcp
# 安装依赖
uv sync
# 或者使用pip
pip install -e .
运行
# 启动MCP服务器
uv run main.py
# 或者
python main.py
📖 使用指南
基础操作
创建计划
# 创建通用计划
create_plan(
name="我的新项目",
description="这是一个重要的项目",
category="工作",
scheduled_at="2025-01-01",
deadline="2025-03-31"
)
添加子计划
# 添加子步骤
add_step(
plan_id=1,
name="需求分析",
description="完成项目需求文档",
scheduled_at="2025-01-05"
)
快速模板
🌍 创建旅行计划
create_travel_plan(
destination="日本",
start_date="2025-04-01",
end_date="2025-04-10",
budget=15000,
description="东京、大阪、京都文化之旅"
)
📖 创建学习计划
create_study_plan(
subject="机器学习",
duration_weeks=8,
start_date="2025-01-15",
description="深入学习机器学习算法和实践"
)
查询和管理
查看计划
# 列出所有计划
list_plans()
# 按类别筛选
list_plans(category="旅行")
# 查看详情
get_plan_details(plan_id=1)
更新状态
# 更新计划状态
update_plan_status(plan_id=1, status="in_progress")
搜索和统计
# 搜索计划
search_plans(keyword="学习")
# 获取统计信息
get_plan_statistics()
📊 数据库设计
表结构
CREATE TABLE plans (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL, -- 计划名称
description TEXT, -- 描述
category TEXT DEFAULT 'general', -- 类别
parent_id INTEGER, -- 父计划ID
scheduled_at DATE, -- 开始时间
deadline DATE, -- 截止时间
status TEXT DEFAULT 'pending', -- 状态
metadata TEXT, -- 元数据(JSON)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (parent_id) REFERENCES plans (id) ON DELETE CASCADE
);
状态说明
pending- 待开始in_progress- 进行中completed- 已完成cancelled- 已取消
类别标签
general- 通用旅行- 旅行相关学习- 学习计划工作- 工作任务健康- 健康管理习惯- 习惯培养
🏗️ 架构设计
PlanManager MCP Server
├── FastMCP Framework # MCP协议层
├── SQLiteDB # 数据持久化层
├── Plan Management # 业务逻辑层
└── Template System # 模板系统
核心组件
1. SQLiteDB 类
- 数据库连接管理
- CRUD操作封装
- 事务支持
2. MCP Tools
create_plan- 创建计划add_step- 添加子步骤update_plan_status- 更新状态get_plan_details- 获取详情list_plans- 列出计划delete_plan- 删除计划
3. 模板系统
create_travel_plan- 旅行计划模板create_study_plan- 学习计划模板create_plan_batch- 批量创建
🔧 开发
项目结构
plan-server-mcp/
├── main.py # 主程序文件
├── pyproject.toml # 项目配置
├── uv.lock # 依赖锁定文件
├── README.md # 项目文档
└── USAGE.md # 使用指南
本地开发
# 开发模式运行
python main.py
# 代码检查
python -m py_compile main.py
# 测试数据库
sqlite3 plans.db ".schema"
📝 API 参考
核心工具
| 工具名 | 功能描述 | 参数 |
|---|---|---|
create_plan |
创建计划 | name, description, category, scheduled_at, deadline, metadata |
add_step |
添加子步骤 | plan_id, name, description, scheduled_at, metadata |
update_plan_status |
更新状态 | plan_id, status |
get_plan_details |
获取详情 | plan_id |
list_plans |
列出计划 | category, status |
delete_plan |
删除计划 | plan_id |
模板工具
| 工具名 | 功能描述 | 参数 |
|---|---|---|
create_travel_plan |
创建旅行计划 | destination, start_date, end_date, budget, description |
create_study_plan |
创建学习计划 | subject, duration_weeks, start_date, description |
create_plan_batch |
批量创建 | name, children, category, description |
实用工具
| 工具名 | 功能描述 | 参数 |
|---|---|---|
search_plans |
搜索计划 | keyword |
get_plan_statistics |
获取统计 | 无 |
reschedule_plan |
重新安排时间 | plan_id, new_time |
🤝 贡献
欢迎提交 Issue 和 Pull Request!
开发流程
- Fork 项目
- 创建特性分支
- 提交更改
- 创建 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🙏 致谢
📞 支持
如有问题或建议,请:
Made with ❤️ using FastMCP
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。