项目介绍
MCP语言服务器

这是一个MCP服务器,它运行并公开一个语言服务器给LLMs。这不是一个针对MCP的语言服务器。
演示
mcp-language-server帮助启用了MCP的客户端更容易地导航代码库,通过提供语义工具如获取定义、引用、重命名和诊断信息。

安装
- 安装Go:请按照https://golang.org/doc/install中的说明进行操作。
- 安装或更新此服务器:
go install github.com/isaacphi/mcp-language-server@latest
- 安装一个语言服务器:请参考以下指南之一
- 配置您的MCP客户端:请参考以下指南之一
<details>
<summary>Go (gopls)</summary>
<div>
<p><strong>安装gopls</strong>:`go install golang.org/x/tools/gopls@latest`</p>
<p><strong>配置您的MCP客户端</strong>:这将因客户端而异,但类似。对于Claude Desktop,在<code>~/Library/Application\ Support/Claude/claude_desktop_config.json</code>中添加以下内容:</p>
<pre>
{
"mcpServers": {
"language-server": {
"command": "mcp-language-server",
"args": ["--workspace", "/Users/you/dev/yourproject/", "--lsp", "gopls"],
"env": {
"PATH": "/opt/homebrew/bin:/Users/you/go/bin",
"GOPATH": "/users/you/go",
"GOCACHE": "/users/you/Library/Caches/go-build",
"GOMODCACHE": "/Users/you/go/pkg/mod"
}
}
}
}
</pre>
<p><strong>注意</strong>:并非所有客户端都需要这些环境变量。对于Claude Desktop,您需要根据您的机器和用户名来更新上述环境变量:</p>
<ul>
<li><code>PATH</code>需要包含到<code>go</code>和<code>gopls</code>的路径。使用<code>echo $(which go):$(which gopls)</code>获取。</li>
<li><code>GOPATH</code>、<code>GOCACHE</code>和<code>GOMODCACHE</code>在您的机器上可能有所不同。这些是默认值。</li>
</ul>
</div>
</details>
<details>
<summary>Rust (rust-analyzer)</summary>
<div>
<p><strong>安装rust-analyzer</strong>:`rustup component add rust-analyzer`</p>
<p><strong>配置您的MCP客户端</strong>:这将因客户端而异,但类似。对于Claude Desktop,在<code>~/Library/Application\ Support/Claude/claude_desktop_config.json</code>中添加以下内容:</p>
<pre>
{
"mcpServers": {
"language-server": {
"command": "mcp-language-server",
"args": [
"--workspace",
"/Users/you/dev/yourproject/",
"--lsp",
"rust-analyzer"
]
}
}
}
</pre>
</div>
</details>
<details>
<summary>Python (pyright)</summary>
<div>
<p><strong>安装pyright</strong>:`npm install -g pyright`</p>
<p><strong>配置您的MCP客户端</strong>:这将因客户端而异,但类似。对于Claude Desktop,在<code>~/Library/Application\ Support/Claude/claude_desktop_config.json</code>中添加以下内容:</p>
<pre>
{
"mcpServers": {
"language-server": {
"command": "m[END_OF_TEXT]