I want to tell you about Anvil. Anvil is two open-source tools that're in the same repository. They help solve two problems I have been having at my job. At my job I have to work with 5 repositories and we use Kafka and a shared Postgres database.
My first problem was that I got tired of explaining my project to Claude every time I started a session. Every time I started a session I would spend the first ten minutes explaining my project pasting files and talking about which services communicate with each other and what Kafka topics we use. The window where I could type would fill up quickly. I would run out of space to do my actual work. It felt like a waste of time and money. I was paying for the information to be repeated over and over.
So I built Anvil Pipeline. Anvil Pipeline looks at every repository in my project builds a graph of how everything's connected and automatically detects the relationships between them like Kafka topics and HTTP routes. This graph is then added to every agent call so the agent already knows how my project is set up. I do not have to paste files
The pipeline runs across all my repositories. Has many stages, including planning, building and validating. Every stage is saved, so if I lose my connection or my laptop goes to sleep it can pick up where it left off. I built this feature because I got frustrated with losing my work when the connection timed out.
My second problem was that every time I used an MCP client like Claude Code or Claude Desktop it would suggest functions that do not exist in my code. I also tried using AI code search tools. They were either tied to a specific IDE or required a SaaS backend that I did not want to use.
So I built Code Search MCP. It is a MCP server that any client can use.
Code Search MCP uses Tree-sitter parsing for 8 languages and has a search function with many tools, including find_callers and find_dependencies. The default embedding provider is Ollama so it is free to use. I also support providers like Voyage and Mistral if you want better results.
I spent a lot of time working on indexing, which means that only the parts of the code that have changed are updated. This makes it much faster and more efficient.
Both Anvil tools are fully local which means they do not send any information back to me or require you to create an account. They are also source under the MIT license. The dashboard is not very pretty. I ran out of time to work on the design.
I would really appreciate your feedback on the following things:
Whether the cross-repo detection strategies work for codebases or just mine.
-Whether the 8-stage pipeline is too rigid, for how other people work.
-Which of the 11 MCP tools are actually useful. I think 2 or 3 of them might not be needed.
-You can find the repository here: https://github.com/esanmohammad/Anvil