Discover MCP Language Server for efficient code analysis and communication with multiple language servers.
The MCP (Model Context Protocol) Language Server is an advanced tool designed to facilitate communication and integration between intelligent language servers and various AI applications such as Claude Desktop, Continue, and Cursor. This server acts as a bridge, enabling these clients to leverage a wide range of tools and data sources for more efficient and accurate project management in large-scale development environments.
The MCP Language Server offers several key features that significantly enhance the capabilities of AI applications:
Behind the scenes, this server can handle workspace/applyEdit
requests from language servers like Golang's gopls and Rust's rust-analyzer, allowing for advanced features such as refactoring, adding imports, and code formatting.
The MCP Language Server leverages the Model Context Protocol (MCP) to communicate with various language and data sources. It makes use of mcp-go
for handling MCP protocol communications, ensuring seamless interaction between different tools and AI applications.
The core of this server is built on Go and includes support for multiple languages via integrated language servers like pyright, tsserver, gopls, rust-analyzer, among others.
To get started, you'll need to have Go installed. Follow the instructions below:
Install Go:
go install https://go.dev/dl/go<version>.linux-amd64.tar.gz # Replace <version> with your desired version
Fetch or Update the Language Server:
go install github.com/isaacphi/mcp-language-server@latest
Install Language Servers for Your Codebase:
npm install -g pyright
npm install -g typescript typescript-language-server
go install golang.org/x/tools/gopls@latest
rustup component add rust-analyzer
The MCP Language Server ensures compatibility and integration across various MCP clients, such as Claude Desktop and Continue:
Here’s an example of how to configure your Claude Desktop settings:
{
"mcpServers": {
"language-server": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/Users/you/dev/yourcodebase",
"--lsp",
"/opt/homebrew/bin/pyright-langserver",
"--"
],
"env": {
"LOG_LEVEL": "DEBUG"
}
}
}
}
The MCP Language Server is designed to be compatible with multiple language servers and tools. Here's a compatibility matrix:
MCP Client | Resources | Tools | Prompts | Status |
---|---|---|---|---|
Claude Desktop | ✅ | ✅ | ✅ | Full Support |
Continue | ✅ | ✅ | ✅ | Full Support |
Cursor | ❌ | ✅ | ❌ | Tools Only |
To enhance the performance and debug capabilities of your setup, you can configure the server using environment variables:
LOG_LEVEL
to DEBUG
for verbose logging.GOPATH
or GOCACHE
for gopls.apply_text_edit
, you can programmatically make multiple text edits to files as part of your development process.Contributions are welcome! To get started:
Clone the repository:
git clone https://github.com/isaacphi/mcp-language-server.git
cd mcp-language-server
Install dependencies:
go mod download
Build and run tests:
go build
go test ./...
Update snapshots if needed:
UPDATE_SNAPSHOTS=true go test ./integrationtests/...
Configure your MCP client to use the local binary.
For more information on the MCP ecosystem, visit the official Model Context Protocol documentation and resources. You can find comprehensive guides, tutorials, and additional tools to enhance your AI application integration journey.
graph TD
A[AI Application] -->|MCP Client| B[MCP Protocol]
B --> C[MCP Server]
C --> D[Data Source/Tool]
style A fill:#e1f5fe
style C fill:#f3e5f5
style D fill:#e8f5e8
MCP Client | Resources | Tools | Prompts | Status |
---|---|---|---|---|
Claude Desktop | ✅ | ✅ | ✅ | Full Support |
Continue | ✅ | ✅ | ✅ | Full Support |
Cursor | ❌ | ✅ | ❌ | Tools Only |
{
"mcpServers": {
"language-server": {
"command": "/full/path/to/your/clone/mcp-language-server/mcp-language-server",
"args": [
"--workspace",
"/path/to/workspace",
"--lsp",
"/path/to/language/server"
],
"env": {
"LOG_LEVEL": "DEBUG"
}
}
}
}
This comprehensive documentation aims to provide a deep understanding of the MCP Language Server, its capabilities, and integration with various AI applications, enhancing developer productivity and project management in large-scale development environments.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods