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

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

0 this week 81 Trust /100

Last scanned (6 hours ago)

Scores higher than 68% of NuGet servers

Category Developer Tools

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
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Build provenance not yet verified. View diagnostics → Unverified
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 231 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
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
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.

  • 4 Nov 26 +1
    • Stability: 0.97 → pass security
  • 3 Nov 26 −1
    • Stability: pass → 0.97 functional
  • 28 Oct 26 +1
    • Stability: 0.97 → pass security
  • 27 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 21 Oct 26 +1
    • Stability: 0.97 → pass security
  • 20 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +3
    • Stability: 0.83 → pass security
  • 15 Oct 26 −3
    • Stability: pass → 0.80 functional
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 5 Nov 2026 · Analysed nuget/Community.Mcp.DotNet@1.1.2

Provenance Inconclusive

We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.

Result Inconclusive
Ecosystem nuget
Reason Signature present, unverified

Signer

Signed as Repository signature, names nuget.org
Subject CN=NuGet.org Repository by Microsoft,O=NuGet.org Repository by Microsoft,L=Redmond,ST=Washington,C=US
Issuer CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1,O=DigiCert\, Inc.,C=US
Valid from 23 Feb 2024
Valid until 18 May 2027
Service index https://api.nuget.org/v3/index.json
Owners jongalloway

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

Registry declarations For information only

What the registry and the package's own manifest say about this version. The publisher or the registry writes these, nothing here is verified, and none of it affects the score.

Repository https://github.com/jongalloway/dotnet-mcp
Repository type git
Commit bbcdf5ee27daa2a0b0289ecf3cffec71bffc21b2
Project URL https://github.com/jongalloway/dotnet-mcp
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|null–Export format: Pfx or Pem (for cert_export action)
keystring|null–Secret key for set/remove operations (supports hierarchical keys like 'ConnectionStrings:Default')
passwordstring|null–Certificate password for protection (for cert_export action)
pathstring|null–Export file path (for cert_export action)
projectstring|null–Path to project file (for secrets operations)
trustboolean–Also check if certificate is trusted (for cert_check action)
valuestring|null–Secret value for set operation
workingDirectorystring|null–Working 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|null–Database connection string (DatabaseUpdate, DbContextScaffold)
connectionDisplayboolean–Show connection string used (MigrationsList)
contextstring|null–The DbContext class to use (if multiple contexts exist)
contextDirstring|null–Directory for the generated DbContext class (DbContextScaffold)
dryRunboolean–Perform a dry run without actually executing (DatabaseDrop)
forceboolean–Force operation: for MigrationsRemove reverts if already applied; for DatabaseDrop confirms deletion; for DbContextScaffold overwrites existing files
frameworkstring|null–Target framework for the project
fromstring|null–Starting migration for script generation (MigrationsScript)
idempotentboolean–Generate idempotent script that can be run multiple times (MigrationsScript)
migrationstring|null–Target migration name for database update (DatabaseUpdate). Use '0' to rollback all migrations.
namestring|null–Migration name (required for MigrationsAdd)
noBuildboolean–Do not build the project before executing the command
outputstring|null–Output file path for SQL script (MigrationsScript)
outputDirstring|null–Output directory for migration files (MigrationsAdd) or entity classes (DbContextScaffold)
projectstring|null–Project file containing the DbContext
providerstring|null–Database provider package name (required for DbContextScaffold, e.g., 'Microsoft.EntityFrameworkCore.SqlServer')
schemasstring|null–Specific schemas to scaffold, comma-separated (DbContextScaffold)
startupProjectstring|null–Startup project file (if different from DbContext project)
tablesstring|null–Specific tables to scaffold, comma-separated (DbContextScaffold)
tostring|null–Ending migration for script generation (MigrationsScript)
useDatabaseNamesboolean–Use database names directly instead of pluralization (DbContextScaffold)
workingDirectorystring|null–Working 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|null–The 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|null–Cache location to clear: all, http-cache, global-packages, temp, plugins-cache
deprecatedboolean|null–Show only deprecated packages in list
exactMatchboolean|null–Show exact matches only in search results
frameworkstring|null–Target framework for package operations
outdatedboolean|null–Show only outdated packages in list
packageIdstring|null–NuGet package ID for add/remove/update operations (e.g., 'Newtonsoft.Json', 'Serilog')
prereleaseboolean|null–Include prerelease package versions
projectstring|null–Path to project file for package/reference operations
referencePathstring|null–Path to referenced project for add/remove reference operations
searchTermstring|null–Search query for finding packages on NuGet.org
skipinteger|null–Skip the first N search results for pagination
sourcestring|null–NuGet source URL for package operations
takeinteger|null–Maximum number of search results to return (1-100)
versionstring|null–Specific package version to install or update to
workingDirectorystring|null–Working 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|null–Template-specific options for new action (e.g., '--use-program-main', '--aot')
appArgsstring|null–Arguments to pass to the application for run action
archstring|null–Target architecture for publish action (e.g., 'x64', 'arm64')
blameboolean|null–Run tests in blame mode for test action
collectstring|null–Data collector friendly name for test action (e.g., 'XPlat Code Coverage')
configFilestring|null–NuGet.config file to use for restore action
configurationstring|null–Build configuration (Debug or Release)
diagnosticsstring|null–Comma-separated list of diagnostic IDs to fix for format action
filterstring|null–Test filter expression for test action
frameworkstring|null–Target framework (e.g., 'net10.0', 'net8.0')
includestring|null–The Include attribute value for AddItem/RemoveItem actions
includeGeneratedboolean|null–Include generated code files for format action
includeSourceboolean|null–Include source files in the package for pack action
includeSymbolsboolean|null–Include symbols package for pack action
itemTypestring|null–Item type for AddItem/RemoveItem/ListItems actions (e.g., 'Using', 'Content', 'None')
listTestsboolean|null–List discovered tests without running them for test action
lockedModeboolean|null–Run restore in locked mode (fail if lock file is out of date) for restore action
loggerstring|null–Logger for test results (e.g., 'trx', 'console;verbosity=detailed')
namestring|null–Project name for new action
noBuildboolean|null–Skip building before test/run actions
noHotReloadboolean|null–Disable hot reload for watch action
noRestoreboolean|null–Skip restore before build/test actions
osstring|null–Target operating system for publish action (e.g., 'win', 'linux', 'osx')
outputstring|null–Output directory for new/publish/pack actions
projectstring|null–Path to project file for most operations
projectPathstring|null–Project path for analyze/dependencies/validate actions (required for these actions)
propertyNamestring|null–MSBuild property name for SetProperty/GetProperty/RemoveProperty actions (e.g., 'OutputType')
propertyValuestring|null–Value to set for SetProperty action (e.g., 'Exe')
resultsDirectorystring|null–Directory for test results
runtimestring|null–Target runtime identifier for publish action (e.g., 'linux-x64', 'win-x64')
selfContainedboolean|null–Publish as self-contained deployment (true) or framework-dependent (false) for publish action
sessionIdstring|null–Session ID for stop/logs actions (required when action is Stop or Logs)
severitystring|null–Severity level to fix for format action (info, warn, error)
sincestring|null–Return logs only after this timestamp (ISO 8601 format) for logs action (optional)
sourcestring|null–NuGet package source URL or local path for restore action
startModestring|null–Start mode for run/watch actions (Foreground or Background). Foreground blocks until exit, Background returns immediately with sessionId. Default: Foreground
tailLinesinteger|null–Number of most recent log lines to return for logs action (optional, returns all if not specified)
templatestring|null–Template short name for new action (e.g., 'console', 'webapi', 'classlib')
testRunnerstring|null–Test runner selection for test action (Auto, MicrosoftTestingPlatform, or VSTest). Auto detects from global.json. Default: Auto
useLegacyProjectArgumentboolean|null–DEPRECATED: Use testRunner parameter instead. When true, uses positional project argument (VSTest mode)
verbositystring|null–MSBuild verbosity level (quiet, minimal, normal, detailed, diagnostic)
verifyboolean|null–Verify formatting without making changes for format action
watchActionstring|null–Sub-action for watch (run, test, or build)
workingDirectorystring|null–Working 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
forceboolean–Allows installing template packages from specified sources even if they override an existing template package
forceReloadboolean–If true, bypasses cache and reloads from disk (applies to template operations)
frameworkstring|null–Specific framework to query for framework info (e.g., 'net10.0', 'net8.0')
globalJsonPathstring|null–Path to global.json file; defaults to 'global.json' in the working directory for ConfigureGlobalJson action
interactiveboolean–Allows install to prompt for authentication/interaction if required
nugetSourcestring|null–Optional NuGet source to use for template install (e.g., a feed URL)
rollForwardstring|null–SDK roll-forward policy for global.json (e.g., 'latestMinor', 'latestMajor', 'disable') for ConfigureGlobalJson action
sdkVersionstring|null–SDK version to pin in global.json (e.g., '10.0.100') for ConfigureGlobalJson action
searchTermstring|null–Search query for template search operations
templatePackagestring|null–Template package ID (NuGet) or path (folder or .nupkg) for template install/uninstall operations
templateShortNamestring|null–Template short name for template info operations (e.g., 'console', 'webapi')
templateVersionstring|null–Optional version for template package install (used as <package>@<version>)
testRunnerstring|null–Test runner to configure in global.json (e.g., 'Microsoft.Testing.Platform', 'VSTest') for ConfigureGlobalJson action
workingDirectorystring|null–Working 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|null–Solution file format: 'sln' (classic) or 'slnx' (XML-based). Default is 'sln'. (optional, used with 'create' action)
namestring|null–Solution name (required for 'create' action)
outputstring|null–Output directory for solution file (optional, used with 'create' action)
projectsarray|null–Array of project file paths (required for 'add' and 'remove' actions)
solutionstring|null–Path 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|null–Arguments to pass to the tool when running
detailboolean|null–Show detailed information in search results
forceboolean|null–Force manifest creation even if one already exists
frameworkstring|null–Target framework for installation
globalboolean|null–Install/update/uninstall as global tool (system-wide); otherwise operates on local tools
outputstring|null–Output directory for manifest creation (defaults to current directory)
packageIdstring|null–NuGet package ID of the tool for install/update/uninstall operations (e.g., 'dotnet-ef', 'dotnet-format')
prereleaseboolean|null–Include prerelease tool versions in search
searchTermstring|null–Search query for finding tools on NuGet.org
skipinteger|null–Skip the first N search results for pagination
takeinteger|null–Maximum number of search results to return (1-100)
toolNamestring|null–Tool command name to run (e.g., 'dotnet-ef', 'dotnet-format')
toolPathstring|null–Custom tool installation path
versionstring|null–Specific version to install or update to
workingDirectorystring|null–Working 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|null–Path to NuGet configuration file to use (used with Install and Update actions)
includePreviewsboolean–Allow prerelease workload manifests (used with Install and Update actions)
searchTermstring|null–Optional search term to filter workloads (used with Search action)
skipManifestUpdateboolean–Skip updating the workload manifests during installation (used with Install action)
sourcestring|null–NuGet package source to use during restore (used with Install and Update actions)
workingDirectorystring|null–Working directory for command execution
workloadIdsarray|null–Array of workload IDs to install or uninstall (required for Install and Uninstall actions)

No output schema declared.

No examples provided.

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
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 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 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 5 November 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.