Skip to main content

AI Agent任务管理系统 - MCP服务

Project description

MCPlanManager - AI Agent 任务管理系统

PyPI version License: MIT

一个简洁高效的任务管理器,专为 AI Agent 的长程任务执行而设计,支持MCP (Model Context Protocol) 标准,并同时支持 uvxDocker 两种部署方式。

版本 1.2.0 更新亮点:

  • 新增计划持久化工具:引入 dumpPlanloadPlan 工具,允许对任务计划进行完整的导出和恢复。
  • 优化工具文档:为使用 Pydantic 模型的工具(如 initializePlan, editDependencies)补充了参数结构描述,以改善部分客户端的兼容性。
  • 增强测试套件:添加了针对持久化功能的完整测试用例,并优化了测试运行流程。

🚀 部署与使用

我们提供两种推荐的部署方式,请根据您的需求选择。

方式一:使用 uvx (轻量级 & 快速启动)

uvx 允许您以一行命令轻松启动 MCP 服务,它会自动处理依赖管理和环境设置。

  1. 先决条件:安装 uv 如果您的系统中还没有 uv,请先执行以下命令安装:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 配置您的AI客户端 在 Cursor、Continue.dev 等客户端中,使用以下配置即可自动下载并运行服务(通过标准输入输出进行通信):

    {
      "mcpServers": {
        "mcplanmanager": {
          "command": "uvx",
          "args": ["mcplanmanager"]
        }
      }
    }
    

方式二:使用 Docker (生产环境 & 隔离部署)

Docker 提供了最佳的环境一致性和隔离性,是生产环境部署的首选方案。服务将以 SSE (Server-Sent Events) 模式运行。

  1. 拉取或构建镜像 从 Docker Hub 拉取最新镜像:

    docker pull donway19/mcplanmanager:latest
    

    或者在项目根目录本地构建:

    docker-compose build
    
  2. 运行容器 您可以通过 docker rundocker-compose 来启动服务。

    使用 docker run:

    docker run -d --name mcplanmanager_service -p 8080:8080 donway19/mcplanmanager:latest
    

    使用 docker-compose (推荐): 项目根目录下的 docker-compose.yml 文件已为您配置好:

    services:
      mcplanmanager:
        build: .
        container_name: mcplanmanager_service
        ports:
          - "8080:8080"
        restart: unless-stopped
    

    然后运行 docker-compose up -d

  3. 配置您的AI客户端 使用以下配置通过 SSE 连接到 Docker 容器中运行的服务:

    {
      "mcpServers": {
        "mcplanmanager-docker": {
          "transport": "sse",
          "url": "http://localhost:8080/sse"
        }
      }
    }
    

    注意:如果部署在云服务器上,请将 localhost 替换为服务器的公网 IP 或域名。

🧪 运行测试

我们提供了一套完整的测试套件来保证代码质量。

  1. 启动服务 确保您的 MCP 服务正在运行(通过 uvxDocker)。

  2. 运行所有测试 在项目根目录执行以下命令:

    # 推荐使用 SSE 模式测试 Docker 部署
    python test/run_all_tests.py --mode sse
    
    # 或者使用 uvx 模式测试本地服务
    # python test/run_all_tests.py --mode uvx
    

    该脚本会自动运行所有功能测试和边界情况测试,并输出详细报告。

🛠️ MCP 工具列表

本项目提供以下15个工具:

  • initializePlan: 初始化新的任务计划
  • loadPlan: 从一个完整的计划对象加载并替换当前计划
  • dumpPlan: 导出当前完整的计划数据为一个字典对象
  • getCurrentTask: 获取当前正在执行的任务
  • startNextTask: 开始下一个可执行的任务
  • completeTask: 标记任务为完成状态
  • failTask: 标记任务失败
  • skipTask: 跳过指定任务
  • addTask: 添加新任务到计划中
  • getTaskList: 获取任务列表(支持状态过滤)
  • getExecutableTaskList: 获取当前可执行的任务列表
  • getPlanStatus: 获取整个计划的状态
  • editDependencies: 修改任务间的依赖关系
  • visualizeDependencies: 生成依赖关系可视化(支持ascii, tree, mermaid格式)
  • generateContextPrompt: 生成上下文提示词

🧑‍💻 本地开发

如果您希望贡献代码或进行二次开发,请遵循以下步骤:

  1. 克隆仓库并设置环境

    git clone https://github.com/donway19/MCPlanManager.git
    cd MCPlanManager
    uv venv
    source .venv/bin/activate
    uv pip install -e .
    
  2. 在 Cursor 中进行本地调试 为了实现修改代码后实时生效的热重载调试,请在 Cursor 的 mcp.server.configFiles 设置中指向项目中的 examples/mcp_configs/local_development.json 文件。该文件已为您配置好了本地开发所需的环境变量。

    启动 Cursor 后,您就可以在聊天窗口中使用 @mcplanmanager-local-dev 来调用和测试您本地的最新代码了。

📄 许可证

本项目基于 MIT License - 详见 LICENSE 文件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcplanmanager-1.2.0.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcplanmanager-1.2.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file mcplanmanager-1.2.0.tar.gz.

File metadata

  • Download URL: mcplanmanager-1.2.0.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for mcplanmanager-1.2.0.tar.gz
Algorithm Hash digest
SHA256 41f423a7f4a634ed5937edb994215622217d711bcd9820e0b1bb339cd78db56f
MD5 c3231616ef43d59b36d537f1ac9e0830
BLAKE2b-256 efaae7d910a419dd6e1cfe89bb561edaa08e08808c87e33b0ea6aafb0ab90733

See more details on using hashes here.

File details

Details for the file mcplanmanager-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: mcplanmanager-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for mcplanmanager-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5ab6a9bde372065f57c6e1ceadba8070d481d8a48cfbb6ff025147588fc0ea7
MD5 59bc12186f0b50d49e9ade3da46aef0a
BLAKE2b-256 d8e9ff9bd51f7f0b1971ed0026718edd0985574fb1dfd53f131c8fcc3a245f67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page