项目简介

Chungoid MCP 服务器是一个后端应用,旨在通过与 AI 代理(如 Cursor)交互,以定义好的阶段式工作流自动化新软件项目的初始化和引导过程。它管理项目状态、加载阶段提示、执行特定任务,并通过标准化的 Model Context Protocol (MCP) 与客户端通信。

主要功能点

  • 工作流协调: 根据预定义的阶段顺序(例如:0, 0.5, 1... 7.5)推进项目初始化流程。
  • 状态管理: 跟踪项目当前所处的阶段及其状态(完成、失败等),并将进度保存在 'project_status.json' 文件中。
  • 提示词管理: 加载核心的构建提示词和每个阶段特有的提示词,供 AI 客户端使用。
  • 工具执行: 允许 AI 代理通过 MCP 调用服务器注册的功能,例如初始化项目文件、获取项目状态、执行下一阶段逻辑等。这些功能可能进一步调用外部命令行工具。
  • 上下文提供: 通过状态文件和提示词,为 LLM 提供执行当前阶段任务所需的全部上下文信息。

安装步骤

  1. 环境准备:
    • 安装 Python 3.10 或更高版本。
    • 安装 Git。
  2. 克隆仓库:
    git clone https://github.com/chungoid/chungoid.git
    cd chungoid
  3. 创建并激活虚拟环境:
    python -m venv .venv
    source .venv/bin/activate # Linux/macOS
    # .\.venv\Scripts\activate # Windows PowerShell
  4. 安装依赖:
    pip install -r requirements.txt
  5. 配置环境: 确保 '.env' 文件存在,或从 '.env.example'(如果提供)创建,并根据需要设置日志文件路径、状态文件路径等变量。通常使用默认值即可。

服务器配置

Chungoid MCP 服务器被设计为由支持 MCP 协议的客户端(如 Cursor)启动和管理。您需要在客户端的 MCP 服务器配置中添加或修改一个条目。以下是配置所需关键信息的说明:

您的客户端配置(通常是 JSON 格式)需要包含一个对象,定义 Chungoid 服务器的启动方式:

  • '"server name"': 给您的 Chungoid 服务器起一个名字,例如 '"chungoid"'。这是客户端用来识别和连接服务器的名称。
  • '"command"': 指向您在安装步骤 3 中创建的 Python 虚拟环境中的 Python 解释器的绝对路径。这是客户端用来启动服务器进程的命令。
  • '"args"': 一个字符串列表,包含传递给 'command' 的参数。第一个参数应该是 您克隆的 Chungoid 仓库中 'chungoidmcp.py' 脚本的绝对路径
  • '"transport"': 必须设置为 '"stdio"',表示服务器和客户端通过标准输入/输出流进行通信。
  • '"workingDirectory"': 指向您希望 Chungoid 帮助引导或管理的“目标项目”目录的绝对路径非常重要,服务器将在该目录下查找 'goal.txt'、'project_status.json' 等文件。

客户端配置示例概念(请勿直接复制为代码,根据客户端要求填写信息):

配置一个名为 "chungoid" 的 MCP 服务器:
  - 启动命令 (command): 指向 Python 虚拟环境中的 python 可执行文件路径。
  - 命令行参数 (args): 包含 chungoidmcp.py 脚本的路径。
  - 传输协议 (transport): 设置为 "stdio"。
  - 工作目录 (workingDirectory): 设置为您要用 Chungoid 处理的项目的根目录路径。

配置完成后,重启您的 MCP 客户端以加载新的服务器设置。

基本使用方法

  1. 连接服务器: 在您的 MCP 客户端中,连接到您刚刚配置的 Chungoid 服务器(例如,名称为 'chungoid')。
  2. 初始化项目: 如果您是在一个空目录或新项目目录中开始,第一次使用时需要运行 'initialize_project' 工具。这会将必要的模板文件 ('goal.txt', 'project_status.json', '.chungoid/templates/stages/' 等) 复制到您在配置中指定的 'workingDirectory'(即您的目标项目目录)中。您可能需要通过客户端的界面或命令来执行这个工具。
  3. 定义目标: 在目标项目目录中找到复制过来的 'goal.txt' 文件,编辑它,清晰地描述您希望创建或引导的项目目标和环境要求。
  4. 执行下一阶段: 通过客户端调用 'execute_next_stage' 工具。服务器会读取 'project_status.json' 来确定当前进度,加载对应的提示词,并执行该阶段的逻辑。AI 客户端将收到相应的提示词或工具调用请求来协助完成阶段任务。
  5. 查看状态: 随时可以通过调用 'get_project_status' 工具来查看所有已完成或失败的阶段状态。
  6. 迭代: 重复调用 'execute_next_stage',直到项目达到您定义的目标阶段或所有阶段完成。根据每个阶段的输出和要求,您可能需要在客户端中手动编辑文件、执行操作或与 AI 进一步交互。

信息

分类

开发者工具