Token导航 LogoToken导航

MCP Server · 开发工具

C Sharper MCP

一个基于Roslyn和ILSpy的MCP服务器,为LLMs提供C#代码的语义理解功能,包括编译器诊断、符号导航、DLL反编译和代码操作。

未说明官方级别未说明来源级核验工具 2
C#Claude开发工具Cursor

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
diskodan
提供方
diskodan

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

C Sharper MCP 属于开发工具类 MCP Server,公开资料标注 2 个工具,通过传输方式未标注接入,适配 Claude、Cursor,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 2 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

CSharperMcp

一个MCP(模型上下文协议)服务器,为C#代码提供类似LLMs IDE的语义理解。停止grepping文件和幻觉代码结构——使用Roslyn和ILSpy提供真正的编译器诊断、符号导航、查找引用、反编译DLL和代码操作。

为什么存在

目前的AI编码工具(Claude Code、Cursor)缺乏C#语言服务器集成。没有它,LLMs就会恢复文件和暴力反向工程代码结构。这很慢,缺少语义上下文,对于DLL中的代码来说完全失败。此服务器通过包装Roslyn API和ICSharpCode来修复这个问题。分解器。

特性

  • 工作空间管理:加载和分析C#解决方案和项目
  • 诊断:获取编译器错误、警告和分析器消息
  • 符号智能:导航定义、查找引用、检查类型
  • DLL反思:解压缩并探索第三方程序集和NuGet包
  • 代码操作:应用重构和快速修复

______________________________________________________________________

安装

服务器以分布式方式分发。NET全局工具。使用 dnx 无需显式安装即可运行它:

# Run directly via dnx (no installation needed)
dnx CSharperMcp

# Or install globally
dotnet tool install --global CSharperMcp

# Run after installing
csharper-mcp

需求

  • .NET 10.0 SDK或更高版本
  • MSBuild (通过Microsoft.Build.Locator自动定位)

______________________________________________________________________

配置

使用Claude代码

添加到您的项目 .mcp.json 或您的全局MCP配置:

{
  "mcpServers": {
    "csharp-er-mcp": {
      "type": "stdio",
      "command": "dnx",
      "args": ["--yes", "CSharperMcp", "--workspace-from-cwd"]
    }
  }
}

推荐: 使用 --workspace-from-cwd 它自动使用当前工作目录。这允许该工具全局安装,并在所有C#项目中工作,而无需对每个项目进行配置。

备选方案: 如果需要指定显式的工作区路径,请使用 --workspace /some/folder:

{
  "mcpServers": {
    "csharp-er-mcp": {
      "type": "stdio",
      "command": "dnx",
      "args": ["--yes", "CSharperMcp", "--workspace", "/path/to/your/csharp/project"]
    }
  }
}

注: 可变膨胀,如 "${workspaceFolder}" 与Claude Code的全局工具安装不可靠,这就是为什么 --workspace-from-cwd 是推荐的。

与光标一起使用

推荐: 使用 --workspace-from-cwd 适用于所有项目的全局安装:

{
  "mcpServers": {
    "csharp-er-mcp": {
      "command": "dnx",
      "args": ["--yes", "CSharperMcp", "--workspace-from-cwd"]
    }
  }
}

备选方案: 如果需要指定显式的工作区路径,可以使用 ${workspaceFolder} 变量扩展(这在Cursor中工作):

{
  "mcpServers": {
    "csharp-er-mcp": {
      "command": "dnx",
      "args": ["--yes", "CSharperMcp", "--workspace", "${workspaceFolder}"]
    }
  }
}

其他MCP客户端

dnx --yes CSharperMcp --workspace /path/to/your/project

工作区自动初始化

服务器支持两种在启动时自动初始化工作区的方法:

--workspace -指定要初始化的显式路径:

dnx --yes CSharperMcp --workspace /path/to/your/project

--workspace-from-cwd -使用当前工作目录:

dnx --yes CSharperMcp --workspace-from-cwd

这两个选项都将:

  1. 寻找 .sln 文件(首选一个匹配的目录名,否则为最大)
  2. 退回到 .csproj 如果找不到解决方案,则返回文件
  3. 加载工作区并立即提供工具
  4. 禁用 initialize_workspace 工具(重新启动服务器以更改工作区)

没有任何参数:你必须打电话给 initialize_workspace 连接后手动工具。

使用YAML进行高级配置

您可以使用YAML配置文件自定义服务器行为和工具描述。服务器支持分层配置合并:

配置文件位置 (后面的文件会覆盖前面的文件):

  1. ~/.config/csharp-er-mcp.yml -用户全局首选项(可选)
  2. /.config/csharp-er-mcp.yml -项目特定配置(可选)

配置示例:

# Server configuration (optional - has defaults)
mcp:
  serverInstructions: "Custom instructions for the MCP server..."

# Tool descriptions (optional)
tools:
  initialize_workspace:
    description: "Custom description here..."
  get_diagnostics:
  some_tool_to_hide:
    isEnabled: false # Tool will be filtered out from MCP client

特征:

  • 覆盖发送给MCP客户端的服务器指令
  • 自定义单个工具描述
  • 通过以下方式禁用特定工具 isEnabled: false
  • 配置合并:用户配置→ 项目配置→ 命令行覆盖

______________________________________________________________________

可用的MCP工具

基础工具

initialize_workspace

从路径加载C#解决方案或项目。

输入:

{
  "path": "/absolute/path/to/solution/or/project/or/directory"
}

退货: 项目计数、解决方案路径、任何加载错误。

注: 禁用时 --workspace 或 --workspace-from-cwd 提供。

______________________________________________________________________

get_diagnostics

获取编译器错误、警告和分析器消息。

输入:

{
  "file": "/path/to/file.cs", // Optional: filter by file
  "startLine": 10, // Optional: filter by line range
  "endLine": 50, // Optional: filter by line range
  "severity": "Error" // Optional: Error|Warning|Info|Hidden
}

退货: 诊断阵列,包括:

  • 诊断ID(例如。, CS0103)
  • 严重性(错误、警告、信息、隐藏)
  • 消息
  • 文件路径、行、列、结束行、结束列
  • hasFix boolean(代码操作是否可以修复此问题)

没有争论:返回整个工作区的诊断结果。

______________________________________________________________________

符号智能工具(即将推出)

get_symbol_info

在某个位置或通过完全限定名获取类型信息。

find_symbol_usages

在工作空间中查找对符号的所有引用。

get_definition_location

导航到符号的定义(在工作区或DLL元数据中)。

get_type_members

获取所有成员的完整类型定义(针对DLL类型进行反编译)。

______________________________________________________________________

代码操作工具(即将推出)

get_code_actions

在某个位置获取可用的重构和快速修复。

apply_code_action

执行代码操作(应用前可选择预览)。

______________________________________________________________________

搜索和导航工具(即将推出)

search_symbols

按名称模式查找符号(支持camelCase匹配)。

get_document_symbols

获取文件符号的层次轮廓。

______________________________________________________________________

扩展方法(特别功能,即将推出)

get_extension_methods

查找给定类型的所有可用扩展方法(扫描所有引用的程序集)。

______________________________________________________________________

使用示例

看 CLAUDE.md 有关如何执行以下操作的综合示例:

  • 初始化工作区并修复编译器错误
  • 浏览符号并查找用法
  • 内省NuGet包代码(反编译的DLL)
  • 使用预览应用重构
  • 发现扩展方法

______________________________________________________________________

发展

先决条件

  • .NET 10.0 SDK
  • MSBuild(自动定位)

构建命令

# Restore dependencies
dotnet restore

# Build everything
dotnet build

# Run the server locally
dotnet run --project src/CSharperMcp.Server

# Run all tests
dotnet test

# Run only unit tests (fast)
dotnet test tests/CSharperMcp.Server.UnitTests

# Run only integration tests (slower, multi-process)
dotnet test tests/CSharperMcp.Server.IntegrationTests

构建NuGet包

# Build the package
dotnet pack src/CSharperMcp.Server/CSharperMcp.Server.csproj -c Release -o ./artifacts

# Test locally before publishing
dotnet tool install --global --add-source ./artifacts CSharperMcp

看 NUGET-PUBLISH.md 用于发布说明。

______________________________________________________________________

项目结构

csharp-er-mcp/
├── Directory.Build.props              # Shared build configuration
├── Directory.Packages.props           # Central package version management
├── CSharperMcp.sln                    # Solution file
├── src/
│   └── CSharperMcp.Server/            # Main MCP server console app
│       ├── Program.cs                 # Entry point (MSBuildLocator.RegisterDefaults())
│       ├── Server/Tools/              # MCP tool implementations
│       ├── Workspace/                 # Solution/project loading & management
│       ├── Services/                  # Roslyn & Decompiler service wrappers
│       └── Models/                    # DTOs for tool responses
└── tests/
    ├── CSharperMcp.Server.UnitTests/           # Fast unit tests
    └── CSharperMcp.Server.IntegrationTests/    # Slower integration tests

______________________________________________________________________

技术栈

  • .NET 10 -C#语言的最新特性
  • 模型上下文协议0.6.0 -MCP C#官方SDK
  • 微软。代码分析。工作区。MSBuild 5.0.0 -Roslyn API
  • 微软。建造。定位器1.11.2 -动态查找MSBuild
  • ICSharpCode。反编译器9.1.0 -用于DLL自检的ILSpy引擎
  • NUnit 4 -测试框架
  • 最小起订量 -模拟框架
  • 流畅的演讲 -流畅的断言库

______________________________________________________________________

开发指南

看 CLAUDE.md 获取全面的开发说明,包括:

  • 代码样式和访问修饰符(默认为 internal)
  • 中央包管理要求
  • 测试原理(单元与集成)
  • 架构模式
  • MCP工具实施细节

______________________________________________________________________

支持

______________________________________________________________________

许可证

看 许可证 文件以获取详细信息。

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

C#开发C#本地部署语义分析IDE扩展代码理解语言服务器

支持客户端

ClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 2 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
C Sharper MCP

MCP World · 本页

2未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

C Sharper MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

C Sharper MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

C Sharper MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

C Sharper MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

C Sharper MCP 支持哪些客户端?

公开资料标注支持 Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP