项目简介
Foundry MCP是一个Model Context Protocol (MCP) 服务器,专为AI编码助手(如Claude和Cursor)设计,用于管理项目上下文、规格说明和任务列表。它通过标准化的文件系统结构(存储在'~/.foundry/')提供持久化、确定性的项目上下文,避免了AI驱动工作流中常见的文件管理混乱和上下文丢失问题。Foundry通过JSON-RPC协议与AI助手客户端通信,提供结构化的数据访问和工具执行能力。
主要功能点
- 项目管理:
- 创建项目 ('create_project'): 建立新的项目结构,包含产品愿景、技术栈和项目总结。
- 分析项目 ('analyze_project'): 基于对现有代码库的分析,创建项目文档。
- 加载项目 ('load_project'): 获取项目的完整上下文(愿景、技术栈、总结及可用规格)。
- 列出项目 ('list_projects'): 发现所有可用的项目及其元数据。
- 规范管理:
- 创建规格 ('create_spec'): 为特定功能创建详细的规格说明,包括需求、实现任务列表和设计笔记。
- 加载规格 ('load_spec'): 获取特定规格的详细内容,支持模糊匹配功能名。
- 更新规格 ('update_spec'): 使用意图驱动的编辑命令(如设置任务状态、插入任务、追加内容到章节)安全且幂等地修改规格文件。
- 删除规格 ('delete_spec'): 永久删除某个规格及其所有相关文件。
- 内容校验:
- 校验内容 ('validate_content'): 验证LLM生成的内容是否符合Foundry的结构和长度要求,提供具体的改进建议。
- 辅助指南:
- 获取帮助 ('get_foundry_help'): 提供全面的工作流指导、内容示例、项目结构、参数说明和编辑命令使用指南,帮助AI助手有效利用Foundry工具。
- 确定性操作: 通过MCP工具封装文件系统操作,确保AI助手进行项目和规格管理时的可靠性和一致性。
安装步骤
-
安装Foundry MCP: 在您的终端中运行以下命令,使用Rust的包管理器'cargo'安装Foundry MCP工具:
cargo install foundry-mcp -
配置AI助手(例如Cursor或Claude Code): 运行以下命令,将Foundry MCP服务器集成到您的AI开发环境中。这些命令会自动创建必要的配置文件并注册Foundry MCP服务。
- 对于Cursor IDE:
foundry install cursor - 对于Claude Code:
foundry install claude-code
您可以通过运行 'foundry status' 验证安装状态。
- 对于Cursor IDE:
服务器配置
Foundry MCP 服务器通过'foundry serve'命令启动,并通过JSON-RPC协议与LLM客户端通信。AI助手客户端(如Cursor或Claude Code)需要配置MCP服务器的启动命令。
-
Cursor配置示例 ('~/.cursor/mcp.json'): 'foundry install cursor' 命令会自动在您的Cursor配置中添加以下'foundry'服务器配置。此配置文件通常位于'~/.cursor/mcp.json'或项目根目录下的'.cursor/mcp.json'。
{ "mcpServers": { "foundry": { "command": "foundry", "args": ["serve"], "env": { "FOUNDRY_LOG_LEVEL": "info" } } } }配置说明:
- '"foundry"': 这是MCP服务器的名称,LLM客户端将使用此名称来调用Foundry提供的工具。
- '"command": "foundry"': 指定Foundry MCP服务器的启动命令为'foundry'。这意味着'foundry'命令必须在您的系统PATH环境变量中可被发现和执行。
- '"args": ["serve"]': 这是传递给'foundry'命令的参数,用于指示它以MCP服务器模式启动。
- '"env": {"FOUNDRY_LOG_LEVEL": "info"}': 一个可选的环境变量,用于设置Foundry服务器的日志级别。在此示例中,日志级别被设置为'info'。
-
Claude Code配置示例 (通过CLI管理): Claude Code 使用其内置CLI工具来注册MCP服务器。'foundry install claude-code' 命令会自动通过'claude mcp add'命令将'foundry'服务器注册到Claude Code环境中。其内部配置逻辑与Cursor类似,也是指定'foundry serve'作为启动命令。LLM客户端通过'mcp_foundry_'前缀来调用Foundry MCP提供的工具。
基本使用方法
一旦Foundry MCP服务器安装并配置好,您的AI助手就可以直接调用Foundry提供的MCP工具,以结构化的方式管理项目上下文和开发工作流。
-
创建一个新项目: 当您需要开始一个新的软件项目时,AI助手会调用 'create_project' 工具,并提供项目名称、高层愿景、技术栈和项目总结。
- 在AI助手中,这可能表现为:'call create_project(project_name="my-web-app", vision="...", tech_stack="...", summary="...")'
- 在底层,Foundry会执行类似:'foundry mcp create-project my-web-app --vision '...' --tech-stack '...' --summary '...''
-
加载项目上下文: 当您需要了解一个现有项目的完整上下文时,AI助手会调用 'load_project' 工具。
- 在AI助手中:'call load_project(project_name="my-web-app")'
- 在底层:'foundry mcp load-project my-web-app'
-
创建一个功能规格说明: 当您开始开发一个新功能时,AI助手会调用 'create_spec' 工具,为该功能创建详细的需求、任务列表和设计笔记。
- 在AI助手中:'call create_spec(project_name="my-web-app", feature_name="user_authentication", spec="...", notes="...", tasks="...")'
- 在底层:'foundry mcp create-spec my-web-app user_authentication --spec '...' --notes '...' --tasks '...''
-
更新规格说明中的任务状态: 在开发过程中,您可以通过AI助手调用 'update_spec' 工具来修改任务列表(例如,将任务标记为完成)或向规格说明/笔记中追加内容。
- 在AI助手中:'call update_spec(project_name="my-web-app", spec_name="20250826_143052_user_authentication", commands=[{"target":"tasks","command":"set_task_status","selector":{"type":"task_text","value":"Implement OAuth2 integration"},"status":"done"}])'
- 在底层:'foundry mcp update-spec my-web-app 20250826_143052_user_authentication --commands '[{"target":"tasks","command":"set_task_status","selector":{"type":"task_text","value":"Implement OAuth2 integration"},"status":"done"}]''
信息
分类
开发者工具