MCP server enabling AI agents to search, inspect, preview, and create .NET projects via natural language with parameter validation and auto-resolve.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Dotnet Template MCP.
template_searchSearch locally **and** on NuGet.org โ one call, ranked results
template_listList what's installed, filter by language/type/classification
template_inspectParameters, constraints, post-actions โ all in one shot
template_instantiateCreate a project. Not installed? Auto-resolves from NuGet. Elicits missing params interactively
template_dry_runPreview files without touching disk
template_installInstall a package (idempotent โ skips if already there)
An MCP server that lets AI agents work with dotnet new templates โ search, inspect, preview, and create projects through natural conversation instead of memorizing CLI flags.
Instead of this:
Your AI agent just says: "I need a web API with authentication and controllers" โ and the MCP server figures out the rest.
Building a custom dotnet new template? template_validate catches mistakes before you publish โ no more guessing if your template.json is correct:
What it catches: missing required fields, invalid identity format, short name conflicts with CLI commands, parameter issues (missing defaults, empty choices, prefix collisions, type mismatches), broken computed symbols, constraint misconfiguration, and missing tags.
How this relates to the official tooling. Microsoft ships template authoring validation already, and you should know about it:
| Official tool | What it gives you |
|---|---|
Microsoft.TemplateEngine.Authoring.CLI | dotnet template-authoring validate โ the reference validator |
Microsoft.TemplateEngine.Authoring.Tasks | Validation at build time, as an MSBuild task |
Microsoft.TemplateEngine.Authoring.TemplateVerifier | Snapshot testing of template output |
What template_validate adds is not the validation itself โ it is the delivery: a single structured JSON payload, split into errors/warnings/suggestions with fix-oriented messages, returned in-band to an agent that is already editing the template. No install step, no output parsing, no second tool in the loop. If you are a human authoring templates in CI, prefer the official tools above; they are the reference implementation and cover cases this does not.
| Tool | What it does |
|---|---|
template_search | Search locally and on NuGet.org โ one call, ranked results |
template_list | List what's installed, filter by language/type/classification |
template_inspect | Parameters, constraints, post-actions โ all in one shot |
template_instantiate | Create a project. Not installed? Auto-resolves from NuGet. Elicits missing params interactively |
template_dry_run | Preview files without touching disk |
template_install | Install a package (idempotent โ skips if already there) |
template_uninstall | Remove a template package |
templates_installed | Inventory of everything installed |
template_from_intent | "web API with auth" โ webapi + auth=Individual โ no LLM needed |
template_create_from_existing | Analyze a .csproj โ generate a reusable template matching repo conventions |
template_compose | Execute a sequence of templates (project + items) in one workflow |
template_suggest_parameters | Suggest parameter values with rationale based on cross-parameter relationships |
template_validate | Validate a local template directory for authoring issues before publishing |
template_compare | Compare 2+ templates side by side โ parameters, features, frameworks |
solution_analyze | Analyze a solution/workspace โ project structure, frameworks, CPM status |
packages_upgrade | Scan a project/solution/folder for outdated NuGet versions and report or apply upgrades (CPM-aware) |
A hosted deployment is available on Fronteir AI.
dnx (.NET 10+)Add to mcp.json:
๐ Claude Desktop, Cursor, and more โ
Standard I/O transport for local CLI and tool usage:
Streamable HTTP transport for remote or CI/CD deployment.
Authentication is mandatory. Every tool in this server writes files and installs NuGet packages, so an open endpoint is a remote code execution surface. The server refuses to start the HTTP transport unless you either set a token or explicitly opt in to anonymous access:
Clients authenticate with Authorization: Bearer <shared-secret>. Requests to /mcp are rate limited per client (default 120/minute, MCP_TEMPLATE_HTTP_RATE_LIMIT=0 disables). /health stays anonymous for probes.
Not multi-tenant.
TemplateEngineServiceis a process-wide singleton withvirtualizeSettings: false, so the installed-template set is shared by every caller, and the workspace root is process-wide. Run one instance per trusted team or per tenant โ do not expose a single instance to mutually untrusting users.
The HTTP server exposes:
/mcp โ MCP streamable HTTP endpoint (bearer token required)/health โ Health check endpoint (anonymous)Configure the listen URL:
Connect your MCP client:
When a template has required parameters that weren't provided, the server asks the user interactively via MCP elicitation โ instead of failing. Template parameter types are mapped to form fields:
| Template Parameter | Elicitation Field |
|---|---|
string | Text input |
bool / boolean | Checkbox |
int / number | Number input |
| Choice parameter | Single-select dropdown |
Disable with MCP_TEMPLATE_ELICITATION=false.
The server also does smart defaults (AOT โ latest framework, auth โ HTTPS stays on), parameter validation before writing files, constraint checking (OS, SDK, workload), interactive elicitation of missing required parameters, and auto-resolves templates from NuGet if they're not installed.
When creating a project inside a solution that uses Central Package Management, the server automatically:
Directory.Packages.props by walking up the directory treeVersion attributes from generated .csproj PackageReferences<PackageVersion> entries to Directory.Packages.propsWorks for standalone projects too โ versions are updated directly in the .csproj.
Chain multiple templates in one call with template_compose:
๐ Architecture & smart behaviors โ
By default, all 15 tools are available. If your agent works better with fewer tools, set the MCP_TEMPLATE_TOOL_PROFILE environment variable:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/yuliiakovalova-dotnet-template-mcp)<a href="https://allmcps.com/mcp/yuliiakovalova-dotnet-template-mcp"><img src="https://allmcps.com/api/badge/yuliiakovalova-dotnet-template-mcp?style=directory" alt="Dotnet Template MCP on AllMCPs" /></a>