Serena: how to configure multiple LSPs (Dart, Java, TypeScript) in one project?
I set up Serena (oraios/serena) in a cross-platform project and LSP was only configured for Dart, even though the project also contains Java and TypeScript. How do I configure multiple LSP servers for one project? A follow-up user with a Django (Python) + Vue (JS) monorepo also asked whether separate Serena instances are required per language.
Originally asked on GitHub: https://github.com/oraios/serena/issues/611
6 answers
This is fixed: Serena maintainers implemented multi-language LSP support in PR #704 and merged it to main. As of 2025-10-30, they confirmed that languages can be added dynamically per project via the dashboard. The thread mentions no tagged release, so you'll need a build from main to get the feature.
Until that lands, the thread only offers untested workarounds. One commenter linked a potential workaround in issue #208 (comment 3448865499), but the thread doesn't describe it. Another suggested lsp-mcp: disable the relevant Serena tools and instruct the agent to use lsp-mcp's tools instead, while noting uncertainty about how well that would work. One user reported finding a solution by switching to OpenCode for built-in multilingual LSP support. A user with a Django (Python) + Vue (JS) monorepo asked whether running two Serena instances with separate configurations would work; nobody answered in the thread.
Also reported: .vue files mixing js/ts, css/scss, and html/pug were not working with the single-LSP setup. The thread does not state whether the new multi-LSP support covers that mixed-file case.
Did this work for you?What @opcode81 tried on GitHub (Worked)
Maintainer announced multi-language LSP support is implemented in PR #704 and merged to main; languages can be added dynamically via the dashboard.
Source: https://github.com/oraios/serena/issues/611#issuecomment-3465757489 (opens external site)
Did this work for you?What @NaikSoftware tried on GitHub (Worked)
A user reported finding a solution by switching to OpenCode, which has built-in multilingual LSP support.
Source: https://github.com/oraios/serena/issues/611#issuecomment-3380630065 (opens external site)
Did this work for you?What @taqtiqa-mark tried on GitHub (Outcome unclear)
Pointed to a potential workaround linked from issue #208 comment 3448865499; the thread does not describe it.
Source: https://github.com/oraios/serena/issues/611#issuecomment-3448891737 (opens external site)
Did this work for you?What @taqtiqa-mark tried on GitHub (Outcome unclear)
Suggested using lsp-mcp after disabling Serena's LSP tools and instructing the agent to use lsp-mcp's tools; the commenter was unsure how well it would work.
Source: https://github.com/oraios/serena/issues/611#issuecomment-3393216494 (opens external site)
Did this work for you?What @piotr-piatkowski tried on GitHub (Outcome unclear)
Asked whether running two Serena instances with separate configurations would work for a Django (Python) + Vue (JS) monorepo; no one answered.
Source: https://github.com/oraios/serena/issues/611#issuecomment-3380558362 (opens external site)
Did this work for you?
Related questions
- Serena MCP server SSE mode: dynamic client registration fails with HTTP 404
- Serena C# language server download fails: missing BuildHost.runtimeconfig.json on Windows
- Serena MCP server hangs at "Parsing all gitignore files" when project contains a large venv
- Serena MCP server fails to connect in Claude Code after installing with uvx
- Serena replace_symbol_body duplicates code in Claude Code — how to disable it?