使用说明

项目简介

NetContextServer 是一个基于 .NET 的 MCP 服务器,旨在为 AI 编码助手提供关于 .NET 代码库的上下文信息。通过实现 Model Context Protocol (MCP),它允许 AI 工具理解和操作您的 .NET 项目,从而实现更智能的代码辅助功能。

主要功能点

  • 项目与文件列表: 列出解决方案中的项目和源代码文件,方便 AI 了解代码结构。
  • 代码搜索: 支持在代码库中进行文本搜索,快速定位代码片段。
  • 语义搜索: 利用语义理解技术,根据代码的含义而非精确文本匹配进行搜索,提升搜索准确性。
  • 文件内容访问: 安全读取源代码文件内容,并具备大小限制和安全检查。
  • 安全特性: 内置安全机制,防止访问敏感文件和目录,保障代码安全。
  • 自定义忽略模式: 灵活配置忽略模式,控制文件访问范围。
  • NuGet包分析: 分析项目中的 NuGet 包引用,提供版本信息和更新建议。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/willibrandon/NetContextServer.git
    cd NetContextServer
  2. 构建服务器:

    dotnet build src/NetContextServer/NetContextServer.csproj

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 NetContextServer:

{
  "serverName": "NetContextServer",
  "command": "dotnet",
  "args": [
    "run",
    "--project",
    "src/NetContextServer/NetContextServer.csproj"
  ]
}
  • 'serverName': 为您的 MCP 服务器连接指定一个名称,例如 "NetContextServer"。
  • 'command': 运行服务器的命令,这里使用 'dotnet' 运行 .NET 项目。
  • 'args': 传递给 'dotnet run' 命令的参数,指定要运行的服务器项目 'src/NetContextServer/NetContextServer.csproj'。

基本使用方法

  1. 启动服务器: 配置好 MCP 客户端后,启动 NetContextServer。服务器将在后台运行,等待客户端连接。

  2. 设置基础目录: 在 MCP 客户端中,使用 'set-base-dir' 命令设置您的 .NET 代码库的根目录。例如,如果您想让 AI 访问 'D:\YourProject' 目录下的代码,可以配置客户端发送以下请求调用 'set_base_directory' 工具:

    {
      "tool_call_id": "1",
      "tool_name": "set_base_directory",
      "parameters": {
        "directory": "D:\\YourProject"
      }
    }
  3. 使用其他工具: 通过 MCP 客户端调用 NetContextServer 提供的各种工具,例如 'list_projects'(列出项目)、'search_code'(代码搜索)、'semantic_search'(语义搜索)等,以获取代码库的上下文信息。具体工具和参数可以参考仓库的 'README.md' 文档或通过客户端的工具发现功能查看。

注意: 语义搜索功能需要配置 Azure OpenAI 的 Endpoint 和 API Key 环境变量 ('AZURE_OPENAI_ENDPOINT', 'AZURE_OPENAI_API_KEY')。

信息

分类

开发者工具