关于 RR MCP Server for .NET Analysis
这是一个 MCP 服务,通过 PowerShell 脚本提取 .NET 解决方案中的接口、OpenAPI 和数据模型结构。它面向需要项目级上下文但不读取源代码内容的 AI Agent,并缓存结果以便重复分析。
主要功能
- 01提取接口与 OpenAPI 信息
- 02提取模型、实体和枚举
- 03按项目缓存结果
- 04支持相对和绝对解决方案路径
- 05跨平台运行,需 PowerShell 7
适用场景
- 01为编码 Agent 提供 .NET 项目结构
- 02检查解决方案中的接口和数据类型
- 03在重复分析时复用缓存结果
MCP 相关
该服务向 MCP 客户端提供 `GetInterfaces`、`GetData` 等工具。客户端传入 `.sln` 路径即可获取接口和数据结构信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
用于 .NET 分析的 RR MCP 服务
一个通用的 MCP 服务,可使用 PowerShell 脚本从任何 .NET 解决方案中提取 .NET 接口、OpenAPI 和数据(模型/实体/枚举)信息。 目标是在不暴露项目内容的情况下,向 AI 提供大型项目的结构和抽象信息。
后续将添加更多用于 .NET 解决方案 AI 管理和自动化的工具。
依赖项
- ModelContextProtocol — 用于 Model Context Protocol 服务和客户端的官方 C# SDK。GitHub
功能
- 从任何 .NET 解决方案中提取模型、实体、枚举和接口
- 为 AI Agent 提供完整的项目结构/上下文,避免重复生成
- 可直接与 Cursor、Copilot、Claude 或任何兼容 MCP 的工具搭配使用
- 速度快,支持缓存;输出整洁(无 stdout 噪声),并将完整日志写入文件
- 自动发现脚本,支持相对/绝对
.sln路径 - 跨平台(Windows、macOS、Linux),需要 PowerShell 7+
输出格式示例
数据工具(GetData)
- 模型/实体:
{ "n": "UserModel", "b": "BaseModel", "p": { "Id": "string", "Name": "string", "Age": "int" }, "prj": "My.Project.Namespace" }- 任何以
*Entity为后缀的类都会作为实体包含在内(不要求基类)。
- 任何以
- 枚举:
{ "n": "StatusType", "m": { "Unknown": 0, "Active": 1, "Inactive": 2 }, "prj": "My.Project.Namespace" }
接口工具(GetInterfaces)
- 接口:
{ "n": "IMyService", "b": "IBaseService", "d": "Service for handling user operations.", "m": [ "Task DoWork(string arg);", { "s": "Task<int> GetCount();", "d": "Gets the count." } ], "prj": "My.Project" }n:接口名称b:基接口(可选)d:接口文档(可选)m:方法(签名字符串,或带文档的对象)prj:项目名称
命名约定
- 模型:
*Model - 实体:
*Entity - 枚举:
*Type - 接口:
I*Service、I*Repository等
手动运行脚本(用于预热缓存或调试)
你可以直接运行 PowerShell 脚本来预热缓存或调试输出。请从仓库根目录或 RR.MCP 目录运行:
接口:
pwsh -File RR.MCP/GetInterfacesPwsh.ps1 -SolutionFile MySolution.sln
数据(模型/实体/类型):
pwsh -File RR.MCP/GetDataPwsh.ps1 -SolutionFile MySolution.sln
- 在 Windows、macOS 或 Linux 上,请确保
pwsh(PowerShell 7+)已添加到 PATH。 - 如有需要,可以指定其他解决方案文件。
- 输出将写入
.cache/,日志将写入mcp_debug.log/mcp_data_debug.log。
要求
- .NET 9.0 SDK 或更高版本
- PowerShell 7.0+(
pwsh必须设置在 PATH 系统变量中)
设置
-
克隆并构建
git clone cd RR.MCP dotnet build -
配置 MCP 客户端 添加一个 stdio MCP 服务条目,例如:
{ "mcpServers": { "rr-mcp": { "command": "dotnet", "args": ["run", "--project", "<absolute-path-to>/RR.MCP/RR.MCP.csproj"] } } }- 服务将自动注册所有可用工具(接口、数据等)。
-
使用 只需为你的 Agent 添加以下规则,即可调用这些工具:
- 调用
GetInterfaces工具提取接口/OpenAPI 信息。 - 调用
GetData工具提取所有模型、实体和类型(枚举)及其结构。 - 将
.sln文件的路径作为solutionFile参数传入(可以是绝对路径,也可以是相对于服务工作目录的路径)。
- 调用
日志与调试
- 所有 C# 错误都会记录到输出目录中的
mcp_errors.log。 - 所有 PowerShell 脚本活动和错误都会记录到脚本所在目录的
mcp_debug.log(接口)和mcp_data_debug.log(数据)。 - 如果使用低于 7 的 PowerShell 版本运行,PowerShell 脚本会记录并返回错误。
PowerShell 脚本
- 脚本始终会复制到输出目录,并使用
pwsh -File ...调用。 - 脚本会记录所有关键步骤、参数和错误。
- 如果找不到解决方案文件,或者未检测到数据,脚本会妥善处理并记录日志。
- 缓存按项目划分,并基于哈希值,以便快速重复运行。(大型项目首次运行会较慢,建议手动运行脚本)
自定义
- 要将其用于其他代码分析,请编辑
GetInterfacesPwsh.ps1或GetDataPwsh.ps1。 - 要添加更多工具,请在 C# 工具文件中添加新的
[McpServerTool]方法。
与任意 AI IDE 集成
- 这个 MCP 服务完全通用,可与任何支持 MCP stdio 传输的 AI IDE 或工具集成。
- 工具会自动发现,并通过 OpenAPI 描述,便于使用。
- 不包含任何特定于 IDE 的逻辑;所有输出均符合协议要求。
Cursor 集成示例
如果使用 Cursor,请将以下内容添加到 .cursor/mcp.json:
{
"mcpServers": {
"rr-mcp": {
"command": "dotnet",
"args": ["run", "--project", "<absolute-path-to>/RR.MCP/RR.MCP.csproj"]
}
}
}
贡献
- 欢迎提交 PR 和问题!
- 请确保所有输出均符合协议,且所有日志仅写入文件。
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。