MCP并行开发模板
一个用于FastMCP的服务器模板 并行化LLM辅助的开发工作流程 在多个Git工作树中跨工作。此模板使开发者能够在隔离的开发环境中同时处理多个功能,同时保持持久的MCP(可能是指某种连接或协议,如“Multi-Context Protocol”或其他具体上下文中的含义)连接。
目的
这个模板解决了在处理多个功能时上下文切换所带来的开销问题。你无需频繁切换分支并丢失开发上下文,而是可以:
- 使用 Git 工作树并行处理多个功能
- 保持独立、隔离的开发环境
- 在所有工作树中保持MCP服务器连接持久性
- 当功能开发完成后,无缝合并更改
快速入门
先决条件
- Git 2.5+(支持工作树)
- Python 3.10及以上版本
- uv(Python包管理器)
- VSCode(可选,用于自动启动编辑器)
设置
# Clone or use this template
git clone
cd
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
# Run the MCP server
uv run main.py在Kiro中配置MCP
将此服务器添加到您的 .kiro/settings/mcp.json:
{
"mcpServers": {
"parallel-dev": {
"command": "uv",
"args": ["run", "main.py"],
"disabled": false
}
}
}核心功能
工作树管理
为并行开发创建一个新的工作树:
create_worktree("feature-auth")这在(系统中)创建了一个隔离的工作空间 .trees/feature-auth它会为你的虚拟环境创建符号链接,并启动VSCode。
列出所有活动的工作树:
list_worktrees()检查工作树的状态:
check_worktree_status() # All worktrees
check_worktree_status("feature-auth") # Specific worktree合并已完成的工作:
merge_worktree("feature-auth")
merge_worktree("feature-auth", delete_after=True) # Merge and cleanup清理工作树:
cleanup_worktree("feature-auth")
cleanup_worktree("old-experiment", force=True) # Force removal开发工作流程
在多个工作树之间同步依赖项:
sync_dependencies() # All worktrees
sync_dependencies("feature-auth") # Specific worktree并行运行测试:
run_tests_parallel() # All worktrees
run_tests_parallel(test_path="tests/test_api.py") # Specific test
run_tests_parallel(worktrees=["feature-auth", "feature-api"]) # Specific worktrees在工作树内创建特性分支:
create_feature_branch("feature-auth", "auth-oauth")MCP持久性
将MCP配置同步到工作树:
sync_mcp_config() # All worktrees
sync_mcp_config("feature-auth") # Specific worktree查看当前MCP配置:
get_mcp_config()更新MCP服务器配置:
update_mcp_config(
server_name="my-server",
command="uvx",
args=["my-package@latest"],
env={"LOG_LEVEL": "INFO"}
)典型的工作流程
启动新功能
- 为你的功能创建一个工作树:
create_worktree("feature-payment-integration")- 在新的工作树中自动打开VSCode
- 在MCP(可能指某种开发平台或框架)的全面支持下开发你的功能
- 随时检查状态:
check_worktree_status("feature-payment-integration")开发多个功能
- 创建多个工作树:
create_worktree("feature-auth")
create_worktree("feature-api")
create_worktree("bugfix-memory-leak")- 根据需要在VSCode窗口之间切换
- 对所有功能进行测试:
run_tests_parallel()- 在需要时同步依赖项:
sync_dependencies()完成一个功能特性
- 检查你的工作:
check_worktree_status("feature-auth")- 合并回主分支:
merge_worktree("feature-auth")- 如果发生冲突,请手动解决,然后:
# After resolving conflicts
git commit- 清理工作树:
cleanup_worktree("feature-auth")或者一步到位完成所有操作:
merge_worktree("feature-auth", delete_after=True)项目结构
├── main.py # MCP server entry point
├── tools/
│ ├── worktree_manager.py # Core worktree operations
│ ├── development_tools.py # Testing, syncing, status checks
│ └── mcp_persistence.py # MCP configuration management
├── .claude/
│ └── commands/ # Claude command definitions
│ ├── create_worktree.md # Command for creating worktrees
│ └── merge_worktree.md # Command for merging worktrees
├── .trees/ # Worktree directory (auto-created)
├── tests/ # Test suite
└── README.md # This file定制化
此模板设计为易于根据您的特定需求进行定制:
添加自定义工具
- 在(某处)创建一个新文件
tools/(例如。,tools/my_custom_tools.py) - 为你的函数定义添加适当的类型提示和文档字符串
- 导入并注册在
main.py:
from tools.my_custom_tools import my_tool
mcp.tool()(my_tool)修改工作树行为
编辑 tools/worktree_manager.py 进行定制:
- 默认的工作树位置(更改
WORKTREE_BASE_DIR) - VSCode 启动行为
- 虚拟环境处理
- 分支命名规范
添加前置/后置钩子
扩展工具以添加以下钩子:
- 合并前验证
- 创建后设置脚本
- 自定义依赖项同步逻辑
- 自动化测试触发器
最佳实践
- 使用描述性的工作树名称:
feature-user-auth而不是test1 - 保持工作目录的专注性每个工作树一个特性
- 定期同步依赖项特别是在更新主工作区之后
- 在合并前检查状态避免因未提交的更改而感到意外
- 清理已完成的工作树释放磁盘空间,减少杂乱
- 并行运行测试尽早发现集成问题
故障排除
工作树创建失败
- 确保你处于一个Git仓库中
- 检查工作树名称是否已存在
- 验证 Git 版本是否支持工作树(2.5+)
VSCode 无法启动
- 确保
code命令在你的 PATH 环境变量中 - 手动启动:
code .trees/your-worktree-name
合并冲突
- 使用由(某方)提供的冲突信息
merge_worktree() - 在您的编辑器中手动解决冲突
- 与……完全合并
git commit
依赖项不同步
- 跑
sync_dependencies()更新所有工作树 - 检查一下
uv.lock存在于主工作区中
高级用法
每个工作树的自定义MCP服务器
虽然模板默认会同步MCP配置,但您可以为每个工作树进行自定义设置:
- 编辑
.trees/your-worktree/.kiro/settings/mcp.json直接 - 添加特定于工作树的服务器或禁用不需要的服务器
- 在该工作树中重启MCP连接
自动化工作流
组合工具以实现自动化工作流:
# Create, sync, and test a new feature
create_worktree("feature-new")
sync_dependencies("feature-new")
run_tests_parallel(worktrees=["feature-new"])与持续集成/持续交付(CI/CD)的集成
在持续集成(CI)中使用并行测试功能:
# In your CI script
uv run python -c "from tools.development_tools import run_tests_parallel; print(run_tests_parallel())"做出贡献
这是一个模板——请fork它并根据自己的需求进行修改!欢迎贡献你的改进:
- 额外的仓库管理功能
- 更好的冲突解决协助
- 增强的MCP持久化机制
- 跨平台兼容性改进
许可证
MIT 许可证 - 详见 许可证 文件中有详细信息。
功劳/学分/积分
使用……构建 FastMCP(快速多重比较过程) 用于无缝创建MCP服务器。
