SharpLS。主控程序
包装的MCP服务器 roslyn语言服务器 提供C#代码智能工具。
需求
- .NET 10
roslyn-language-server 全局安装: dotnet tool install -g roslyn-language-server --prerelease
用法
将解决方案/项目路径作为CLI参数传递:
SharpLS.MCP.exe /path/to/MyProject.slnx
或使用 load_solution 运行时加载/切换解决方案的工具。
Claude MCP配置
{
"mcpServers": {
"SharpLS": {
"command": "dotnet",
"args": ["run", "--project", "/path/to/SharpLS.MCP", "--", "/path/to/MyProject.slnx"]
}
}
}
或者使用预构建的二进制文件:
{
"mcpServers": {
"SharpLS": {
"command": "/path/to/SharpLS.MCP/bin/Debug/net10.0/SharpLS.MCP.exe",
"args": ["/path/to/MyProject.slnx"]
}
}
}
环境变量
| 变量 | 描述 |
|---|
SHARPLSMCP_TIMEOUT | LSP请求超时(秒)(默认值:60) |
工具
导航
| 工具 | 说明 |
|---|
find_definition | 在文件中按名称查找符号的定义 |
find_references | 在工作区中查找对符号的所有引用 |
get_hover | 获取符号的悬停文档和键入信息 |
find_document_symbols | 列出C#文件中定义的所有符号 |
find_workspace_symbols | 在整个工作空间中搜索符号 |
go_to_implementation | 查找接口或抽象方法的实现 |
go_to_type_definition | 跳转到符号的类型定义 |
层级
| 工具 | 说明 |
|---|
incoming_calls | 查找调用指定符号的所有函数/方法 |
outgoing_calls | 查找指定符号调用的所有函数/方法 |
supertypes | 查找类型的基本类型和接口 |
subtypes | 查找派生类型和类型的实现 |
type_hierarchy | 显示从类型到其根基类型的完整继承链 |
编辑和诊断
| 工具 | 说明 |
|---|
get_diagnostics | 在不构建的情况下获取文件的编译器错误和警告 |
get_workspace_diagnostics | 在整个工作区/解决方案中获取错误和警告 |
rename_symbol | 在整个工作区重命名符号并将更改应用于磁盘 |
format_document | 使用项目格式规则设置文件(或行范围)的格式 |
代码操作
| 工具 | 说明 |
|---|
get_code_actions | 列出行或范围的可用快速修复和重构 |
apply_code_action | 按标题应用代码操作(快速修复、重构等) |
智能感知
| 工具 | 说明 |
|---|
get_completion | 在符号位置获取代码完成建议 |
get_signature_help | 获取方法签名重载和参数信息 |
生命周期
| 工具 | 说明 |
|---|
load_solution | 加载解决方案或项目文件(.sln/.slnx/.csproj) |
restart_lsp | 重新启动语言服务器 |