Show HN:保持所有微服务一致性并进行批量更改
一名开发者构建了一个MCP服务器,用于索引所有仓库、支持自然语言和结构化搜索,并能自动进行批量PR创建和状态跟踪,解决了手动管理30多个仓库的繁琐问题。
在管理多个微服务时,保持所有仓库的一致性是一个常见挑战。一位开发者分享了他为解决这一问题而构建的MCP(Model Context Protocol)服务器。该服务器通过双重索引机制,自动捕获代码库和每个仓库的详细信息。代码库级别索引通过运行具有适当上下文的代理CLI,提取每个仓库的功能、它们之间的依赖关系以及整个系统的架构。仓库级别索引则基于代码库上下文,提取每个仓库的逻辑信息、使用的库和依赖关系,用于后续的词汇搜索。
在搜索方面,该工具支持两种模式:自然语言搜索和结构化搜索。自然语言搜索根据代码库和特定仓库的上下文回答查询,而结构化搜索则基于实际的依赖关系返回结果,例如“查找用Python编写、具有requirements.txt并使用FastAPI的仓库”。这使得开发者能够快速定位受影响的仓库。
批量更改功能是其核心亮点。用户只需输入类似“查找我的Python仓库并将库X从vY更新到vZ”的指令,工具就会自动搜索受影响的仓库,克隆它们,使用已经持久化的上下文运行CLI代理,创建并准备拉取请求(PR),最后提供一个结果报告。这大大简化了跨30多个仓库的更新流程。
技术栈方面,该工具使用MongoDB存储仓库树、依赖关系和工作流信息,Redis存储用户会话以跟踪正在进行的批处理作业,Claude CLI或Devin作为主要引擎,Docker Compose用于构建,Traefik用于路由。开发者已审查所有代码,并提供了演示视频链接:https://infraas.ai/。