Token导航 LogoToken导航TokenDH.com
MCP Roslyn Symbols logo
开发工具未说明官方级别未说明来源级核验

MCP Roslyn Symbols

MCP Server

一个基于Roslyn语言服务器的MCP服务,提供C#代码中的符号信息提取功能,适用于开发工具增强和代码分析场景。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
代码分析C#Cursor开发工具Cursor

安装说明

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

作者 / 组织

SteffenBlake

提供方

SteffenBlake

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

MCP罗斯林符号

一个MCP(模型上下文协议)服务器,使用Roslyn语言服务器从C#代码中提供符号信息。

先决条件

在使用此MCP服务器之前,您必须:

  1. Roslyn语言服务器 (必填):
   dotnet tool install --global roslyn-language-server --prerelease
  1. Node.js v18或更高版本
  1. .NET SDK 8.0或更高版本(适用于Roslyn语言服务器和测试项目)

安装

npm install
npm run build

用法

此MCP服务器提供了一个强大的工具: get_symbols_for

工具:get_symbols_for

获取C#文件中特定光标位置处的类型的符号信息。这将从类型中检索所有公共方法、属性、字段、事件等,即使它来自NuGet包(通过反编译)。

参数

  • filePath (必填):C#文件的绝对路径
  • line (必填):行号(0索引)
  • character (必填):行上的字符位置(0索引)
  • symbolType (可选):按类型过滤符号。什么之中的一个: Property, Field, Event, Method, Class, Interface, Enum
  • signaturesOnly (可选):布尔值。如果为true,则仅返回签名,不返回其他详细信息

示例用法

给定一个C#文件,其中包含:

var foo = 5;
Console.WriteLine(foo); // Cursor on 'foo'

该工具将返回上可用的所有方法 int 类型(如 ToString, GetHashCode等等)。

或者:

JsonSerializer.DeserializeAsync(...); // Cursor on 'JsonSerializer'

该工具将返回 JsonSerializer 类。

运行服务器

要启动MCP服务器,请执行以下操作:

node dist/index.js

服务器使用stdio进行通信,并遵循模型上下文协议规范。

测试

该项目包括一个全面的测试套件:

npm test

测试用例包括:

  1. 获取核心符号。NET类型(例如。, int)
  2. 获取框架类型的符号(例如。, JsonSerializerOptions)
  3. 获取第三方库类型的符号(例如。, JsonConvert 来自Newtonsoft。Json)

发展

项目结构

.
├── src/
│   ├── index.ts          # Main MCP server
│   ├── lsp-client.ts     # Roslyn LSP client implementation
│   └── roslyn-check.ts   # Checks for Roslyn installation
├── tests/
│   └── *.test.ts         # Test suite
├── test-project/
│   ├── TestProject.slnx  # Solution file (workspace root for LSP)
│   └── TestProject/      # Test C# project
│       ├── TestProject.csproj
│       └── Program.cs
└── dist/                 # Compiled JavaScript output

建筑

npm run build

运行测试

npm test              # Run tests once
npm run test:watch    # Run tests in watch mode

运作原理

  1. 启动时,服务器检查是否 roslyn-language-server 可用的
  2. 当进行工具调用时,服务器:

- 查找工作区根目录(包含.sln或.slnx的目录) - 启动Roslyn语言服务器(如果尚未启动) - 打开请求的文档 - 获取指定光标位置处的类型定义 - 从类型定义中检索所有符号(包括反编译的源代码) - 根据提供的选项过滤和格式化符号 - 返回符号信息

对于贡献者

如果您是从事此项目的人工智能代理或开发人员,请参阅 代理商.md 详细的开发指南和要求。

许可证

麻省理工学院

目录标签

目录标签

代码分析C#Cursor开发工具JavaScript本地部署符号提取Roslyn

支持客户端

Cursor

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP