NetMCP NuGet Server

项目简介

NetMCP NuGet Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 应用提供访问 NuGet 包管理生态系统的能力。通过此服务器,LLM 可以检索 NuGet 包的信息、搜索包、并获取包内容,从而扩展 LLM 在软件开发和知识获取方面的能力。

主要功能点

  • 资源 (Resources):
    • NuGet 包文件内容 (nuget_file_content): 通过指定 NuGet 包 ID、版本和文件路径,获取 NuGet 包内指定文件的内容。
    • NuGet 包内容 (nuget_package): 通过指定 NuGet 包 ID 和版本,获取整个 NuGet 包的 ZIP 压缩文件。
  • 工具 (Tools):
    • NuGet 搜索 (nuget_search): 允许 LLM 使用关键词在 NuGet 库中搜索软件包,并返回搜索结果。

安装步骤

  1. 安装 .NET SDK: 确保您的开发环境中已安装 .NET SDK (Software Development Kit)。您可以从 官方 .NET 网站 下载并安装。

  2. 下载仓库代码: 从 GitHub 仓库 NetMcpServers 克隆或下载源代码。

  3. 编译和运行服务器: 在命令行或终端中,导航到下载的 'NetMcpServers/NuGet' 目录(包含 'NuGet.csproj' 文件),然后运行以下命令编译并启动服务器:

    dotnet run

    服务器成功启动后,将通过标准输入/输出 (stdio) 监听 MCP 客户端的请求。

服务器配置 (MCP 客户端)

要将 NetMCP NuGet Server 集成到 MCP 客户端,您需要在客户端配置中添加以下服务器信息。请注意,以下配置为 JSON 格式,您需要将其添加到您的 MCP 客户端配置中。

{
  "serverName": "NetMcpNuGet",
  "command": "dotnet",
  "args": ["run"]
}
  • 'serverName': 服务器的名称,您可以自定义,用于在 MCP 客户端中标识此服务器。例如: "NetMcpNuGet"。
  • 'command': 启动服务器的命令。对于 .NET 应用,通常是 'dotnet'。
  • 'args': 传递给 'command' 的参数。 'run' 命令用于运行 .NET 项目。

重要提示: 请确保 MCP 客户端能够执行 'dotnet' 命令,并且当前工作目录或环境变量设置正确,以便能够找到和运行 'dotnet' 以及项目文件。 通常情况下,MCP 客户端会在配置的 'command' 和 'args' 所在的工作目录下启动服务器进程,因此请确保在启动 MCP 客户端时,当前工作目录位于 'NetMcpServers/NuGet' 目录下,或者在 'args' 中指定正确的项目文件路径。

基本使用方法

一旦 NetMCP NuGet Server 成功启动并在 MCP 客户端中配置,您可以通过以下方式使用其提供的资源和工具:

  • 读取 NuGet 资源: 在 MCP 客户端中,您可以使用以下 URI 格式来访问 NuGet 资源:

    • 'nuget://{packageId}/{version}': 获取指定 NuGet 包的 ZIP 文件。例如: 'nuget://Newtonsoft.Json/13.0.1'
    • 'nuget://{packageId}/{version}/{filePath*}': 获取指定 NuGet 包中特定文件的内容。 例如: 'nuget://Newtonsoft.Json/13.0.1/Newtonsoft.Json.dll'
    • '{version}' 可以使用 'latest' 关键字来获取最新版本,例如: 'nuget://Newtonsoft.Json/latest'
  • 调用 NuGet 工具: 在 MCP 客户端中,您可以调用 'nuget_search' 工具来搜索 NuGet 包。 您需要提供 'query' 参数来指定搜索关键词,还可以选择性地提供 'nuget_sources', 'allow_prerelease', 'skip', 和 'take' 参数来定制搜索行为。 具体的工具参数和使用方法请参考 MCP 客户端的文档。

通过 NetMCP NuGet Server,LLM 应用可以方便地集成 NuGet 生态系统,实现更强大的软件开发和知识检索功能。

信息

分类

开发者工具