Skip to content

agent-lsp

The most complete MCP server for language intelligence. 50 tools, 30 CI-verified languages, 20 agent workflows. Single Go binary.


AI agents make incorrect code changes because they can't see the full picture: who calls this function, what breaks if I rename it, does the build still pass. Language servers have the answers, but existing MCP bridges either cold-start on every request or expose raw tools that agents use incorrectly.

agent-lsp is a stateful runtime over real language servers. It indexes your workspace once, keeps the index warm, and adds a skill layer that encodes correct multi-step operations so they actually complete.

Install

curl -fsSL https://raw.githubusercontent.com/blackwell-systems/agent-lsp/main/install.sh | sh

See all installation methods or jump to the quick start guide.

How the pieces fit together

LSP (Language Server Protocol) is how editors get code intelligence — completions, diagnostics, go-to-definition. MCP (Model Context Protocol) is the standard way AI tools like Claude Code discover and call external tools. agent-lsp bridges the two: language server intelligence, accessible to AI agents.

How it works

One agent-lsp process manages your language servers. Point your AI at ~/code/. It routes .go to gopls, .ts to typescript-language-server, .py to pyright. No reconfiguration when you switch projects. The session stays warm across files, packages, and repositories.

Tested, not assumed

Every other MCP-LSP implementation lists supported languages in a config file. None of them run the actual language server in CI to verify it works.

agent-lsp CI runs 30 real language servers against real fixture codebases on every push: Go, Python, TypeScript, Rust, Java, C, C++, C#, Ruby, PHP, Kotlin, Swift, Scala, Zig, Lua, Elixir, Gleam, Clojure, Dart, Terraform, Nix, Prisma, SQL, MongoDB, and more. When we say "works with gopls," that's a verified, automated claim, not a hope.

Speculative execution

Simulate changes in memory before writing to disk. No other MCP-LSP implementation has this.

simulate_edit_atomic previews the diagnostic impact of any edit. You see exactly what breaks before the file is touched. simulate_chain evaluates a sequence of dependent edits and reports which step first introduces an error.

Read more in the speculative execution docs.

Works with

AI Tool Transport Config
Claude Code stdio mcpServers in .mcp.json
Continue stdio mcpServers in config.json
Cline stdio mcpServers in settings
Cursor stdio mcpServers in settings
Any MCP client HTTP+SSE --http --port 8080 with Bearer token auth

What's unique

Capability Details
Tools 50
Languages (CI-verified) 30 — end-to-end integration tests on every push
Agent workflows (skills) 20 — named multi-step procedures
Speculative execution 8 tools — simulate changes before writing to disk
Connection model persistent — warm index across files and projects
Call hierarchy single tool, direction param
Type hierarchy CI-verified
Cross-repo references multi-root workspace
Auto-watch always-on, debounced file watching
HTTP+SSE transport bearer token auth, non-root Docker
Distribution single Go binary — 8 install channels