Token导航 LogoToken导航TokenDH.com
Net Context Server logo
开发工具HTTP官方级别未说明来源级核验

Net Context Server

MCP Server

NetContextServer是一个通过Model Context Protocol(MCP)增强AI编码助手对.NET代码库深度理解的服务,提供语义代码搜索、智能导航、测试覆盖率分析等功能,提升开发效率。

工具数

0

提示词数

0

GitHub Stars

31

资源数

0
C#Claude开发工具ClaudeVS Code

安装说明

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

作者 / 组织

willibrandon

提供方

willibrandon

最后核验

2026/5/17 20:45

快速接入

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

详细介绍

NetContextServer

🔍 使用Deep为您的AI编码助手充电。NET代码库理解

![License: MIT](https://opensource.org/licenses/MIT) ![Built with .NET](https://dotnet.microsoft.com/) ![MCP Compatible](https://modelcontextprotocol.io/) ![.NET Build and Test](https://github.com/willibrandon/NetContextServer/actions/workflows/ci.yaml)

NetContextServer使像VS Code这样的AI编码助手能够深入了解您的。NET代码库 模型上下文协议(MCP)。这意味着更准确的代码建议,更好地回答您的问题,以及更高效的编码体验。

Demo of NetContextServer with VS Code

✨ 主要特点

  • 🧠 语义代码搜索:通过用自然语言描述您要查找的内容来查找代码
  • 🔍 智能导航:帮助AI工具了解您的项目结构和依赖关系
  • 🛡️ 内置安全:安全的文件访问,自动保护敏感数据
  • 🚀 VS代码集成:与VS Code无缝设置,增强编码辅助
  • 📦 包装分析:了解您的依赖关系并获取更新建议

- 🔍 深度依赖可视化:使用交互式颜色编码图查看传递依赖关系 - 🧩 智能分组:对相关包进行可视化分组,以便于导航 - 📊 更新建议:识别过时的软件包和安全问题

  • 📊 测试覆盖率分析:深入了解您的测试覆盖率

- 🎯 多格式支持:从Coverlet、LCOV和Cobertura XML中解析覆盖率数据 - 📈 详细报告:文件级覆盖率和未覆盖行跟踪 - 🔄 分支覆盖:在可用的情况下跟踪方法级别的分支覆盖率 - 💡 智能推荐:获取提高测试覆盖率的建议

  • 快速高效:大型代码库的快速索引和响应时间

🚀 快速开始

  1. 克隆和构建:
git clone https://github.com/willibrandon/NetContextServer.git
cd NetContextServer
dotnet build
  1. 建立 (可选,用于语义搜索):
# Set Azure OpenAI credentials in environment:
AZURE_OPENAI_ENDPOINT=your_endpoint
AZURE_OPENAI_API_KEY=your_key
  1. 开始使用:
# Point to your project
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "path/to/your/project"

# Try semantic search
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "find authentication logic"

👉 阅读我们的入门指南 了解详细的设置说明和最佳实践。

🔌 与VS代码集成

  1. 打开Visual Studio代码
  2. Ctrl + Shift + P (或 Cmd + Shift + P macOS)
  3. 键入“配置MCP服务器”
  4. 输入:
{
  "command": "dotnet",
  "args": ["run", "--project", "path/to/NetContextServer/src/NetContextServer/NetContextServer.csproj"]
}

现在VS Code可以理解你的代码库了!试着问一些问题,比如:

  • “列出此项目目录中的所有.NET源文件”
  • “在代码文件中搜索完全匹配的文本”
  • “分析所有项目中的NuGet包”
  • “获取当前忽略模式列表”
  • “添加这些忽略模式: *.generated cs,bin/*"
  • “列出此目录中的所有.csproj文件”
  • “显示此文件的内容”
  • “文件操作的当前基本目录是什么?”
  • “帮助我思考身份验证系统的设计”
  • “记录我对这一架构决策的推理”
  • “分析MyService.cs的测试覆盖率”
  • “显示身份验证模块中未覆盖的行”
  • “总体测试覆盖率是多少?”
  • “哪些文件的测试覆盖率最低?”

📚 文档

特性

  • 📁 项目和文件列表:列出解决方案中的所有项目和源文件
  • 🔍 代码搜索:在代码库中搜索特定的模式或文本
  • 🧠 语义搜索:根据含义查找代码,而不仅仅是精确的文本匹配
  • 📖 文件内容访问:读取具有安全检查和大小限制的源文件
  • 🛡️ 安全:针对敏感文件和目录访问的内置保护措施
  • 🎯 模式管理:用于控制文件访问的灵活忽略模式
  • 📊 覆盖率分析:解析和分析测试覆盖率数据

- 📈 覆盖范围报告:支持Coverlet JSON、LCOV和Cobertura XML格式 - 🎯 行覆盖:跟踪测试覆盖的线路 - 🌳 分支覆盖:监视方法级分支覆盖率 - 💡 建议:获取可操作的建议以提高覆盖率

  • 💭 结构化思维:记录并验证复杂操作的推理

- 🧩 AI优化推理:基于 人类学研究 提高法学硕士问题解决能力 - 📋 任务规划:将复杂问题分解为可管理的步骤 - ✅ 政策合规性:根据项目指南验证解决方案 - 🔄 刀具输出分析:在采取下一步行动之前,处理其他工具的结果 - 📝 决策文件:维护架构选择的审计跟踪

从源头构建

  1. 克隆存储库:
git clone https://github.com/willibrandon/NetContextServer.git
cd NetContextServer
  1. 构建解决方案:
dotnet build
  1. 运行测试(可选):
dotnet test

运行命令

使用客户端与代码库交互:

dotnet run --project src/NetContextClient/NetContextClient.csproj --  [options]

环境设置

对于语义搜索功能,您需要设置以下环境变量:

  • AZURE_OPENAI_ENDPOINT:您的Azure OpenAI端点URL
  • AZURE_OPENAI_API_KEY:您的Azure OpenAI API密钥

用法

基本命令

  1. 设置基本目录:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "D:\YourProject"
  1. 获取基本目录:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- get-base-dir
  1. 获取版本信息:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- version
  1. 列出项目:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- list-projects-in-dir --directory "D:\YourProject\src"
  1. 列出源文件:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- list-source-files --project-dir "D:\YourProject\src\YourProject"
  1. 分析包:
# Set your base directory first
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "path/to/your/project"

# Run the package analysis
dotnet run --project src/NetContextClient/NetContextClient.csproj -- analyze-packages

输出示例:

Project: MyProject.csproj
  Found 2 package(s):
  - ✅ Newtonsoft.Json (13.0.1)
    Used in 5 location(s)

    Dependencies:
    └─ Newtonsoft.Json
       └─ System.*
          └─ System.ComponentModel

  - 🔄 Microsoft.Extensions.DependencyInjection (5.0.2 → 6.0.1)
    Update available: 6.0.1

    Dependencies:
    └─ Microsoft.Extensions.DependencyInjection
       └─ Microsoft.*
          └─ Microsoft.Extensions.DependencyInjection.Abstractions
  1. 分析测试覆盖率:
# Set your base directory first
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "path/to/your/project"

# Analyze coverage from a Coverlet JSON report
dotnet run --project src/NetContextClient/NetContextClient.csproj -- coverage-analysis --report-path "TestResults/coverage.json"

# Get a coverage summary
dotnet run --project src/NetContextClient/NetContextClient.csproj -- coverage-summary --report-path "TestResults/coverage.json"

覆盖率分析输出示例:

[{
    "filePath": "src/MyProject/Services/UserService.cs",
    "coveragePercentage": 85.3,
    "uncoveredLines": [42, 43, 88],
    "branchCoverage": {
      "ValidateUser()": 75.0,
      "GetUserById()": 100.0
    },
    "recommendation": "Consider adding tests for the user validation error paths"
  }
]

搜索命令

  1. 文本搜索:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- search-code --text "authentication"
  1. 语义搜索:
# Search with default number of results (5)
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "handle user authentication"

# Search with custom number of results
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "database connection string" --top 10

语义搜索功能:

  • 使用嵌入根据含义查找代码
  • 返回按相关性排序的代码片段
  • 显示行号和相似性得分
  • 首次搜索时自动为代码建立索引

模式管理

  1. 添加忽略模式:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- add-ignore-patterns --patterns "*.txt" "*.log"
  1. 查看当前模式:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- get-ignore-patterns
  1. 删除特定图案:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- remove-ignore-patterns --patterns "*.txt"
  1. 清晰的用户模式:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- clear-ignore-patterns
  1. 查看状态文件位置:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- get-state-file-location

默认忽略模式

默认情况下会忽略以下模式以保护敏感信息:

  • *.env -环境文件
  • appsettings.*.json -应用程序设置
  • *.pfx -证书文件
  • *.key -关键文件
  • *.pem -PEM文件
  • *password* -名称中包含“密码”的文件
  • *secret* -名称中包含“secret”的文件

安全功能

  1. 路径安全:文件只能在指定的基目录中访问
  2. 模式验证:验证忽略模式的语法是否正确
  3. 大小限制:截断大文件内容以防止内存问题
  4. 敏感文件保护:内置模式保护常见的敏感文件

工作流示例

  1. 为您的项目设置基本目录:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "D:\Projects\MyApp"
  1. 检查服务器版本和配置:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- version
  1. 设置自定义忽略模式:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- add-ignore-patterns --patterns "*.generated.cs" "*.designer.cs"
  1. 列出所有项目:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- list-projects-in-dir --directory "D:\Projects\MyApp\src"
  1. 分析项目的包依赖关系:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- analyze-packages
  1. 搜索与身份验证相关的代码:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "user authentication and authorization logic"

与AI编码工具集成

NetContextServer实现了 模型上下文协议(MCP),允许与支持此协议的AI编码助手无缝集成,例如:

  • VS代码:为您的AI助手提供代码库的完整上下文,以获得更准确的代码生成和帮助
  • 其他MCP兼容工具:任何实现模型上下文协议的工具都可以连接到NetContextServer

要与VS代码一起使用:

  1. 配置VS代码以使用NetContextServer作为其MCP提供程序
  2. 通过完整的代码库上下文享受增强的代码帮助

NetContextServer使AI合作者能够请求有关代码库的特定信息,使AI的建议与您的特定项目结构和编码模式更加相关和准确。

错误处理

服务器为常见场景提供清晰的错误消息:

  • 找不到目录
  • 拒绝访问(基目录外)
  • 无效模式
  • 超出文件大小限制
  • 受限制的文件类型
  • 语义搜索缺少环境变量

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

C#Claude开发工具语义代码搜索本地部署智能导航测试覆盖率分析VSCode集成依赖分析

支持客户端

ClaudeVS Code

接入字段

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

HTTP

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

HTTPnone部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP