mcpField
R
RR MCP Server for .NET Analysis

RR MCP Server for .NET Analysis

本地服务
github.com/RaRdq开发工具177 周前更新

关于 RR MCP Server for .NET Analysis

这是一个 MCP 服务,通过 PowerShell 脚本提取 .NET 解决方案中的接口、OpenAPI 和数据模型结构。它面向需要项目级上下文但不读取源代码内容的 AI Agent,并缓存结果以便重复分析。

主要功能

  1. 01提取接口与 OpenAPI 信息
  2. 02提取模型、实体和枚举
  3. 03按项目缓存结果
  4. 04支持相对和绝对解决方案路径
  5. 05跨平台运行,需 PowerShell 7

适用场景

  1. 01为编码 Agent 提供 .NET 项目结构
  2. 02检查解决方案中的接口和数据类型
  3. 03在重复分析时复用缓存结果

MCP 相关

该服务向 MCP 客户端提供 `GetInterfaces`、`GetData` 等工具。客户端传入 `.sln` 路径即可获取接口和数据结构信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

用于 .NET 分析的 RR MCP 服务

一个通用的 MCP 服务,可使用 PowerShell 脚本从任何 .NET 解决方案中提取 .NET 接口、OpenAPI 和数据(模型/实体/枚举)信息。 目标是在不暴露项目内容的情况下,向 AI 提供大型项目的结构和抽象信息。

后续将添加更多用于 .NET 解决方案 AI 管理和自动化的工具。

依赖项

功能

  • 从任何 .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 系统变量中)

设置

  1. 克隆并构建

    git clone
    cd RR.MCP
    dotnet build
    
  2. 配置 MCP 客户端 添加一个 stdio MCP 服务条目,例如:

    {
      "mcpServers": {
        "rr-mcp": {
          "command": "dotnet",
          "args": ["run", "--project", "<absolute-path-to>/RR.MCP/RR.MCP.csproj"]
        }
      }
    }
    
    • 服务将自动注册所有可用工具(接口、数据等)。
  3. 使用 只需为你的 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。