In-house set
Read a codebase you did not write
Three servers that answer the three different questions an agent gets wrong on a repository it has never seen: where is anything, why is it like that, and what version am I calling. Curated stacks in the wild carry all three.
The problem this is for
An agent dropped into an unfamiliar repository fails in several distinct ways, and they need different fixes. Most people reach for one retrieval tool, fix one of them, and conclude that agents are bad at large codebases.
| The failure | What it looks like | What answers it |
|---|---|---|
| Cannot locate things | greps for a string, finds the changelog | semantic retrieval |
| No intent, only code | "simplifies" a workaround back into the bug | history and pull requests |
| Wrong library version | correct-looking call to an API that was removed | live documentation |
The pairing worth understanding
Serena and the GitHub server look like they overlap and do not. Serena reads the code as it stands now. It cannot tell you that the odd retry loop on line 340 was added by a pull request titled "fix flaky deploys under load," because that sentence exists nowhere in the working tree. An agent that can only read the current state treats every workaround as an accident.
Context7 is the narrowest tool here and catches the failure that produces confidently wrong output rather than visibly stuck output, which is the more expensive kind.
What is missing from this stack, and why
The obvious fifth item is a bulk repository packer, something that flattens the whole tree into one file for the first ten minutes before you know what to ask Serena about. Repomix is the tool people use for this. It is not here because it has no row in this catalog: it is a CLI tool rather than a skill or an MCP server, and neither of our two ingestion adapters produces it.
That is a gap in our shelves, not a judgment about the software, and saying so is cheaper than quietly shipping a stack with an unexplained hole in it.
What the search changed
Checked 2026-08-13.
This page used to have a fourth server on it. hustcc/mcp-mermaid was here to
render what the agent had worked out, on the argument that everything else in
the stack is private scratch work that dies with the session.
We then put every stack in this directory through one grounded question: does any public source describe somebody running this combination, rather than these tools individually. The answer for the three above was yes, repeatedly. The answer for the fourth was that it appears with Serena and Context7 in one place and never alongside the GitHub server, and it is the weakest-maintained item of the four.
- Serena + Context7 + GitHub MCP Server, named together in a curated stack.
- Serena + Context7 + GitHub MCP Server again, in a second, independent one.
- Serena + Context7 described as a complementary pair, with neither of the other two present.
- Serena + Context7 +
mcp-mermaid, without the GitHub server.
So the trio is the part that other people converge on, and the diagram server was ours alone. It has been cut. The argument for it was good and the evidence was not there, and this catalog's whole position is that those are different things.
One caveat this page owes you: no source found describes all four running as one stack, and none describes anybody running the three as a deliberate set either. What the sources show is the same three servers recommended together in curated lists. That is weaker than a deployment report and stronger than nothing, and it is the level of evidence behind this page.
Take the lot
1 of 3, in order
claude mcp add context7 -- npx -y @upstash/context7-mcpSome of these are the commands their projects publish and some are assembled from repository paths. Each one is labelled where it appears below. Nobody here has run them as a set.
What is in it
Their picking, our numbers
Serena MCP: the IDE for your agentMCP server
oraios/serena/io.github.oraios/serena27,951★ repoMIT
Answers "where is anything" without reading the repository into context. Semantic retrieval over symbols rather than grep over strings, which is the difference between finding the function and finding every comment that mentions it.
No install line here. This server does not publish one we could copy, and it has no package name recorded, so anything shown here would be a guess at whether it runs from npm, PyPI, a container or a hosted URL.
The repository will have the real instructions: github.com/oraios/serena
GitHubMCP server
github/github-mcp-server/io.github.github/github-mcp-server32,051★ repoMIT
The "why is it like that" tool, and the one people leave out. A weird function is usually a fixed bug. The pull request that introduced it says so, and without history the agent reads the workaround as a mistake and helpfully removes it.
No install line here. This server does not publish one we could copy, and it has no package name recorded, so anything shown here would be a guess at whether it runs from npm, PyPI, a container or a hosted URL.
The repository will have the real instructions: github.com/github/github-mcp-server
Context7MCP server
upstash/context7/io.github.upstash/context760,787★ repoMIT
Fixes the failure that looks least like a context problem: the agent knows the library, just the version from its training data. Wrong API, confident tone, no error until runtime.
claude mcp add context7 -- npx -y @upstash/context7-mcpAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
More of these
Stacks are written by hand and there are not many. The catalog underneath is large, and its default ordering puts whatever has been picked at the front.