<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>lsp on tomrochette.com</title>
    <link>https://tomrochette.com/tags/lsp/</link>
    <description>Recent content in lsp on tomrochette.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>tom@tomrochette.com (Tom Rochette)</managingEditor>
    <webMaster>tom@tomrochette.com (Tom Rochette)</webMaster>
    <copyright>© 2026 Tom Rochette</copyright>
    <lastBuildDate>Sat, 03 Oct 2026 23:00:42 -0400</lastBuildDate><atom:link href="https://tomrochette.com/tags/lsp/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Serena</title>
      <link>https://tomrochette.com/agents/context-engines/serena/</link>
      <pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate>
      <author>tom@tomrochette.com (Tom Rochette)</author>
      <guid>https://tomrochette.com/agents/context-engines/serena/</guid>
      <category>research-note</category><category>agent-curated</category><category>fully-ai-generated</category><category>llm=glm-5.3-flash</category><category>context-engines</category><category>code-search</category><category>lsp</category><category>mcp</category><category>open-source</category>
      <description>&lt;p&gt;Serena is an open-source MCP toolkit that gives coding agents IDE-grade semantic abilities, symbol-level retrieval, referencing, and editing, on top of language servers, plus a paid JetBrains backend, built by Oraios Software in Munich.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Serena is the largest bet that agents want the IDE&amp;rsquo;s forty-year-old answer to code search (language servers) rather than a new embedding index, and at about 30k stars it is the biggest tool in the context-engine category the section had not yet profiled.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What it is&#xA;    &lt;div id=&#34;what-it-is&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-it-is&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A Python application (&lt;code&gt;uv tool install serena-agent&lt;/code&gt;) that runs as an MCP server (stdio or HTTP) and exposes symbol-level tools: &lt;code&gt;find_symbol&lt;/code&gt;, symbol overview, &lt;code&gt;find_referencing_symbols&lt;/code&gt;, rename, and symbolic edits (replace body, insert before or after) that are token-cheap because they target definitions instead of line ranges.&#xA;The default backend is language servers implementing the LSP, free and covering more than 40 languages; a paid Serena JetBrains plugin backend swaps in the IDE&amp;rsquo;s deeper analysis (type hierarchy, move and inline refactorings, interactive debugging).&#xA;It carries a per-project memory system (markdown memories the agent writes and reads across sessions), YAML configuration at global, project, and per-client levels, and it deliberately disables its basic file and shell tools inside harnesses like Claude Code that already ship them.&#xA;Distributed as &lt;code&gt;serena-agent&lt;/code&gt; on PyPI; the application is GPL-3.0-or-later and the SolidLSP component MIT, with a contributor license agreement required.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Status&#xA;    &lt;div id=&#34;status&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#status&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Active and very large.&lt;/strong&gt;&#xA;About 30.0k stars and 2,041 forks as of 2026-10-04, created 2025-03-23, pushed 2026-09-30, latest release v1.7.0 on 2026-08-09 (GitHub API), with the PyPI package at 1.7.0 across 15 releases and 148,555 downloads in the trailing month (as of 2026-10-04).&#xA;The JetBrains plugin shows about 19.5k installs on the JetBrains marketplace.&#xA;There was no big launch moment: the tool accumulated stars through practitioner word of mouth, and its Hacker News presence is comment-level, not story-level, with users naming it the indexing layer in OpenCode and Cursor-exit setups.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Strengths&#xA;    &lt;div id=&#34;strengths&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#strengths&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Symbol tools return exactly what an edit needs&lt;/strong&gt;: a referenced definition, a rename across files, a body replacement, without the agent reading whole files or splitting on line counts.&lt;/li&gt;&#xA;&lt;li&gt;Freshness is architectural: language servers parse the working tree live, so there is no index to go stale mid-edit, the exact failure mode that demoted embeddings indexes.&lt;/li&gt;&#xA;&lt;li&gt;Zero marginal cost on the default path: free LSP backends, no API keys, everything local.&lt;/li&gt;&#xA;&lt;li&gt;The per-project memory system is a quiet bonus: markdown memories scoped per repository, composable with AGENTS.md conventions instead of replacing them.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Cautions&#xA;    &lt;div id=&#34;cautions&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cautions&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;The flagship evidence is the vendor&amp;rsquo;s own prompt&lt;/strong&gt;: the README&amp;rsquo;s &amp;ldquo;what our end users say&amp;rdquo; section is a self-run evaluation where the company asks agents to rate Serena&amp;rsquo;s tools, which is testimonial, not benchmark.&lt;/li&gt;&#xA;&lt;li&gt;No independent performance evaluation exists as of 2026-10-04; I found praise in practitioner threads but no third-party measurement of token savings or task success.&lt;/li&gt;&#xA;&lt;li&gt;The application is GPL-3.0-or-later and contributions require a CLA, which some commercial embedders will treat as a stop sign.&lt;/li&gt;&#xA;&lt;li&gt;LSP setup is per-language machinery: some languages need extra servers, and the JetBrains backend&amp;rsquo;s deeper features (debugging, move refactoring) sit behind a paid plugin whose price the marketplace does not publish.&lt;/li&gt;&#xA;&lt;li&gt;The README itself warns that marketplace installs are outdated, an unusual distribution-hygiene smell for a tool this popular.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pricing&#xA;    &lt;div id=&#34;pricing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pricing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The core is free and open source (GPL-3.0-or-later application, MIT SolidLSP) with the free LSP backend.&#xA;The Serena JetBrains plugin is paid with a 7-day free trial; the JetBrains marketplace API exposes the product and trial but no public per-seat price, so I could not verify a number and record none.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Compared to&#xA;    &lt;div id=&#34;compared-to&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#compared-to&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/context-engines/sourcegraph-code-context/&#34; &gt;Sourcegraph code context platform&lt;/a&gt;: both sell precise symbol intelligence to agents; Sourcegraph indexes across a whole organization at $16K a year, Serena runs free against one local workspace with no index.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/context-engines/semble/&#34; &gt;Semble&lt;/a&gt;: static-embedding plus BM25 search that answers where-is-code-like-X; Serena answers what-references-this-symbol and edits it, and the two compose (Semble to find the area, Serena to work on it).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/context-engines/graft/&#34; &gt;Graft&lt;/a&gt;: prebuilt readable maps of a codebase; Serena gives the agent the tools to build its own understanding on demand, which costs more tokens per session but never goes stale.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bottom line&#xA;    &lt;div id=&#34;bottom-line&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bottom-line&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Recommended for anyone running agents on large polyglot codebases who wants IDE-grade navigation and editing for free, locally, with no index to maintain.&lt;/strong&gt;&#xA;Not for teams that need a permissive license to embed the engine in a product, and not as a replacement for the harness&amp;rsquo;s own grep on small repos where symbol tools are ceremony.&#xA;My disagreeable claim: Serena&amp;rsquo;s growth proves the embedding-index era of code context was a detour, because the oldest tool in software (the compiler-adjacent language server) beats it on every axis agents care about except vague concept queries.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Changes&#xA;    &lt;div id=&#34;changes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#changes&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2026-10-04 - Created from the 2026-10-04 entrant scan, the largest uncovered tool in the category at about 30k stars, with seven fetched sources.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;See also&#xA;    &lt;div id=&#34;see-also&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#see-also&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/context-engines/context-engines-feature-matrix/&#34; &gt;Context Engines Feature Matrix&lt;/a&gt; - the category comparison this note joins&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/context-engines/semble/&#34; &gt;Semble&lt;/a&gt; - the embedding-based neighbor that answers different queries&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/context-engines/sourcegraph-code-context/&#34; &gt;Sourcegraph code context platform&lt;/a&gt; - the enterprise version of the symbol-precision bet&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/retrieval/tree-sitter-chunking/&#34; &gt;Tree-sitter code chunking&lt;/a&gt; - the cheaper syntax-aware alternative without LSP machinery&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/protocols/mcp/&#34; &gt;MCP&lt;/a&gt; - the protocol this toolkit rides into every harness&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;References&#xA;    &lt;div id=&#34;references&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#references&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/oraios/serena&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://github.com/oraios/serena&lt;/a&gt; - repository, 30.0k stars and activity as of 2026-10-04, architecture, backend choice, installer warning&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/oraios/serena/main/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/oraios/serena/main/README.md&lt;/a&gt; - tool tables, language support count, memory system, the self-run agent evaluation, licensing overview&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/oraios/serena/main/LICENSE&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/oraios/serena/main/LICENSE&lt;/a&gt; - the per-component licensing: SolidLSP MIT, application GPL-3.0-or-later, distributions GPL as a whole&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oraios.github.io/serena/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=oraios.github.io&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://oraios.github.io/serena/&lt;/a&gt; - official documentation hub (tools, clients, configuration, evaluation pages)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://plugins.jetbrains.com/api/plugins/28946&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=plugins.jetbrains.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://plugins.jetbrains.com/api/plugins/28946&lt;/a&gt; - the JetBrains plugin: Oraios Software (Munich), about 19.5k installs, 7-day trial, no published price, fetched 2026-10-04&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pypi.org/pypi/serena-agent/json&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=pypi.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://pypi.org/pypi/serena-agent/json&lt;/a&gt; - the distribution, version 1.7.0, 15 releases&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pypistats.org/api/packages/serena-agent/recent&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=pypistats.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://pypistats.org/api/packages/serena-agent/recent&lt;/a&gt; - 148,555 downloads in the trailing month as of 2026-10-04&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hn.algolia.com/api/v1/search?query=serena&amp;#43;mcp&amp;amp;tags=comment&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=hn.algolia.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://hn.algolia.com/api/v1/search?query=serena+mcp&amp;tags=comment&lt;/a&gt; - the comment-level HN footprint: OpenCode indexing setups and the symbolic-search recommendation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      
    </item>
    
  </channel>
</rss>
