diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json index fb69016afd7..245368a16a1 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json @@ -20,6 +20,12 @@ "appHostOtlpHttpsPort": { "isHidden": true }, + "appHostMcpHttpPort": { + "isHidden": true + }, + "appHostMcpHttpsPort": { + "isHidden": true + }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json index 243bb87cc0d..45b9f4355e3 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json @@ -134,6 +134,28 @@ }, "replaces": "19000" }, + "appHostMcpHttpPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 18000, + "high": 18300 + } + }, + "appHostMcpHttpPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpPort", + "fallbackVariableName": "appHostMcpHttpPortGenerated" + }, + "replaces": "18000" + }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -200,6 +222,28 @@ }, "replaces": "21000" }, + "appHostMcpHttpsPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpsPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 23000, + "high": 23300 + } + }, + "appHostMcpHttpsPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpsPort", + "fallbackVariableName": "appHostMcpHttpsPortGenerated" + }, + "replaces": "23000" + }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json index 2af9ca09103..07a6a3efa4e 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json @@ -24,6 +24,12 @@ "appHostOtlpHttpsPort": { "isHidden": true }, + "appHostMcpHttpPort": { + "isHidden": true + }, + "appHostMcpHttpsPort": { + "isHidden": true + }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json index 0c6864c5bb3..130a8506166 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json @@ -141,6 +141,28 @@ }, "replaces": "19000" }, + "appHostMcpHttpPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 18000, + "high": 18300 + } + }, + "appHostMcpHttpPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpPort", + "fallbackVariableName": "appHostMcpHttpPortGenerated" + }, + "replaces": "18000" + }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -207,6 +229,28 @@ }, "replaces": "21000" }, + "appHostMcpHttpsPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpsPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 23000, + "high": 23300 + } + }, + "appHostMcpHttpsPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpsPort", + "fallbackVariableName": "appHostMcpHttpsPortGenerated" + }, + "replaces": "23000" + }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json index 250d5d0e364..b21c2df885b 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json @@ -24,6 +24,12 @@ "appHostOtlpHttpsPort": { "isHidden": true }, + "appHostMcpHttpPort": { + "isHidden": true + }, + "appHostMcpHttpsPort": { + "isHidden": true + }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json index aeabf3899b5..96ec7ceaefa 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json @@ -169,6 +169,28 @@ }, "replaces": "19000" }, + "appHostMcpHttpPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 18000, + "high": 18300 + } + }, + "appHostMcpHttpPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpPort", + "fallbackVariableName": "appHostMcpHttpPortGenerated" + }, + "replaces": "18000" + }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -235,6 +257,28 @@ }, "replaces": "21000" }, + "appHostMcpHttpsPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpsPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 23000, + "high": 23300 + } + }, + "appHostMcpHttpsPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpsPort", + "fallbackVariableName": "appHostMcpHttpsPortGenerated" + }, + "replaces": "23000" + }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json index 73abbabf084..ca8526b8561 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json @@ -88,6 +88,28 @@ }, "replaces": "19000" }, + "appHostMcpHttpPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 18000, + "high": 18300 + } + }, + "appHostMcpHttpPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpPort", + "fallbackVariableName": "appHostMcpHttpPortGenerated" + }, + "replaces": "18000" + }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -154,6 +176,28 @@ }, "replaces": "21000" }, + "appHostMcpHttpsPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpsPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 23000, + "high": 23300 + } + }, + "appHostMcpHttpsPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpsPort", + "fallbackVariableName": "appHostMcpHttpsPortGenerated" + }, + "replaces": "23000" + }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/13.0/apphost.run.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/13.0/apphost.run.json index 034d4dd6a65..0dfcff36b5f 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/13.0/apphost.run.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/13.0/apphost.run.json @@ -15,6 +15,7 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000", + "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000" } }, @@ -32,6 +33,7 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000", + "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000" } } diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json index 14e42706e7a..bcdecd8ac04 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json @@ -25,6 +25,12 @@ "appHostOtlpHttpsPort": { "isHidden": true }, + "appHostMcpHttpPort": { + "isHidden": true + }, + "appHostMcpHttpsPort": { + "isHidden": true + }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json index 21d8b84a007..600d8822451 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json @@ -259,6 +259,28 @@ }, "replaces": "19000" }, + "appHostMcpHttpPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 18000, + "high": 18300 + } + }, + "appHostMcpHttpPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpPort", + "fallbackVariableName": "appHostMcpHttpPortGenerated" + }, + "replaces": "18000" + }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -325,6 +347,28 @@ }, "replaces": "21000" }, + "appHostMcpHttpsPort": { + "type": "parameter", + "datatype": "integer", + "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." + }, + "appHostMcpHttpsPortGenerated": { + "type": "generated", + "generator": "port", + "parameters": { + "low": 23000, + "high": 23300 + } + }, + "appHostMcpHttpsPortReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "appHostMcpHttpsPort", + "fallbackVariableName": "appHostMcpHttpsPortGenerated" + }, + "replaces": "23000" + }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer",