loadPlan
Load or replace the current plan on the MCPlanManager server by providing a complete plan object. This tool overwrites the in-memory plan data, ensuring proper task management and structure for long-term planning.
Instructions
通过一个完整的计划对象加载或替换当前计划。 这个工具会直接覆盖内存中的整个计划,请谨慎使用。
Args: plan_data (dict): 一个包含完整计划数据的字典对象,通常由 dumpPlan 工具导出。 它应包含 'meta', 'state', 和 'tasks' 三个顶级键。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan_data | Yes |
Implementation Reference
- src/mcplanmanager/app.py:26-36 (handler)MCP tool handler for loadPlan: decorated with @mcp.tool(), validates input implicitly via type hints and docstring schema description, delegates execution to PlanManager.loadPlan()@mcp.tool() def loadPlan(plan_data: dict) -> ToolResponse: """ 通过一个完整的计划对象加载或替换当前计划。 这个工具会直接覆盖内存中的整个计划,请谨慎使用。 Args: plan_data (dict): 一个包含完整计划数据的字典对象,通常由 dumpPlan 工具导出。 它应包含 'meta', 'state', 和 'tasks' 三个顶级键。 """ return plan_manager.loadPlan(plan_data)
- Core implementation of loadPlan in PlanManager: validates plan_data structure, deepcopies it to self.plan_data, updates timestamp, returns success response.def loadPlan(self, plan_data: Dict) -> Dict: """ 直接加载一个完整的计划对象,替换现有计划。 Args: plan_data (Dict): 符合PlanManager内部数据结构的完整计划字典。 Returns: Dict: 操作结果。 """ # (可选) 在这里可以添加对 plan_data 结构的验证 # 例如,检查 'meta', 'state', 'tasks' 等关键字段是否存在 if not all(k in plan_data for k in ["meta", "state", "tasks"]): return {"success": False, "message": "Invalid plan structure provided."} self.plan_data = deepcopy(plan_data) self._update_timestamp() return {"success": True, "message": "Plan loaded successfully."}