使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的甘特图服务器,旨在为AI助手提供标准化的接口,使其能够方便地创建、管理和可视化甘特图。通过此服务器,AI助手可以轻松地进行项目和任务管理,并将甘特图以HTML形式呈现,方便用户查看和交互。

主要功能点

  • 项目管理
    • 创建新的甘特图项目
    • 列出所有现有项目
    • 删除项目
  • 任务管理
    • 向项目添加新任务
    • 更新任务信息(名称、描述、日期、负责人、进度等)
    • 删除任务
    • 获取任务详情
  • 可视化
    • 生成交互式HTML甘特图,方便在浏览器中查看
    • (未来计划) 支持生成可嵌入到聊天消息中的HTML片段

安装步骤

  1. 环境准备

    • 确保已安装 Python 3.10 或更高版本。
    • 按照 uv官方安装指南 安装 'uv' 工具(用于Python虚拟环境和包管理,加速安装和运行)。
  2. 克隆仓库

    git clone https://github.com/Moss-G/Gantt-server.git
    cd Gantt-server
  3. 创建虚拟环境并安装依赖

    uv venv  # 创建虚拟环境
    source .venv/bin/activate  # Unix/macOS 系统
    # 或 .venv\Scripts\activate  # Windows 系统
    uv pip install -e .  # 安装项目依赖
  4. 创建数据目录 (首次运行前):

    mkdir -p data charts # 创建用于存储数据和图表的目录
  5. 运行服务器

    uv run run_server.py # 启动甘特图MCP服务器

服务器配置

以下 JSON 配置信息用于 MCP 客户端连接到甘特图服务器。您需要将此配置添加到您的 MCP 客户端的服务器列表中。

{
  "mcpServers": {
    "gantt-server": {  // 服务器名称,客户端用于标识和调用
      "command": "uv", // 启动服务器的命令,这里使用 uv 工具
      "args": [      // 启动命令的参数列表
        "--directory", // 指定工作目录
        "<完整路径到gantt-server目录>", // 请替换为 Gantt-server 仓库在您系统中的完整路径,例如 "/Users/yourname/Gantt-server"
        "run",        // uv run 命令,用于运行 Python 脚本
        "run_server.py" // 要运行的服务器启动脚本
      ]
    }
  }
}

配置说明

  • '"gantt-server"': 服务器在客户端配置中的名称,您可以自定义。
  • '"command": "uv"': 指定使用 'uv' 命令来启动服务器。'uv' 是一个快速的 Python 工具,用于包管理和运行 Python 脚本。
  • '"args"': 传递给 'uv' 命令的参数列表:
    • '"--directory", "<完整路径到gantt-server目录>"': 指定服务器的工作目录为 Gantt-server 仓库的根目录。请务必将 '<完整路径到gantt-server目录>' 替换为您本地 Gantt-server 仓库的实际路径。
    • '"run", "run_server.py"': 告诉 'uv' 运行 'run_server.py' 脚本,该脚本负责启动甘特图 MCP 服务器。

基本使用方法

  1. 启动服务器: 按照上面的 "运行服务器" 步骤启动 Gantt 图 MCP 服务器。
  2. 配置 MCP 客户端: 将上面提供的 JSON 配置添加到您的 MCP 客户端配置中,并确保将 '<完整路径到gantt-server目录>' 替换为实际路径。
  3. 通过 MCP 客户端与服务器交互: 使用您的 MCP 客户端,通过配置的 '"gantt-server"' 名称调用服务器提供的工具 (Tools) 来创建项目、管理任务、查看甘特图等。具体的工具和参数请参考代码中的 '@mcp.tool()' 注解和函数签名,或者咨询您的 AI 助手,通常助手会根据服务器提供的能力自动生成可用的指令。

例如,您可能可以通过 AI 助手发出类似以下的指令来操作甘特图:

  • '创建甘特图项目 项目名称=“我的项目” 项目负责人=“张三”'
  • '列出甘特图项目'
  • '为项目 添加任务 项目ID=“proj_xxxx” 任务名称=“任务A” 开始日期=“2024-07-01” 持续时间=5'
  • '查看甘特图 项目ID=“proj_xxxx”'

请注意: 具体的指令格式取决于您使用的 MCP 客户端以及其对服务器工具的解析方式。您需要参考 MCP 客户端的文档来了解如何与 MCP 服务器进行交互。

信息

分类

生产力应用