C#代码智能工具服务

SharpLS.MCP是一个基于roslyn-language-server的C#代码智能工具服务,提供代码导航、编辑、诊断和智能感知等功能。

  • by adainrivers
  • C#
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 adainrivers/SharpLS.MCP

使用说明

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