io.github.YuliiaKovalova/dotnet-template-mcp
NUGET · DOTNETTEMPLATEMCP · SCANNED SEP 20
MCP server for dotnet new: discover, inspect, preview and create .NET projects from templates.
Available components
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
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 33 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability87
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1841 tokens (~115/item across 16 items; 16 tools + 0 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 Management90
- Stability observed for 27 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 Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "template_uninstall" implies "uninstall" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.YuliiaKovalova/dotnet-template-mcp server?
io.github.YuliiaKovalova/dotnet-template-mcp runs locally as a NuGet package, launched with dnx DotnetTemplateMCP@2.0.0 --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 · DotnetTemplateMCP
claude mcp add yuliiakovalova-dotnet-template-mcp -- dnx DotnetTemplateMCP@2.0.0 --yes
{
"mcpServers": {
"yuliiakovalova-dotnet-template-mcp": {
"command": "dnx",
"args": [
"DotnetTemplateMCP@2.0.0",
"--yes"
]
}
}
} {
"servers": {
"yuliiakovalova-dotnet-template-mcp": {
"command": "dnx",
"args": [
"DotnetTemplateMCP@2.0.0",
"--yes"
]
}
}
} codex mcp add yuliiakovalova-dotnet-template-mcp -- dnx DotnetTemplateMCP@2.0.0 --yes
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"yuliiakovalova-dotnet-template-mcp": {
"type": "local",
"command": [
"dnx",
"DotnetTemplateMCP@2.0.0",
"--yes"
],
"enabled": true
}
}
} mcp_servers:
yuliiakovalova-dotnet-template-mcp:
command: "dnx"
args: ["DotnetTemplateMCP@2.0.0", "--yes"] {
"McpServers": {
"yuliiakovalova-dotnet-template-mcp": {
"Transport": "stdio",
"Command": "dnx",
"Arguments": [
"DotnetTemplateMCP@2.0.0",
"--yes"
]
}
}
} {
"mcpServers": {
"yuliiakovalova-dotnet-template-mcp": {
"command": "dnx",
"args": [
"DotnetTemplateMCP@2.0.0",
"--yes"
]
}
}
} 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 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −3
- Stability: pass → 0.80 functional
- 16 Sept 26 0
- Stability: 0.97 → pass security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 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 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −2
- Stability: fail → 0.83 functional
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 96.
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/DotnetTemplateMCP@2.0.0
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 →
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 →
packages_upgrade ~168
Stop hand-editing stale NuGet versions. Scan a .csproj, .sln/.slnx, or directory for outdated PackageReference/PackageVersion entries and report (or apply) upgrades to the latest stable versions. Uses the feeds configured in the repository's NuGet.config. CPM-aware: updates Directory.Packages.props when present. Reports only by default; pass apply=true to write changes.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | When true, writes the upgraded versions to disk. When false (default), only reports what would change. |
| path | string|null | – | Path to a .csproj, .sln/.slnx file, or a directory to scan. For a solution or directory, all .csproj files beneath it are scanned. Defaults to the workspace root. |
No output schema declared.
No examples provided.
solution_analyze ~67
Analyze a solution or workspace directory. Returns project structure, target frameworks, CPM status, and NuGet configuration — essential context for template creation decisions.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string|null | – | Path to a .sln/.slnx file or a directory to scan. Defaults to current directory. |
No output schema declared.
No examples provided.
template_compare ~95
Compare 2 or more templates side by side — parameters, auth support, AOT, framework options, and classifications. Use when deciding between templates (e.g., webapi vs webapp, blazorserver vs blazorwasm).
| Name | Type | Req | Description |
|---|---|---|---|
| templateNames | string | yes | Comma-separated template identities or short names to compare (e.g., 'webapi,webapp' or 'blazorserver,blazorwasm') |
No output schema declared.
No examples provided.
template_compose ~142
Execute a sequence of template operations (project + item templates) in order. For example, create a MAUI app then add specific pages/views. Each step can reference a different template. If a template is not installed, it will be auto-resolved from NuGet.
| Name | Type | Req | Description |
|---|---|---|---|
| stepsJson | string | yes | JSON array of steps. Each step: {"templateName": "...", "name": "...", "outputPath": "...", "target": "relative/path", "parametersJson": "{...}"}. The first step creates the project; subsequent steps… |
No output schema declared.
No examples provided.
template_create_from_existing ~225
Analyze an existing .csproj project file and generate a reusable dotnet template that preserves its exact conventions: SDK type (e.g., MSTest.Sdk), package references with metadata (PrivateAssets, IncludeAssets), properties (OutputType, TreatWarningsAsErrors), Central Package Management, shared compiles, and content items. Solves the problem of 'dotnet new' creating generic projects that don't match repo conventions.
| Name | Type | Req | Description |
|---|---|---|---|
| install | boolean | – | If true, also installs the generated template so it can be used immediately. |
| outputPath | string|null | – | Output directory where the template will be generated. Defaults to a 'templates' folder next to the source project. |
| projectPath | string | yes | Full path to the .csproj file to analyze and use as a template source |
| shortName | string|null | – | Short name for the template (e.g., 'repo-unittest'). Used with 'dotnet new <shortname>'. |
| templateName | string | yes | Human-readable name for the generated template (e.g., 'Repo Unit Test Project') |
No output schema declared.
No examples provided.
template_dry_run ~113
See exactly what files a template would create before committing. Supports auto-resolve from NuGet, parameter validation, and constraint checking.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string|null | – | Name for the created project/item |
| outputPath | string|null | – | Output directory path (used for path resolution only, nothing is written) |
| parametersJson | string|null | – | JSON object of parameter name-value pairs (e.g., {"Framework": "net8.0"}) |
| templateName | string | yes | Template identity or short name |
No output schema declared.
No examples provided.
template_from_intent ~127
Skip the CLI flags — describe what you want in plain English and get the right template with pre-filled parameters. No LLM required — uses keyword matching. Example: 'web API with authentication and controllers' → webapi + auth=Individual + UseControllers=true.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | Natural language description of the project you want to create (e.g., 'web API with authentication and controllers', 'console app with .NET 9', 'MAUI cross-platform app') |
| maxResults | integer|null | – | Maximum number of matches to return (default: 5) |
No output schema declared.
No examples provided.
template_inspect ~68
Get all details about a template in one call — parameters (names, types, defaults, choices), constraints, post-actions, supported hosts, and classifications. Can also inspect templates on NuGet that are not yet installed.
| Name | Type | Req | Description |
|---|---|---|---|
| templateName | string | yes | Template identity or short name to inspect |
No output schema declared.
No examples provided.
template_install ~126
Install a template package from NuGet or a local folder/nupkg path. Idempotent: skips if already installed at the same version, offers upgrade if older. Returns install status AND full metadata for all templates in the package.
| Name | Type | Req | Description |
|---|---|---|---|
| packageId | string | yes | NuGet package ID (e.g., 'Microsoft.DotNet.Web.ProjectTemplates.8.0') or local path to a folder or .nupkg file |
| version | string|null | – | Optional package version (e.g., '8.0.0'). If not specified, the latest version is used. |
No output schema declared.
No examples provided.
template_instantiate ~230
Create a project or item from a template — the main tool for project scaffolding. Auto-installs from NuGet if missing, validates parameters before writing files, applies smart defaults, adapts for Central Package Management, and runs the template's restore and add-to-solution post-actions. Prefer this over running 'dotnet new' directly.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string|null | – | Name for the created project/item |
| outputPath | string|null | – | Output directory path where files will be created |
| parametersJson | string|null | – | JSON object of parameter name-value pairs (e.g., {"Framework": "net8.0", "EnableAot": "true"}) |
| resolveLatestVersions | boolean|null | – | If true, rewrite package references to the latest stable NuGet versions. Omit to use the server default, which reports available upgrades without changing the versions the template author pinned. |
| runPostActions | boolean | – | If false, skip the template's restore and add-to-solution post-actions (default: true) |
| templateName | string | yes | Template identity or short name |
No output schema declared.
No examples provided.
template_list ~91
List all installed templates with optional filtering by language, type, or classification.
| Name | Type | Req | Description |
|---|---|---|---|
| classification | string|null | – | Optional classification filter (e.g., 'Web', 'Console', 'Library') |
| language | string|null | – | Optional language filter (e.g., 'C#', 'F#', 'VB') |
| type | string|null | – | Optional type filter (e.g., 'project', 'item') |
No output schema declared.
No examples provided.
template_search ~108
Find templates you don't know the name of. Searches both locally installed templates and NuGet.org, returning a unified ranked list with local templates first.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string|null | – | Optional language filter (e.g., 'C#', 'F#', 'VB') |
| query | string | yes | Search query string to match against template names, short names, tags, and descriptions |
| type | string|null | – | Optional type filter (e.g., 'project', 'item', 'solution') |
No output schema declared.
No examples provided.
template_suggest_parameters ~107
Given a template and partial parameter values, suggest reasonable defaults based on cross-parameter relationships. Returns suggestions with rationale explaining why each value is recommended. Example: EnableAot=true → suggests Framework=net9.0 because 'NativeAOT works best with the latest framework'.
| Name | Type | Req | Description |
|---|---|---|---|
| parametersJson | string|null | – | JSON object of parameter name-value pairs already chosen (e.g., {"EnableAot": "true"}) |
| templateName | string | yes | Template identity or short name |
No output schema declared.
No examples provided.
template_uninstall ~55
Uninstall a template package. After uninstallation, templates from the package are no longer available.
| Name | Type | Req | Description |
|---|---|---|---|
| packageId | string | yes | Package identifier to uninstall (e.g., 'Microsoft.DotNet.Web.ProjectTemplates.8.0') |
No output schema declared.
No examples provided.
template_validate ~76
Catch template.json mistakes before publishing. Validates a local template directory for schema compliance, parameter issues (missing defaults, choice conflicts, prefix collisions), and configuration completeness. Returns errors, warnings, and suggestions.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Path to the template directory (must contain .template.config/template.json), or direct path to template.json |
No output schema declared.
No examples provided.
templates_installed ~43
Get a structured listing of all installed templates as a resource. Returns identity, short names, name, description, author, classifications, language, and type for each template.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the io.github.YuliiaKovalova/dotnet-template-mcp server?
io.github.YuliiaKovalova/dotnet-template-mcp is listed in the public MCP registry as io.github.YuliiaKovalova/dotnet-template-mcp. MCP server for dotnet new: discover, inspect, preview and create .NET projects from templates. This page covers its NuGet package (DotnetTemplateMCP).
Is the io.github.YuliiaKovalova/dotnet-template-mcp server safe to use?
io.github.YuliiaKovalova/dotnet-template-mcp scores 84 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 io.github.YuliiaKovalova/dotnet-template-mcp server expose?
io.github.YuliiaKovalova/dotnet-template-mcp exposes 16 tools: template_create_from_existing, template_from_intent, template_list, template_dry_run, template_validate, and 11 more. Their descriptions and schemas cost roughly 1,841 tokens of context every time the server is loaded.
Is the io.github.YuliiaKovalova/dotnet-template-mcp server still maintained?
io.github.YuliiaKovalova/dotnet-template-mcp 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 io.github.YuliiaKovalova/dotnet-template-mcp server under?
io.github.YuliiaKovalova/dotnet-template-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.