NuGet API Inspector

io.github.DimonSmartPublished by GitHub account DimonSmartv1.1.10Updated Oct 24, 2026

Inspect NuGet package APIs, dependencies, metadata, and breaking changes across versions.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Lets an assistant look up real NuGet package metadata, dependencies and public C# APIs before writing package-dependent code.

What you can do
  • Search packages by query or fuzzy matching and read metadata, dependencies and package shape
  • List public interfaces, classes, records and structs in a package version
  • Return C# definitions for interfaces, classes, records, structs and enums
  • Compare public API changes between two package versions to spot breaking changes
  • List and read individual files inside a package
  • Return the server's current time
When to use it
Useful when an assistant writes code against a NuGet package and version-specific API details matter, or when the package lives in a private feed or local folder that the model cannot know from memory.
Requirements
Runs locally over stdio. Needs a current .NET SDK so the dnx command can download and run the DimonSmart.NugetMcpServer tool, or Docker as an alternative. Network access to nuget.org or other feeds. Optional NUGET_SOURCES (semicolon-separated feed URLs or local package folders) and NUGET_CONFIG (path to a NuGet.Config) for private sources.
Before you install
Private feed access depends on credentials configured in the referenced NuGet.Config or credential provider; the server reads that file, so point it only at configs you are comfortable exposing to the assistant. Package metadata and files are fetched from the configured feeds, so feed URLs and package names are sent to those servers. Read-only inspection tools; no publishing or restore actions are described.

Installation

In SourceWeft

  1. Open NuGet API Inspector in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

NugetMcpServer

[NuGet] [Install via Docker] [NuGet API Inspector MCP server]

Bad NuGet API guesses are expensive.

NugetMcpServer lets Codex, Claude Code, VS Code, Claude Desktop, and other MCP clients inspect real NuGet package metadata and public APIs before generating code. It is most useful when package version details matter or when the package lives in a private feed.

Fastest path: install it with codex mcp add or claude mcp add, then ask your assistant to use the NuGet MCP server before writing package-dependent code.

Why this exists

LLMs often know popular libraries, but they do not reliably know the exact API surface of every package version. NugetMcpServer gives the assistant a way to check the package first instead of filling gaps from memory.

NugetMcpServer connects the assistant to NuGet packages directly, including private feeds and local package folders.

What it gives to your assistant

  • Search NuGet packages and inspect package metadata.
  • Read public API definitions for real package versions.
  • Compare versions, inspect package files, and use nuget.org, private feeds, or local package folders.

Quick start

These commands use the current published NuGet package version, 1.1.7. dnx downloads and runs the .NET tool from NuGet, so you do not need a separate dotnet tool install step.

1. Install via Codex CLI

bash
codex mcp add nuget -- dnx [email protected] --yes

Check available MCP commands:

bash
codex mcp --help

Inside the Codex TUI, run:

text
/mcp

Codex CLI and the Codex IDE extension share MCP configuration, so configuring the server once should make it available in both clients.

2. Install via Claude Code CLI

bash
claude mcp add --transport stdio nuget -- dnx [email protected] --yes

Everything after -- is the actual MCP server command and arguments.

Manage and verify the server:

bash
claude mcp listclaude mcp get nuget

Inside Claude Code, run:

text
/mcp

3. Install in VS Code

Open the NuGet package page, select the MCP Server tab, and copy the generated VS Code configuration.

For manual VS Code configuration, add this to mcp.json. Replace <version> with the package version you want to pin:

json
{  "servers": {    "nuget": {      "type": "stdio",      "command": "dnx",      "args": ["DimonSmart.NugetMcpServer@<version>", "--yes"]    }  }}

4. Install via Docker

Use Docker when the MCP client environment does not have the .NET SDK available.

Codex:

bash
codex mcp add nuget-docker -- docker run -i --rm ghcr.io/dimonsmart/nugetmcpserver:latest

Claude Code:

bash
claude mcp add --transport stdio nuget-docker -- docker run -i --rm ghcr.io/dimonsmart/nugetmcpserver:latest

Run the container directly:

bash
docker run -i --rm ghcr.io/dimonsmart/nugetmcpserver:latest

VS Code mcp.json:

json
{  "servers": {    "nuget": {      "type": "stdio",      "command": "docker",      "args": ["run", "-i", "--rm", "ghcr.io/dimonsmart/nugetmcpserver:latest"]    }  }}

Install in VS Code with Docker

5. Manual configuration

Codex config.toml:

toml
[mcp_servers.nuget]command = "dnx"args = ["DimonSmart.NugetMcpServer@<version>", "--yes"]

Codex Docker variant:

toml
[mcp_servers.nuget]command = "docker"args = ["run", "-i", "--rm", "ghcr.io/dimonsmart/nugetmcpserver:latest"]

Claude Desktop and generic MCP clients that use the mcpServers JSON shape:

json
{  "mcpServers": {    "nuget": {      "command": "dnx",      "args": ["DimonSmart.NugetMcpServer@<version>", "--yes"]    }  }}

6. Private/local NuGet sources

Use NUGET_SOURCES for one or more source URLs or local package folders. Separate sources with semicolons. Use NUGET_CONFIG when you want NuGet to read a specific NuGet.Config, for example when credentials or source names are already configured there.

Codex with NUGET_SOURCES:

bash
codex mcp add nuget-private \  --env NUGET_SOURCES="C:\NuGet\LocalFeed;https://pkgs.dev.azure.com/ORG/_packaging/Feed/nuget/v3/index.json" \  -- dnx DimonSmart.NugetMcpServer@<version> --yes

Claude Code with NUGET_SOURCES:

bash
claude mcp add --transport stdio \  --env NUGET_SOURCES="C:\NuGet\LocalFeed;https://pkgs.dev.azure.com/ORG/_packaging/Feed/nuget/v3/index.json" \  nuget-private \  -- dnx DimonSmart.NugetMcpServer@<version> --yes

Codex with NUGET_CONFIG:

bash
codex mcp add nuget-config \  --env NUGET_CONFIG="/path/to/NuGet.Config" \  -- dnx DimonSmart.NugetMcpServer@<version> --yes

Claude Code with NUGET_CONFIG:

bash
claude mcp add --transport stdio \  --env NUGET_CONFIG="/path/to/NuGet.Config" \  nuget-config \  -- dnx DimonSmart.NugetMcpServer@<version> --yes

Use Windows paths such as C:\path\to\NuGet.Config on Windows. Use Unix-style paths such as /path/to/NuGet.Config on Linux and macOS. Keep paths quoted when they contain spaces.

VS Code mcp.json with private sources:

json
{  "servers": {    "nuget": {      "type": "stdio",      "command": "dnx",      "args": ["DimonSmart.NugetMcpServer@<version>", "--yes"],      "env": {        "NUGET_SOURCES": "C:\\NuGet\\LocalFeed;https://pkgs.dev.azure.com/ORG/_packaging/Feed/nuget/v3/index.json"      }    }  }}

Codex config.toml with private sources:

toml
[mcp_servers.nuget]command = "dnx"args = ["DimonSmart.NugetMcpServer@<version>", "--yes"]
[mcp_servers.nuget.env]NUGET_SOURCES = "C:\\NuGet\\LocalFeed;https://pkgs.dev.azure.com/ORG/_packaging/Feed/nuget/v3/index.json"

More configuration options: Technical details

Verify it works

After the MCP client shows the server as connected, ask your assistant to use it explicitly:

text
Use the NuGet MCP server to inspect Dapper 2.1.66 and show the public extension methods for IDbConnection.
text
Before writing code, use the NuGet MCP server to inspect the real API of Microsoft.Extensions.DependencyInjection.Abstractions and use only existing public types and methods.
text
Use the NuGet MCP server to compare public APIs of Some.Package 1.8.0 and 2.0.0 and summarize breaking changes.

Available tools

  • search_packages: search packages by query and keywords.
  • search_packages_fuzzy: use AI-assisted fuzzy package search.
  • get_package_info: get package metadata, dependencies, and package shape.
  • list_interfaces: list public interfaces.
  • list_classes_records_structs: list public classes, records, and structs.
  • get_interface_definition: return a C# interface definition.
  • get_class_or_record_or_struct_definition: return a C# class, record, or struct definition.
  • get_enum_definition: return a C# enum definition.
  • compare_package_versions: compare public API changes between versions.
  • list_package_files: list files inside a package.
  • get_package_file: read a file from a package.
  • get_current_time: return the current server time.

Detailed parameters and development notes: Technical details

Troubleshooting

  • dnx is not found: install a current .NET SDK and make sure the .NET tools path is available in your shell, or use the Docker install path.
  • Docker is not running: start Docker Desktop or your Docker daemon, then retry the MCP client command.
  • The MCP client shows the server but no tools: restart the client, check the client logs, and verify the server command starts successfully outside the client.
  • Private feed authentication fails: check the active NuGet.Config, credential provider setup, feed URL, and whether the same user account can restore from that feed with normal NuGet tooling.
  • Package restore or search is slow on first run: the server and NuGet client may need to download package metadata and package files before later cached reads are faster.
  • Windows path quoting fails: keep paths in quotes, escape backslashes in JSON/TOML strings, and prefer NUGET_CONFIG when complex source paths or credentials are involved.
  • Claude Code or Codex CLI command fails unexpectedly: make sure the command includes the -- separator before dnx or docker; the MCP client options must appear before that separator.

Version

The release version is assigned by the GitHub Actions pipeline from the Git tag.

Check the installed version:

bash
NugetMcpServer --version

Publishing

NuGet releases are published from version tags on main:

powershell
.\publish-next-version.ps1

The script creates and pushes the next vMAJOR.MINOR.PATCH tag. GitHub Actions builds, tests, updates the MCP manifest version, packs the NuGet MCP server package, and publishes it to NuGet.

WinGet publishing is also tag-driven after the GitHub release exists:

powershell
.\publish-winget-version.ps1

By default, the WinGet script uses the latest vMAJOR.MINOR.PATCH release tag. Pass -Version 1.2.3 to publish a specific release.

License

MIT

Source: README.md at commit 900590d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.10LatestOct 11, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.