Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

.NET MCP Server

NUGET · COMMUNITY.MCP.DOTNET · SCANNED SEP 20

AI assistant access to .NET SDK for projects, packages, building, testing, and development tools.

0 this week 79 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency45
Schema Quality & AI Usability53
  • 38% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 3514 tokens (~206/item across 17 items; 12 tools + 5 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the .NET MCP Server server?

.NET MCP Server runs locally as a NuGet package, launched with dnx Community.Mcp.DotNet@1.1.2 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

nuget · Community.Mcp.DotNet

# add to Claude Code
claude mcp add jongalloway-dotnet-mcp -- dnx Community.Mcp.DotNet@1.1.2 --yes
// .cursor/mcp.json
{
  "mcpServers": {
    "jongalloway-dotnet-mcp": {
      "command": "dnx",
      "args": [
        "Community.Mcp.DotNet@1.1.2",
        "--yes"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "jongalloway-dotnet-mcp": {
      "command": "dnx",
      "args": [
        "Community.Mcp.DotNet@1.1.2",
        "--yes"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add jongalloway-dotnet-mcp -- dnx Community.Mcp.DotNet@1.1.2 --yes
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jongalloway-dotnet-mcp": {
      "type": "local",
      "command": [
        "dnx",
        "Community.Mcp.DotNet@1.1.2",
        "--yes"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  jongalloway-dotnet-mcp:
    command: "dnx"
    args: ["Community.Mcp.DotNet@1.1.2", "--yes"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "jongalloway-dotnet-mcp": {
      "Transport": "stdio",
      "Command": "dnx",
      "Arguments": [
        "Community.Mcp.DotNet@1.1.2",
        "--yes"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "jongalloway-dotnet-mcp": {
      "command": "dnx",
      "args": [
        "Community.Mcp.DotNet@1.1.2",
        "--yes"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 11 Sept 26 +1
    • Stability: 0.97 → pass security
  • 9 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed nuget/Community.Mcp.DotNet@1.1.2

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem nuget
Reason Signature present, unreadable

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 12 exposed · ~3,484 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
dotnet_dev_certs ~185

Manage developer certificates and user secrets for secure local development. Provides a consolidated interface for certificate trust/management and user secrets storage.

NameTypeReqDescription
actionstringyesThe operation to perform
formatstring|nullExport format: Pfx or Pem (for cert_export action)
keystring|nullSecret key for set/remove operations (supports hierarchical keys like 'ConnectionStrings:Default')
passwordstring|nullCertificate password for protection (for cert_export action)
pathstring|nullExport file path (for cert_export action)
projectstring|nullPath to project file (for secrets operations)
trustbooleanAlso check if certificate is trusted (for cert_check action)
valuestring|nullSecret value for set operation
workingDirectorystring|nullWorking directory for command execution

No output schema declared.

No examples provided.

dotnet_ef ~518

Manage Entity Framework Core operations including migrations, database updates, and DbContext scaffolding. Provides a unified interface for all EF Core CLI operations. Note: Requires dotnet-ef tool to be installed (dotnet tool install dotnet-ef --global or locally).

NameTypeReqDescription
actionstringyesThe EF Core operation to perform
connectionstring|nullDatabase connection string (DatabaseUpdate, DbContextScaffold)
connectionDisplaybooleanShow connection string used (MigrationsList)
contextstring|nullThe DbContext class to use (if multiple contexts exist)
contextDirstring|nullDirectory for the generated DbContext class (DbContextScaffold)
dryRunbooleanPerform a dry run without actually executing (DatabaseDrop)
forcebooleanForce operation: for MigrationsRemove reverts if already applied; for DatabaseDrop confirms deletion; for DbContextScaffold overwrites existing files
frameworkstring|nullTarget framework for the project
fromstring|nullStarting migration for script generation (MigrationsScript)
idempotentbooleanGenerate idempotent script that can be run multiple times (MigrationsScript)
migrationstring|nullTarget migration name for database update (DatabaseUpdate). Use '0' to rollback all migrations.
namestring|nullMigration name (required for MigrationsAdd)
noBuildbooleanDo not build the project before executing the command
outputstring|nullOutput file path for SQL script (MigrationsScript)
outputDirstring|nullOutput directory for migration files (MigrationsAdd) or entity classes (DbContextScaffold)
projectstring|nullProject file containing the DbContext
providerstring|nullDatabase provider package name (required for DbContextScaffold, e.g., 'Microsoft.EntityFrameworkCore.SqlServer')
schemasstring|nullSpecific schemas to scaffold, comma-separated (DbContextScaffold)
startupProjectstring|nullStartup project file (if different from DbContext project)
tablesstring|nullSpecific tables to scaffold, comma-separated (DbContextScaffold)
tostring|nullEnding migration for script generation (MigrationsScript)
useDatabaseNamesbooleanUse database names directly instead of pluralization (DbContextScaffold)
workingDirectorystring|nullWorking directory for command execution

No output schema declared.

No examples provided.

dotnet_help ~68

Get help for a specific dotnet command. Use this to discover available options for any dotnet command.

NameTypeReqDescription
commandstring|nullThe dotnet command to get help for (e.g., 'build', 'new', 'run'). If not specified, shows general dotnet help.

No output schema declared.

No examples provided.

dotnet_package ~324

Manage NuGet packages and project references. Provides a unified interface for all package and reference operations including adding/removing packages, searching NuGet.org, updating packages, managing project-to-project references, and clearing local caches.

NameTypeReqDescription
actionstringyesThe package operation to perform
cacheTypestring|nullCache location to clear: all, http-cache, global-packages, temp, plugins-cache
deprecatedboolean|nullShow only deprecated packages in list
exactMatchboolean|nullShow exact matches only in search results
frameworkstring|nullTarget framework for package operations
outdatedboolean|nullShow only outdated packages in list
packageIdstring|nullNuGet package ID for add/remove/update operations (e.g., 'Newtonsoft.Json', 'Serilog')
prereleaseboolean|nullInclude prerelease package versions
projectstring|nullPath to project file for package/reference operations
referencePathstring|nullPath to referenced project for add/remove reference operations
searchTermstring|nullSearch query for finding packages on NuGet.org
skipinteger|nullSkip the first N search results for pagination
sourcestring|nullNuGet source URL for package operations
takeinteger|nullMaximum number of search results to return (1-100)
versionstring|nullSpecific package version to install or update to
workingDirectorystring|nullWorking directory for command execution

No output schema declared.

No examples provided.

dotnet_project ~1,021

Manage .NET project lifecycle including creation, building, testing, running, and publishing. Provides a unified interface for all project operations including new project creation, building, running, testing, publishing, cleaning, code formatting, packaging, and project analysis.

NameTypeReqDescription
actionstringyesThe project operation to perform
additionalOptionsstring|nullTemplate-specific options for new action (e.g., '--use-program-main', '--aot')
appArgsstring|nullArguments to pass to the application for run action
archstring|nullTarget architecture for publish action (e.g., 'x64', 'arm64')
blameboolean|nullRun tests in blame mode for test action
collectstring|nullData collector friendly name for test action (e.g., 'XPlat Code Coverage')
configFilestring|nullNuGet.config file to use for restore action
configurationstring|nullBuild configuration (Debug or Release)
diagnosticsstring|nullComma-separated list of diagnostic IDs to fix for format action
filterstring|nullTest filter expression for test action
frameworkstring|nullTarget framework (e.g., 'net10.0', 'net8.0')
includestring|nullThe Include attribute value for AddItem/RemoveItem actions
includeGeneratedboolean|nullInclude generated code files for format action
includeSourceboolean|nullInclude source files in the package for pack action
includeSymbolsboolean|nullInclude symbols package for pack action
itemTypestring|nullItem type for AddItem/RemoveItem/ListItems actions (e.g., 'Using', 'Content', 'None')
listTestsboolean|nullList discovered tests without running them for test action
lockedModeboolean|nullRun restore in locked mode (fail if lock file is out of date) for restore action
loggerstring|nullLogger for test results (e.g., 'trx', 'console;verbosity=detailed')
namestring|nullProject name for new action
noBuildboolean|nullSkip building before test/run actions
noHotReloadboolean|nullDisable hot reload for watch action
noRestoreboolean|nullSkip restore before build/test actions
osstring|nullTarget operating system for publish action (e.g., 'win', 'linux', 'osx')
outputstring|nullOutput directory for new/publish/pack actions
projectstring|nullPath to project file for most operations
projectPathstring|nullProject path for analyze/dependencies/validate actions (required for these actions)
propertyNamestring|nullMSBuild property name for SetProperty/GetProperty/RemoveProperty actions (e.g., 'OutputType')
propertyValuestring|nullValue to set for SetProperty action (e.g., 'Exe')
resultsDirectorystring|nullDirectory for test results
runtimestring|nullTarget runtime identifier for publish action (e.g., 'linux-x64', 'win-x64')
selfContainedboolean|nullPublish as self-contained deployment (true) or framework-dependent (false) for publish action
sessionIdstring|nullSession ID for stop/logs actions (required when action is Stop or Logs)
severitystring|nullSeverity level to fix for format action (info, warn, error)
sincestring|nullReturn logs only after this timestamp (ISO 8601 format) for logs action (optional)
sourcestring|nullNuGet package source URL or local path for restore action
startModestring|nullStart mode for run/watch actions (Foreground or Background). Foreground blocks until exit, Background returns immediately with sessionId. Default: Foreground
tailLinesinteger|nullNumber of most recent log lines to return for logs action (optional, returns all if not specified)
templatestring|nullTemplate short name for new action (e.g., 'console', 'webapi', 'classlib')
testRunnerstring|nullTest runner selection for test action (Auto, MicrosoftTestingPlatform, or VSTest). Auto detects from global.json. Default: Auto
useLegacyProjectArgumentboolean|nullDEPRECATED: Use testRunner parameter instead. When true, uses positional project argument (VSTest mode)
verbositystring|nullMSBuild verbosity level (quiet, minimal, normal, detailed, diagnostic)
verifyboolean|nullVerify formatting without making changes for format action
watchActionstring|nullSub-action for watch (run, test, or build)
workingDirectorystring|nullWorking directory for command execution

No output schema declared.

No examples provided.

dotnet_sdk ~452

Query .NET SDK, runtime, template, and framework information. Provides a unified interface for all SDK-related queries including version info, installed SDKs and runtimes, template discovery, framework metadata, and cache metrics. Also supports creating or updating global.json to configure the SDK version, roll-forward policy, and test runner.

NameTypeReqDescription
actionstringyesThe SDK information operation to perform
forcebooleanAllows installing template packages from specified sources even if they override an existing template package
forceReloadbooleanIf true, bypasses cache and reloads from disk (applies to template operations)
frameworkstring|nullSpecific framework to query for framework info (e.g., 'net10.0', 'net8.0')
globalJsonPathstring|nullPath to global.json file; defaults to 'global.json' in the working directory for ConfigureGlobalJson action
interactivebooleanAllows install to prompt for authentication/interaction if required
nugetSourcestring|nullOptional NuGet source to use for template install (e.g., a feed URL)
rollForwardstring|nullSDK roll-forward policy for global.json (e.g., 'latestMinor', 'latestMajor', 'disable') for ConfigureGlobalJson action
sdkVersionstring|nullSDK version to pin in global.json (e.g., '10.0.100') for ConfigureGlobalJson action
searchTermstring|nullSearch query for template search operations
templatePackagestring|nullTemplate package ID (NuGet) or path (folder or .nupkg) for template install/uninstall operations
templateShortNamestring|nullTemplate short name for template info operations (e.g., 'console', 'webapi')
templateVersionstring|nullOptional version for template package install (used as <package>@<version>)
testRunnerstring|nullTest runner to configure in global.json (e.g., 'Microsoft.Testing.Platform', 'VSTest') for ConfigureGlobalJson action
workingDirectorystring|nullWorking directory for command execution

No output schema declared.

No examples provided.

dotnet_server_capabilities ~33

Get a machine-readable JSON snapshot of server capabilities, versions, and supported features for agent orchestration and discovery.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

dotnet_server_info ~43

Get detailed human-readable information about .NET MCP Server capabilities, including supported features, concurrency safety, and available resources. Provides guidance for AI orchestrators on parallel execution.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

dotnet_server_metrics ~94

Get or reset in-memory telemetry metrics for MCP tool invocations. Returns per-tool counts, average durations, and success/failure rates. Metrics are collected automatically via a message filter — no code changes needed in individual tools. No PII is stored; only tool names and timing data are tracked.

NameTypeReqDescription
actionstringyesThe metrics operation to perform: Get (return current snapshot) or Reset (clear all counters)

No output schema declared.

No examples provided.

dotnet_solution ~209

Manage solution files and project membership. A solution file organizes multiple related projects. This is a consolidated tool that routes to specific solution operations based on the action parameter.

NameTypeReqDescription
actionstringyesThe solution operation to perform: Create, Add, List, or Remove
formatstring|nullSolution file format: 'sln' (classic) or 'slnx' (XML-based). Default is 'sln'. (optional, used with 'create' action)
namestring|nullSolution name (required for 'create' action)
outputstring|nullOutput directory for solution file (optional, used with 'create' action)
projectsarray|nullArray of project file paths (required for 'add' and 'remove' actions)
solutionstring|nullPath to solution file. Required for 'add', 'list', and 'remove' actions. Not used for 'create' action (which uses the name parameter).

No output schema declared.

No examples provided.

dotnet_tool ~332

Manage .NET tools (global, local, and tool manifests). Provides a unified interface for all .NET tool operations including installation, updates, searching, running, and manifest management.

NameTypeReqDescription
actionstringyesThe tool operation to perform
argsstring|nullArguments to pass to the tool when running
detailboolean|nullShow detailed information in search results
forceboolean|nullForce manifest creation even if one already exists
frameworkstring|nullTarget framework for installation
globalboolean|nullInstall/update/uninstall as global tool (system-wide); otherwise operates on local tools
outputstring|nullOutput directory for manifest creation (defaults to current directory)
packageIdstring|nullNuGet package ID of the tool for install/update/uninstall operations (e.g., 'dotnet-ef', 'dotnet-format')
prereleaseboolean|nullInclude prerelease tool versions in search
searchTermstring|nullSearch query for finding tools on NuGet.org
skipinteger|nullSkip the first N search results for pagination
takeinteger|nullMaximum number of search results to return (1-100)
toolNamestring|nullTool command name to run (e.g., 'dotnet-ef', 'dotnet-format')
toolPathstring|nullCustom tool installation path
versionstring|nullSpecific version to install or update to
workingDirectorystring|nullWorking directory for command execution

No output schema declared.

No examples provided.

dotnet_workload ~205

Manage .NET workloads for specialized development scenarios (MAUI, WASM, etc.). Provides a consolidated interface for installing, updating, listing, searching, and uninstalling workloads.

NameTypeReqDescription
actionstringyesThe workload operation to perform
configFilestring|nullPath to NuGet configuration file to use (used with Install and Update actions)
includePreviewsbooleanAllow prerelease workload manifests (used with Install and Update actions)
searchTermstring|nullOptional search term to filter workloads (used with Search action)
skipManifestUpdatebooleanSkip updating the workload manifests during installation (used with Install action)
sourcestring|nullNuGet package source to use during restore (used with Install and Update actions)
workingDirectorystring|nullWorking directory for command execution
workloadIdsarray|nullArray of workload IDs to install or uninstall (required for Install and Uninstall actions)

No output schema declared.

No examples provided.

Common questions

What is the .NET MCP Server server?

.NET MCP Server is listed in the public MCP registry as io.github.jongalloway/dotnet-mcp. AI assistant access to .NET SDK for projects, packages, building, testing, and development tools. This page covers its NuGet package (Community.Mcp.DotNet).

Is the .NET MCP Server server safe to use?

.NET MCP Server scores 79 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the .NET MCP Server server expose?

.NET MCP Server exposes 12 tools: dotnet_solution, dotnet_help, dotnet_server_metrics, dotnet_dev_certs, dotnet_server_info, and 7 more. Their descriptions and schemas cost roughly 3,484 tokens of context every time the server is loaded.

Is the .NET MCP Server server still maintained?

.NET MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the .NET MCP Server server under?

.NET MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.