使用说明
项目简介
NetContextServer 是一个基于 .NET 的 MCP 服务器,旨在为 AI 编码助手提供关于 .NET 代码库的上下文信息。通过实现 Model Context Protocol (MCP),它允许 AI 工具理解和操作您的 .NET 项目,从而实现更智能的代码辅助功能。
主要功能点
- 项目与文件列表: 列出解决方案中的项目和源代码文件,方便 AI 了解代码结构。
- 代码搜索: 支持在代码库中进行文本搜索,快速定位代码片段。
- 语义搜索: 利用语义理解技术,根据代码的含义而非精确文本匹配进行搜索,提升搜索准确性。
- 文件内容访问: 安全读取源代码文件内容,并具备大小限制和安全检查。
- 安全特性: 内置安全机制,防止访问敏感文件和目录,保障代码安全。
- 自定义忽略模式: 灵活配置忽略模式,控制文件访问范围。
- NuGet包分析: 分析项目中的 NuGet 包引用,提供版本信息和更新建议。
安装步骤
-
克隆仓库:
git clone https://github.com/willibrandon/NetContextServer.git cd NetContextServer -
构建服务器:
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'。
基本使用方法
-
启动服务器: 配置好 MCP 客户端后,启动 NetContextServer。服务器将在后台运行,等待客户端连接。
-
设置基础目录: 在 MCP 客户端中,使用 'set-base-dir' 命令设置您的 .NET 代码库的根目录。例如,如果您想让 AI 访问 'D:\YourProject' 目录下的代码,可以配置客户端发送以下请求调用 'set_base_directory' 工具:
{ "tool_call_id": "1", "tool_name": "set_base_directory", "parameters": { "directory": "D:\\YourProject" } } -
使用其他工具: 通过 MCP 客户端调用 NetContextServer 提供的各种工具,例如 'list_projects'(列出项目)、'search_code'(代码搜索)、'semantic_search'(语义搜索)等,以获取代码库的上下文信息。具体工具和参数可以参考仓库的 'README.md' 文档或通过客户端的工具发现功能查看。
注意: 语义搜索功能需要配置 Azure OpenAI 的 Endpoint 和 API Key 环境变量 ('AZURE_OPENAI_ENDPOINT', 'AZURE_OPENAI_API_KEY')。
信息
分类
开发者工具