Videos
Claude 4, in particular Opus, is amazing for coding. It has only two main downsides: high cost and a relatively small context window.
Fortunately, there is a free, open-source (MIT licensed) solution to help with both: the Serena MCP server, a toolbox that uses language servers (and quite some code on top of them) to allow an LLM to perform symbolic operations, including edits, directly on your codebase. You may have seen my post on it a while ago, when we had just published the project. It turns a vanilla LLM into a capable coding agent, or improves existing coding agents if included into them
Now, a few weeks and 1k stars later, we are nearing a first stable version. I have started evaluating it, and I'm blown away by the results so far! When using it on its own in Claude Desktop, it turns Claude into a careful and token-frugal agent, capable of acting on enormous projects without running into token limits. As a complement to an existing agentic solution, like Claude Code or some other coding agent, Serena significantly reduced costs in all my experiments while keeping or increasing the quality of the output.
None of it is surprising, of course. If you give me an IDE, I will obviously be better and faster at coding than if I had to code in something like word and use pure file-reads and edits. Why shouldn't the same hold for an LLM?
A quantitative evaluation on SWE-verified is on its way, but to just give a taste of what Serena can do, I created one PR on a benchmark task from sympy, with Opus running on Claude Desktop. It demonstrates how Opus intelligently uses the tools to explore, read and edit the codebase in the most token-efficient manner possible. For complete transparency, the onboarding conversation and the solution conversation are included. The same holds for Sonnet, but for Opus it's particularly useful, since due to its high cost, token efficiency becomes key.
Since Claude Code is now included into the pro subscription, the file-read based MCPs are largely obsolete for coding purposes (for example, the codemcp dev said he now stops the project). Not so for Serena, since the symbolic tools it offers give a valuable addition to Claude Code, rather than being replaced by it.
Even though sympy is a huge repository, the Opus+Serena combo went through it like a breeze. For anyone wanting to have cheaper and faster coding agents, especially on larger projects, I highly recommend looking into Serena! We are still early in the journey, but I think the promise is very high.
Thanks so much to /u/thelastlokean for raving about this.
I've been spending days writing my own custom scripts with grep, ast-grep, and writing tracing through instrumentation hooks and open telemetry to get Claude to understand the structure of the various api calls and function calls.... Wow. Then Serena MCP (+ Claude Code) seems to be built exactly to solve that.
Within a few moments of reading some of the docs and trying it out I can immediately see this is a game changer.
Don't take my word, try it out. Especially if your project is starting to become more complex.
https://github.com/oraios/serena
I am using Serena MCP, but I don't notice that Claude Code works better with it. In fact, anytime it calls Serena's tool, CC slows to a grind. I have my project indexed. Is it just me, or are MCPs just hype and not value adds?
Anybody working with Claude past the first WOW moment will know (and probably complain) that it overcomplicates, overengineers, creates stuff nobody asked for, duplicates things, and hallucinates field names.
You quickly end up with multiple outdated docs, duplicated stuff in different places, and as a result, Claude spends half its time trying to understand the codebase and the other half probably making things worse.
Apart from a good CLAUDE .md some cleverly crafted commands, and regular reviews, I believe using MCPs as a single source of truth can really help minimize, if not partly solve the problem.
So, what are some MCPs (Model Context Protocol) you've integrated to Claude, that are lifesavers for you ?
Like for example 7context : lets it fetch updated docs for almost any lib it works with.
I just built myself sequelae-mcp (for the brave and bold only), which lets you get DB schemas, do backups, and run SQL. No more copy-paste SQL or wasting time/tokens on Claude trying to invent failing SQL systems.
And right now I’m co-building api-tools-mcp, for building/retrieving API schemas via OpenAPI—so when working with APIs, it can check instead of guess-inventing.
Honestly, not sure those tools don't already exist, but i'll definitely be adding them to my workflow, hoping for a good boost in time spent and reliability.
Already did some in-app MCP for running SQL, and it's been a really a big positive change in my workflow.
I'm constantly hitting context limits faster with serena than without it
And honestly, I can't even tell if its actually helping/is beneficial at all
Anyone have any thoughts/experiences they'd like the share to help me understand if it's ACTUALLY helpful or not?
Thansk
We've been working like hell on this one: a fully capable Agent, as good or better that Windsurf's Cascade or Cursor's agent - but can be used for free.
It can run as an MCP server, so you can use it for free with Claude Desktop, and it can still fully understand a code base, even a very large one. We did this by using a language server instead of RAG to analyze code.
Can also run it on Gemini, but you'll need an API key for that. With a new google cloud account you'll get 300$ as a gift that you can use on API credits.
Check it out, super easy to run, GPL license:
https://github.com/oraios/serena