项目简介
Chungoid MCP 服务器是一个后端应用,旨在通过与 AI 代理(如 Cursor)交互,以定义好的阶段式工作流自动化新软件项目的初始化和引导过程。它管理项目状态、加载阶段提示、执行特定任务,并通过标准化的 Model Context Protocol (MCP) 与客户端通信。
主要功能点
- 工作流协调: 根据预定义的阶段顺序(例如:0, 0.5, 1... 7.5)推进项目初始化流程。
- 状态管理: 跟踪项目当前所处的阶段及其状态(完成、失败等),并将进度保存在 'project_status.json' 文件中。
- 提示词管理: 加载核心的构建提示词和每个阶段特有的提示词,供 AI 客户端使用。
- 工具执行: 允许 AI 代理通过 MCP 调用服务器注册的功能,例如初始化项目文件、获取项目状态、执行下一阶段逻辑等。这些功能可能进一步调用外部命令行工具。
- 上下文提供: 通过状态文件和提示词,为 LLM 提供执行当前阶段任务所需的全部上下文信息。
安装步骤
- 环境准备:
- 安装 Python 3.10 或更高版本。
- 安装 Git。
- 克隆仓库:
git clone https://github.com/chungoid/chungoid.git cd chungoid - 创建并激活虚拟环境:
python -m venv .venv source .venv/bin/activate # Linux/macOS # .\.venv\Scripts\activate # Windows PowerShell - 安装依赖:
pip install -r requirements.txt - 配置环境: 确保 '.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 客户端以加载新的服务器设置。
基本使用方法
- 连接服务器: 在您的 MCP 客户端中,连接到您刚刚配置的 Chungoid 服务器(例如,名称为 'chungoid')。
- 初始化项目: 如果您是在一个空目录或新项目目录中开始,第一次使用时需要运行 'initialize_project' 工具。这会将必要的模板文件 ('goal.txt', 'project_status.json', '.chungoid/templates/stages/' 等) 复制到您在配置中指定的 'workingDirectory'(即您的目标项目目录)中。您可能需要通过客户端的界面或命令来执行这个工具。
- 定义目标: 在目标项目目录中找到复制过来的 'goal.txt' 文件,编辑它,清晰地描述您希望创建或引导的项目目标和环境要求。
- 执行下一阶段: 通过客户端调用 'execute_next_stage' 工具。服务器会读取 'project_status.json' 来确定当前进度,加载对应的提示词,并执行该阶段的逻辑。AI 客户端将收到相应的提示词或工具调用请求来协助完成阶段任务。
- 查看状态: 随时可以通过调用 'get_project_status' 工具来查看所有已完成或失败的阶段状态。
- 迭代: 重复调用 'execute_next_stage',直到项目达到您定义的目标阶段或所有阶段完成。根据每个阶段的输出和要求,您可能需要在客户端中手动编辑文件、执行操作或与 AI 进一步交互。
信息
分类
开发者工具