Token导航 LogoToken导航TokenDH.com
Roslyn MCP Server logo
AI代理未说明官方级别未说明来源级核验

Roslyn MCP Server

MCP Server

一个为AI代理提供.NET解决方案语义层支持的Roslyn MCP服务器,支持工作区同步和代码分析。

工具数

26

提示词数

0

GitHub Stars

0

资源数

0
C#代码导航AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

akushnikov

提供方

akushnikov

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

roslyn mcp服务器

Roslyn支持的MCP服务器,供AI代理使用。NET解决方案。

该项目提供了一个同步感知语义层 MSBuildWorkspace,因此MCP客户端可以:

  • 显式加载解决方案
  • 检查项目和源文件
  • 导航符号和参考
  • 查询诊断和语义关系
  • 使工作区状态与外部文件编辑保持一致

服务器目标。NET 9,同时支持两者 stdio 以及HTTP传输。

它做什么

当前的实现侧重于代理工作流的只读Roslyn工具。

工作区和服务器工具

  • server_info

返回基本服务器和运行时信息。

  • workspace_context

从显式解析工作区上下文 solutionPath.

  • diagnose

检查环境就绪性、MSBuild可用性和解决方案加载运行状况。

  • load_solution

加载a .sln, .slnx,或 .csproj 进入Roslyn的实时工作空间。

  • get_workspace_state

返回当前加载的工作区状态和缓存的解决方案摘要。

  • get_project_structure

返回已加载解决方案的项目和源文档(可选)。

导航工具

  • get_document_outline

返回C#源文件的结构大纲。

  • get_file_overview

返回源文件的简明概述,包括其主要声明。

  • get_type_overview

返回已解析类型的简洁概述。

  • get_type_members

返回在解析类型上声明的成员。

  • search_symbols

在加载的解决方案中搜索源声明。

  • get_symbol_info

解析文件位置的语义符号信息。

  • get_symbol_attributes

返回应用于已解析符号的属性。

  • go_to_definition

返回已解析符号的源定义位置。

  • get_method_signature

返回文件位置处可调用成员的签名。

  • get_method_source

返回文件位置处可调用成员的源正文。

  • find_references

查找已解析符号的源引用。

分析工具

  • get_diagnostics

返回解决方案或特定文件的编译器诊断。

  • validate_code

返回基于编译器诊断的轻量级有效性摘要。

  • find_implementations

查找接口、抽象类型和虚拟成员的实现。

  • get_type_hierarchy

返回已解析类型的基类型、派生类型和接口。

  • find_callers

查找可调用符号的调用者位置。

  • get_outgoing_calls

返回可调用成员的传出调用边。

  • analyze_method

返回方法级数据流、控制流、签名和传出调用信息。

  • analyze_change_impact

返回符号的尽力影响摘要,包括引用和实现。

  • check_type_compatibility

检查两个解析的类型是否兼容。

工作空间同步

该服务器设计用于长时间运行的代理会话,其中文件可能在Roslyn API之外更改。

它维护一个实时工作区同步管道,该管道:

  • 监视工作区文件的外部更改
  • 尽可能增量更新Roslyn文档
  • 当项目结构更改需要时重新加载工作区
  • 确保语义查询使用当前 Workspace.CurrentSolution

在实践中,这意味着以下工具 find_references, analyze_method,以及 get_diagnostics 可以反映所做的编辑:

  • 由IDE中的用户执行
  • 由代理通过直接文件编辑
  • 通过其他工具更改磁盘上的文件

运行服务器

构建解决方案:

dotnet build .\roslyn-mcp-server.sln -v minimal

跑吧 stdio 主机:

dotnet run --project .\src\RoslynMcpServer.Host.Stdio\RoslynMcpServer.Host.Stdio.csproj

运行HTTP主机:

dotnet run --project .\src\RoslynMcpServer.Host.Http\RoslynMcpServer.Host.Http.csproj -- --urls http://localhost:3001

HTTP主机

HTTP主机公开:

  • GET /health
  • MCP端点位于 /mcp

写入HTTP请求和服务器日志:

  • 到控制台
  • 在以下位置滚动日志文件 src/RoslynMcpServer.Host.Http/logs

与MCP检查器一起使用

当HTTP主机在上运行时 http://localhost:3001,将检查器连接到:

  • http://localhost:3001/mcp

典型手动流程:

  1. 呼叫 server_info
  2. 呼叫 workspace_context
  3. 呼叫 diagnose
  4. 呼叫 load_solution
  5. 呼叫 get_workspace_state
  6. 呼叫 get_project_structure
  7. 使用导航或分析工具

示例 load_solution 请求:

{
  "solutionPath": "D:\\Projects\\opensource\\roslyn-mcp-server\\roslyn-mcp-server.sln",
  "forceReload": false
}

当前范围

当前服务器有意设置为只读。

在查询和同步层完全稳定后,计划重构、代码生成、预览/应用工作流和其他变异工具。

致谢

该项目借鉴了以下方面的想法和实施模式:

这些参考文献对工具库存计划、Roslyn第一工作流和MCP服务器人机工程学特别有用。

目录标签

目录标签

C#代码导航AI代理Roslyn本地部署.NET语义分析

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

26

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP