{"slug": "show-hn-keep-all-microservices-consistent-and-make-batch-changes", "title": "Show HN: Keep all microservices consistent and make batch changes", "summary": "A developer built an MCP server that indexes microservice repositories, enables natural language and structured search, and automates batch changes like updating dependencies across multiple repos. The tool uses MongoDB, Redis, and an agent CLI to create PRs and monitor workflows, aiming to simplify large-scale codebase maintenance.", "body_md": "Hi everyone!\n\ntl;dr At work, I needed to find every repository that uses deprecated Node 16 and make a batch update. This process was exhausting, I had to find them, make a change and a PR for 30 repositories, and then follow up with the pipeline to make sure it's green. I built an MCP server that indexes all the repos, lets you query repositories, makes batch PRs, and gives you a summary of the workflow runs.\n\n## Here's what it does:\n\n1. Indexing, which happens in 2 forms: - Codebase level: runs an agent CLI (with proper context) over all repos to extract what each one does, how they relate, and what the system looks like as a whole.\n\n- Repo level: Having the codebase context, it extracts logical info of each repo, and also the libraries, dependencies, etc for lexical search\n\n2. Search, also in 2 forms:\n\n- Natural language: where it answers search queries with respect to the codebase and targeted repository context - Structured search: where it returns the result based on actual dependencies (eg \"find me repositories that are written with Python, have requirements.txt, and are using FastAPI)\n\n3. Batch change:\n\nSimply prompt \"find my Python repositories and update library X from vY to vZ\"; This will search and find the affected repos, clone them, run a CLI agent like CC on each with the context we already persisted, create and prepare PRs, and give you a report of the results.\n\n## Tech stack `mongodb` To store the repository tree, dependencies, and workflows `redis` To store the user's session to track the ongoing batch job `claude-cli/Devin` Used as the main engine `docker-compose` to build `traefik` for routing\n\nI would appreciate your feedback and thoughts on this\n\nDemo video: [https://infraas.ai/](https://infraas.ai/)\n\nPS: I reviewed all the code, so if it looks like slop, that's me ^^\n\nComments URL: [https://news.ycombinator.com/item?id=48653659](https://news.ycombinator.com/item?id=48653659)\n\nPoints: 1\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-keep-all-microservices-consistent-and-make-batch-changes", "canonical_source": "https://infraas.ai", "published_at": "2026-06-24 00:40:16+00:00", "updated_at": "2026-06-24 01:15:48.910106+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools"], "entities": ["MongoDB", "Redis", "Claude CLI", "Devin", "Traefik", "Docker Compose", "MCP server", "Node 16"], "alternates": {"html": "https://wpnews.pro/news/show-hn-keep-all-microservices-consistent-and-make-batch-changes", "markdown": "https://wpnews.pro/news/show-hn-keep-all-microservices-consistent-and-make-batch-changes.md", "text": "https://wpnews.pro/news/show-hn-keep-all-microservices-consistent-and-make-batch-changes.txt", "jsonld": "https://wpnews.pro/news/show-hn-keep-all-microservices-consistent-and-make-batch-changes.jsonld"}}