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 |
重新启动语言服务器 |