[FEATURE] Add Scala (Metals) to the native LSP plugin lineup
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Claude Code ships native LSP plugins for 12+ languages (TypeScript, Rust, Go, Python, Java/jdtls, Kotlin, C#, Ruby, PHP, Swift, Lua, C/C++) but has no Scala support. Scala Metals is the standard LSP server for the ecosystem and follows the exact same LSP protocol that all the existing plugins use.
Proposed Solution
The existing JVM plugin infrastructure already covers Java (jdtls) and Kotlin (kotlin-lsp). Metals follows the same LSP protocol and is installed the same way (via Coursier: cs install metals). A metals-lsp plugin would be structurally identical to the existing ones.
Alternative Solutions
Third-party solutions like Serena (an MCP server that wraps Metals) exist and do provide semantic code intelligence with better accuracy than text search (symbol-aware lookups vs. raw string matching). However, in our benchmarks, Serena's MCP-based lookups were an order of magnitude slower than plain grep — making it slower than the dumb alternative it's meant to replace. Native LSP integration would eliminate this overhead entirely.
Priority
High - Significant impact on productivity
Feature Category
MCP server integration
Use Case Example
I am the CTO of the company Magaran Software LLC. You can check my profile. I have been programming Scala since 2012, and it's the language that built my entire company. Most of our projects use it as the backend language, specially the bigger ones. I currently have a Team plan for magaran and everyone here uses Claude. Missing this LSP support is heavily hampering our productivity with the tool, although of course we can do stuff with grep in the meantime. Hopefully we can get a positive resolution to this.
Additional Context
_No response_
This issue has 15 comments on GitHub. Read the full discussion on GitHub ↗