Skip to content

Commit 343737a

Browse files
authored
Fix generating random MCP endpoint URL in templates (#12558)
1 parent a352eff commit 343737a

10 files changed

Lines changed: 246 additions & 0 deletions

File tree

src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
"appHostOtlpHttpsPort": {
2121
"isHidden": true
2222
},
23+
"appHostMcpHttpPort": {
24+
"isHidden": true
25+
},
26+
"appHostMcpHttpsPort": {
27+
"isHidden": true
28+
},
2329
"appHostResourceHttpPort": {
2430
"isHidden": true
2531
},

src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,28 @@
134134
},
135135
"replaces": "19000"
136136
},
137+
"appHostMcpHttpPort": {
138+
"type": "parameter",
139+
"datatype": "integer",
140+
"description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project."
141+
},
142+
"appHostMcpHttpPortGenerated": {
143+
"type": "generated",
144+
"generator": "port",
145+
"parameters": {
146+
"low": 18000,
147+
"high": 18300
148+
}
149+
},
150+
"appHostMcpHttpPortReplacer": {
151+
"type": "generated",
152+
"generator": "coalesce",
153+
"parameters": {
154+
"sourceVariableName": "appHostMcpHttpPort",
155+
"fallbackVariableName": "appHostMcpHttpPortGenerated"
156+
},
157+
"replaces": "18000"
158+
},
137159
"appHostResourceHttpPort": {
138160
"type": "parameter",
139161
"datatype": "integer",
@@ -200,6 +222,28 @@
200222
},
201223
"replaces": "21000"
202224
},
225+
"appHostMcpHttpsPort": {
226+
"type": "parameter",
227+
"datatype": "integer",
228+
"description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project."
229+
},
230+
"appHostMcpHttpsPortGenerated": {
231+
"type": "generated",
232+
"generator": "port",
233+
"parameters": {
234+
"low": 23000,
235+
"high": 23300
236+
}
237+
},
238+
"appHostMcpHttpsPortReplacer": {
239+
"type": "generated",
240+
"generator": "coalesce",
241+
"parameters": {
242+
"sourceVariableName": "appHostMcpHttpsPort",
243+
"fallbackVariableName": "appHostMcpHttpsPortGenerated"
244+
},
245+
"replaces": "23000"
246+
},
203247
"appHostResourceHttpsPort": {
204248
"type": "parameter",
205249
"datatype": "integer",

src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
"appHostOtlpHttpsPort": {
2525
"isHidden": true
2626
},
27+
"appHostMcpHttpPort": {
28+
"isHidden": true
29+
},
30+
"appHostMcpHttpsPort": {
31+
"isHidden": true
32+
},
2733
"appHostResourceHttpPort": {
2834
"isHidden": true
2935
},

src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,28 @@
141141
},
142142
"replaces": "19000"
143143
},
144+
"appHostMcpHttpPort": {
145+
"type": "parameter",
146+
"datatype": "integer",
147+
"description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project."
148+
},
149+
"appHostMcpHttpPortGenerated": {
150+
"type": "generated",
151+
"generator": "port",
152+
"parameters": {
153+
"low": 18000,
154+
"high": 18300
155+
}
156+
},
157+
"appHostMcpHttpPortReplacer": {
158+
"type": "generated",
159+
"generator": "coalesce",
160+
"parameters": {
161+
"sourceVariableName": "appHostMcpHttpPort",
162+
"fallbackVariableName": "appHostMcpHttpPortGenerated"
163+
},
164+
"replaces": "18000"
165+
},
144166
"appHostResourceHttpPort": {
145167
"type": "parameter",
146168
"datatype": "integer",
@@ -207,6 +229,28 @@
207229
},
208230
"replaces": "21000"
209231
},
232+
"appHostMcpHttpsPort": {
233+
"type": "parameter",
234+
"datatype": "integer",
235+
"description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project."
236+
},
237+
"appHostMcpHttpsPortGenerated": {
238+
"type": "generated",
239+
"generator": "port",
240+
"parameters": {
241+
"low": 23000,
242+
"high": 23300
243+
}
244+
},
245+
"appHostMcpHttpsPortReplacer": {
246+
"type": "generated",
247+
"generator": "coalesce",
248+
"parameters": {
249+
"sourceVariableName": "appHostMcpHttpsPort",
250+
"fallbackVariableName": "appHostMcpHttpsPortGenerated"
251+
},
252+
"replaces": "23000"
253+
},
210254
"appHostResourceHttpsPort": {
211255
"type": "parameter",
212256
"datatype": "integer",

src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
"appHostOtlpHttpsPort": {
2525
"isHidden": true
2626
},
27+
"appHostMcpHttpPort": {
28+
"isHidden": true
29+
},
30+
"appHostMcpHttpsPort": {
31+
"isHidden": true
32+
},
2733
"appHostResourceHttpPort": {
2834
"isHidden": true
2935
},

src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,28 @@
169169
},
170170
"replaces": "19000"
171171
},
172+
"appHostMcpHttpPort": {
173+
"type": "parameter",
174+
"datatype": "integer",
175+
"description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project."
176+
},
177+
"appHostMcpHttpPortGenerated": {
178+
"type": "generated",
179+
"generator": "port",
180+
"parameters": {
181+
"low": 18000,
182+
"high": 18300
183+
}
184+
},
185+
"appHostMcpHttpPortReplacer": {
186+
"type": "generated",
187+
"generator": "coalesce",
188+
"parameters": {
189+
"sourceVariableName": "appHostMcpHttpPort",
190+
"fallbackVariableName": "appHostMcpHttpPortGenerated"
191+
},
192+
"replaces": "18000"
193+
},
172194
"appHostResourceHttpPort": {
173195
"type": "parameter",
174196
"datatype": "integer",
@@ -235,6 +257,28 @@
235257
},
236258
"replaces": "21000"
237259
},
260+
"appHostMcpHttpsPort": {
261+
"type": "parameter",
262+
"datatype": "integer",
263+
"description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project."
264+
},
265+
"appHostMcpHttpsPortGenerated": {
266+
"type": "generated",
267+
"generator": "port",
268+
"parameters": {
269+
"low": 23000,
270+
"high": 23300
271+
}
272+
},
273+
"appHostMcpHttpsPortReplacer": {
274+
"type": "generated",
275+
"generator": "coalesce",
276+
"parameters": {
277+
"sourceVariableName": "appHostMcpHttpsPort",
278+
"fallbackVariableName": "appHostMcpHttpsPortGenerated"
279+
},
280+
"replaces": "23000"
281+
},
238282
"appHostResourceHttpsPort": {
239283
"type": "parameter",
240284
"datatype": "integer",

src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,28 @@
8888
},
8989
"replaces": "19000"
9090
},
91+
"appHostMcpHttpPort": {
92+
"type": "parameter",
93+
"datatype": "integer",
94+
"description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project."
95+
},
96+
"appHostMcpHttpPortGenerated": {
97+
"type": "generated",
98+
"generator": "port",
99+
"parameters": {
100+
"low": 18000,
101+
"high": 18300
102+
}
103+
},
104+
"appHostMcpHttpPortReplacer": {
105+
"type": "generated",
106+
"generator": "coalesce",
107+
"parameters": {
108+
"sourceVariableName": "appHostMcpHttpPort",
109+
"fallbackVariableName": "appHostMcpHttpPortGenerated"
110+
},
111+
"replaces": "18000"
112+
},
91113
"appHostResourceHttpPort": {
92114
"type": "parameter",
93115
"datatype": "integer",
@@ -154,6 +176,28 @@
154176
},
155177
"replaces": "21000"
156178
},
179+
"appHostMcpHttpsPort": {
180+
"type": "parameter",
181+
"datatype": "integer",
182+
"description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project."
183+
},
184+
"appHostMcpHttpsPortGenerated": {
185+
"type": "generated",
186+
"generator": "port",
187+
"parameters": {
188+
"low": 23000,
189+
"high": 23300
190+
}
191+
},
192+
"appHostMcpHttpsPortReplacer": {
193+
"type": "generated",
194+
"generator": "coalesce",
195+
"parameters": {
196+
"sourceVariableName": "appHostMcpHttpsPort",
197+
"fallbackVariableName": "appHostMcpHttpsPortGenerated"
198+
},
199+
"replaces": "23000"
200+
},
157201
"appHostResourceHttpsPort": {
158202
"type": "parameter",
159203
"datatype": "integer",

src/Aspire.ProjectTemplates/templates/aspire-py-starter/13.0/apphost.run.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"ASPNETCORE_ENVIRONMENT": "Development",
1616
"DOTNET_ENVIRONMENT": "Development",
1717
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000",
18+
"ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000",
1819
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000"
1920
}
2021
},
@@ -32,6 +33,7 @@
3233
"ASPNETCORE_ENVIRONMENT": "Development",
3334
"DOTNET_ENVIRONMENT": "Development",
3435
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000",
36+
"ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000",
3537
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000"
3638
}
3739
}

src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@
2525
"appHostOtlpHttpsPort": {
2626
"isHidden": true
2727
},
28+
"appHostMcpHttpPort": {
29+
"isHidden": true
30+
},
31+
"appHostMcpHttpsPort": {
32+
"isHidden": true
33+
},
2834
"appHostResourceHttpPort": {
2935
"isHidden": true
3036
},

src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,28 @@
259259
},
260260
"replaces": "19000"
261261
},
262+
"appHostMcpHttpPort": {
263+
"type": "parameter",
264+
"datatype": "integer",
265+
"description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project."
266+
},
267+
"appHostMcpHttpPortGenerated": {
268+
"type": "generated",
269+
"generator": "port",
270+
"parameters": {
271+
"low": 18000,
272+
"high": 18300
273+
}
274+
},
275+
"appHostMcpHttpPortReplacer": {
276+
"type": "generated",
277+
"generator": "coalesce",
278+
"parameters": {
279+
"sourceVariableName": "appHostMcpHttpPort",
280+
"fallbackVariableName": "appHostMcpHttpPortGenerated"
281+
},
282+
"replaces": "18000"
283+
},
262284
"appHostResourceHttpPort": {
263285
"type": "parameter",
264286
"datatype": "integer",
@@ -325,6 +347,28 @@
325347
},
326348
"replaces": "21000"
327349
},
350+
"appHostMcpHttpsPort": {
351+
"type": "parameter",
352+
"datatype": "integer",
353+
"description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project."
354+
},
355+
"appHostMcpHttpsPortGenerated": {
356+
"type": "generated",
357+
"generator": "port",
358+
"parameters": {
359+
"low": 23000,
360+
"high": 23300
361+
}
362+
},
363+
"appHostMcpHttpsPortReplacer": {
364+
"type": "generated",
365+
"generator": "coalesce",
366+
"parameters": {
367+
"sourceVariableName": "appHostMcpHttpsPort",
368+
"fallbackVariableName": "appHostMcpHttpsPortGenerated"
369+
},
370+
"replaces": "23000"
371+
},
328372
"appHostResourceHttpsPort": {
329373
"type": "parameter",
330374
"datatype": "integer",

0 commit comments

Comments
 (0)