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

Nuget Context Server

MCP Server

一个C#应用程序,作为模型上下文协议(MCP)服务器,为大型语言模型(LLM)或其他开发工具提供.NET项目依赖(NuGet包)的上下文信息。

工具数

5

提示词数

0

GitHub Stars

3

资源数

0
.NET开发C#开发工具

安装说明

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

作者 / 组织

plucked

提供方

plucked

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

NuGet上下文MCP服务器

![License: MIT](https://opensource.org/licenses/MIT) ](https://smithery.ai/server/@plucked/nuget-context-server) ![.NET Test](https://github.com/plucked/nuget-context-server/actions/workflows/dotnet-test.yml)

一个C#应用程序,作为 模型上下文协议(MCP) 服务器,提供有关的上下文。NET项目对大型语言模型(LLM)或其他开发工具的依赖关系(NuGet包)。

概述

此服务器进行分析。NET解决方案(.sln)和项目(.csproj)提取NuGet包信息。它与NuGet提要交互以获取包详细信息、版本和元数据,使用SQLite在本地缓存结果以提高性能。这些功能通过模型上下文协议(MCP)作为工具公开,允许AI代理或其他工具以编程方式查询NuGet信息。

特性

服务器通过MCP公开以下工具:

  • AnalyzeProjectDependencies:分析a .sln.csproj 文件以查找NuGet依赖项及其最新可用版本。
  • SearchNuGetPackages:在配置的NuGet提要中搜索与搜索词匹配的包,包括分页选项和预发布版本。
  • GetNuGetPackageVersions:列出特定包ID的所有可用版本(稳定版或预发布版)。
  • GetLatestNuGetPackageVersion:获取特定包ID的最新稳定或预发布版本字符串。
  • GetNuGetPackageDetails:检索特定包ID和可选版本的详细元数据(描述、作者、URL等)。

先决条件

  • .NET 9 SDK (或更高版本的兼容版本)

安装和建造

  1. 克隆存储库:
   git clone https://github.com/plucked/nuget-context-server
   cd nuget-context-server
  1. 构建服务器:
   dotnet build --configuration Release

主可执行文件将位于 src/NuGetContextMcpServer.Host/bin/Release/net9.0/ 目录(根据实际构建输出调整路径)。

测试

此项目使用 单元测试 用于单元和集成测试 莫克 用于模拟单元测试中的依赖关系。

要运行所有测试,请导航到存储库根目录并执行:

dotnet test

注: 运行集成测试(NuGetContextMcpServer.Integration.Tests)要求 码头工人 因为它们可能使用测试容器。您可以从以下网址下载Docker Desktop 这里.

测试项目位于 tests/ 目录:

  • NuGetContextMcpServer.Application.Tests:应用层服务的单元测试。
  • NuGetContextMcpServer.Infrastructure.Tests:基础设施层组件的单元测试(例如缓存、解析)。
  • NuGetContextMcpServer.Integration.Tests:可能与实际文件系统或潜在外部资源交互的集成测试(尽管通常被模拟或使用本地测试资产)。

使用和配置

此服务器设计为由MCP客户端应用程序(如IDE扩展)运行。客户端负责启动服务器进程并与之通信,通常通过标准输入/输出(stdio)。

配置:

服务器使用 appsettings.json (以及特定于环境的覆盖,如 appsettings.Development.json)位于 src/NuGetContextMcpServer.Host 配置目录:

  • NuGetSettings:

- QueryFeedUrl:NuGet v3提要索引的URL(默认为 https://api.nuget.org/v3/index.json). - Username (可选):经过身份验证的提要的用户名。 - PasswordOrPat (可选):用于经过身份验证的提要的密码或个人访问令牌(PAT)。

  • CacheSettings:

- DatabasePath:SQLite缓存文件的路径(默认为 nuget_cache.db 在工作目录中)。 - DefaultExpirationMinutes:默认缓存持续时间(分钟)(默认值为60)。

  • 登录中: 通过中的Serilog设置进行配置 appsettings.json默认情况下,日志会写入文件。

MCP客户端配置示例(使用stdio):

MCP客户端通常需要类似于此的配置(语法可能因客户端而异):

{
  "mcpServers": {
    "nuget-context": {
      "command": "dotnet",
      "args": [
        "watch",
        "run",
        "--non-interactive",
        "--project",
        "src/NuGetContextMcpServer.Host/NuGetContextMcpServer.Host.csproj",
        "--",
        "--transport", "stdio"
      ],
      "cwd": ".",
      "disabled": false
    }
  }
}
  • command:要运行的可执行文件(dotnet).
  • args:传递给命令的参数。用途 dotnet watch run 以便开发人员在文件更改时自动重启服务器。这 --transport stdio 参数告诉服务器使用标准I/O进行MCP通信。对于生产或非手表场景,请更换 "watch" 随着 "run" 并删除 "--non-interactive".
  • cwd:运行命令的工作目录(通常是存储库根目录)。

建筑

服务器使用基于构建的分层架构。NET通用主机:

  • 主持人: 管理应用程序生命周期、依赖注入(DI)、配置、日志记录和MCP通信设置。
  • 应用: 定义服务接口,并包含核心应用程序逻辑和MCP工具定义。
  • 基础设施: 提供以下内容的具体实现:

- NuGet提要交互(NuGet.Protocol). - 项目/解决方案解析(Microsoft.Build). - 缓存(Microsoft.Data.Sqlite).

贡献

欢迎投稿!请参阅 贡献指南 了解更多详情。

许可证

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

目录标签

目录标签

.NET开发C#开发工具NuGet包管理本地部署依赖分析MCP服务器

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP