Token导航 LogoToken导航TokenDH.com
Dotnet Template MCP logo
开发工具未说明官方级别未说明来源级核验

Dotnet Template MCP

MCP Server

一个让AI代理通过自然语言交互搜索、检查、预览和创建dotnet项目的MCP服务器,替代传统CLI命令操作。

工具数

15

提示词数

0

GitHub Stars

3

资源数

0
开发工具C#ClaudeClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

YuliiaKovalova

提供方

YuliiaKovalova

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

微软。模板引擎。主控程序

允许AI代理使用的MCP服务器 dotnet new 模板——通过自然对话搜索、检查、预览和创建项目,而不是记住CLI标志。

取而代之的是:

dotnet new list --language C#
dotnet new webapi --help
dotnet new webapi --auth Individual --use-controllers --name MyApi --output ./MyApi

你的AI代理只是说: *“我需要一个带有身份验证和控制器的web API”* --MCP服务器计算出其余部分。

作者模板验证

创建自定义 dotnet new 模板? template_validate 发现错误 之前 你发表——不再猜测你的 template.json 正确:

Agent calls: template_validate("./my-template")

← Returns:
{
  "valid": false,
  "summary": "2 error(s), 1 warning(s), 3 suggestion(s)",
  "errors": [
    "Missing required field 'shortName'.",
    "Parameter 'Framework': default value 'net7.0' is not in the choices list."
  ],
  "warnings": [
    "Missing 'sourceName'. Without it, the generated project name won't be customizable via --name."
  ],
  "suggestions": [
    "Consider adding a 'description' field to help users understand what this template creates.",
    "Consider adding 'language' tag (e.g., 'C#') for better discoverability.",
    "Consider adding 'type' tag (e.g., 'project', 'item') for filtering."
  ]
}

它捕获了什么: 缺少必填字段、无效的标识格式、短名称与CLI命令冲突、参数问题(缺少默认值、空选项、前缀冲突、类型不匹配)、计算符号损坏、约束配置错误和缺少标记。

没有现有的工具可以做到这一点——大多数模板作者只有在以下情况下才会发现问题 dotnet new install 失败或产生错误的输出。

工具

工具它做什么
template_search本地搜索 在NuGet.org上--一个电话,排名结果
template_list列出已安装的内容,按语言/类型/分类进行筛选
template_inspect参数、约束、后期操作——一次完成
template_instantiate创建一个项目。未安装?自动从NuGet解析。以交互方式诱导缺失的参数
template_dry_run无需触摸磁盘即可预览文件
template_install安装一个包(幂等--如果已经存在则跳过)
template_uninstall删除模板包
templates_installed所有已安装设备的清单
template_from_intent*“带有auth的web API”* →webapi+ auth=Individual --无需法学硕士
template_create_from_existing分析.csproj→ 生成符合仓库约定的可重用模板
template_compose在一个工作流中执行一系列模板(项目+项目)
template_suggest_parameters基于交叉参数关系,建议具有基本原理的参数值
template_validate发布前验证本地模板目录是否存在创作问题
template_compare并排比较2个以上的模板——参数、功能、框架
solution_analyze分析解决方案/工作空间——项目结构、框架、CPM状态

📖 完整工具参考→

托管部署

托管部署可在 Frontier AI.

快速开始

全局工具(.NET 8+)

dotnet tool install --global DotnetTemplateMCP --version 1.3.0

零安装 dnx (.NET 10+)

dnx -y DotnetTemplateMCP --version 1.3.0

VS代码/GitHub副本

添加 mcp.json:

{
  "servers": {
    "dotnet-templates": {
      "type": "stdio",
      "command": "dnx",
      "args": ["-y", "DotnetTemplateMCP", "--version", "1.3.0"]
    }
  }
}

📖 Claude桌面、光标等→

运输方式

标准(默认)

用于本地CLI和工具使用的标准I/O传输:

template-engine-mcp                     # stdio is the default
template-engine-mcp --transport stdio   # explicit

HTTP(远程/云/团队共享)

用于远程、多租户或CI/CD部署的流式HTTP传输:

template-engine-mcp --transport http
# or via environment variable:
MCP_TEMPLATE_TRANSPORT=http template-engine-mcp

HTTP服务器公开:

  • /mcp --MCP可流式传输HTTP端点
  • /health --健康检查端点

配置侦听URL:

MCP_TEMPLATE_HTTP_URL=http://0.0.0.0:8080 template-engine-mcp --transport http

连接您的MCP客户端:

{
  "servers": {
    "dotnet-templates": {
      "type": "http",
      "url": "http://localhost:5005/mcp"
    }
  }
}

互动启发

当模板具有未提供的所需参数时,服务器 以交互方式询问用户 通过MCP激发,而不是失败。模板参数类型映射到表单字段:

模板参数引用字段
string文本输入
bool / boolean复选框
int / number数字输入
选择参数单选下拉列表

禁用 MCP_TEMPLATE_ELICITATION=false.

运作原理

You: "I need a web API with authentication, controllers, and Docker support"

→ template_from_intent extracts keywords: web api, authentication, controllers, docker
→ Matches: webapi (confidence: 0.85)
→ Resolves: auth=Individual, UseControllers=true, EnableDocker=true
→ template_instantiate creates the project

服务器也可以 智能默认值 (AOT → 最新框架,auth→ HTTPS保持开启), 参数验证 在写入文件之前, 约束检查 (操作系统、SDK、工作负载), 互动启发 缺少所需参数,以及 自动解析 如果未安装NuGet中的模板。

CPM和最新软件包版本

在使用的解决方案中创建项目时 中央包管理,服务器自动:

  1. 发现 Directory.Packages.props 沿着目录树向上走
  2. 条带 Version 生成的属性 .csproj 包引用
  3. 增加 缺失 `

条目到 Directory.Packages.props`

  1. 解决 最新稳定的NuGet版本——不再有模板中过时的硬编码版本
Before (what dotnet new generates):
  
    ← stale, breaks CPM

After (what template_instantiate produces):
  .csproj:                    

  Directory.Packages.props:   

也适用于独立项目——版本直接在 .csproj.

多模板组合

在一次调用中链接多个模板 template_compose:

[
  {"templateName": "webapi", "name": "MyApi", "parametersJson": "{\"auth\": \"Individual\"}"},
  {"templateName": "gitignore", "target": "."}
]

📖 架构和智能行为→

工具配置文件(精简版与完整版)

默认情况下,所有14个工具都可用。如果您的代理使用更少的工具工作得更好,请设置 MCP_TEMPLATE_TOOL_PROFILE 环境变量:

配置文件工具何时使用
full (默认)全部14个工具完全控制--高级工作流、合成、自定义模板
lite5个核心工具只需要查找和创建项目的更简单的代理

Lite配置文件工具: template_from_intent, template_instantiate, template_inspect, template_search, template_dry_run

{
  "servers": {
    "dotnet-template-mcp": {
      "command": "dotnet-template-mcp",
      "env": {
        "MCP_TEMPLATE_TOOL_PROFILE": "lite"
      }
    }
  }
}

非精简版工具将返回一条有用的消息,解释它们已被禁用以及如何启用它们。

文档

医生里面有什么
配置VS Code、克劳德桌面、光标设置+故障排除
工具参考每个工具的参数、类型和示例
建筑模板缓存、智能行为、遥测、项目结构
MCP vs技能为什么MCP优于副驾驶技能——利与弊
普通LLM与MCP并列:普通LLM与MCP工具的区别(4种情况)
技能等价物用技能来弥补这一点需要什么

建筑与测试

dotnet build
dotnet test    # 185+ tests — unit, integration, and E2E

CI通过推送/PR运行 (Ubuntu+Windows)。

贡献

欢迎投稿!请在提交PR之前打开一个问题来讨论拟议的更改。

# Setup
dotnet restore
dotnet build

# Run tests
dotnet test

# Pack locally
dotnet pack src/Microsoft.TemplateEngine.MCP -o nupkg/

更新日志

更改日志.md 发布历史。

许可证

麻省理工学院

目录标签

目录标签

开发工具C#Claudedotnet模板本地部署AI代理项目生成模板验证

支持客户端

ClaudeVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP