Skip to content

Commit b9820d6

Browse files
committed
Adding an Aspire sample app
1 parent 55bda78 commit b9820d6

77 files changed

Lines changed: 60526 additions & 6 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Directory.Packages.props

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
<System9Version>9.0.5</System9Version>
55
<System10Version>10.0.0-preview.4.25258.110</System10Version>
66
<MicrosoftExtensionsAIVersion>9.6.0</MicrosoftExtensionsAIVersion>
7+
<AspireVersion>9.3.0</AspireVersion>
8+
<OTELVersion>1.12.0</OTELVersion>
79
</PropertyGroup>
810

911
<!-- Product dependencies netstandard -->
@@ -37,6 +39,15 @@
3739
<PackageVersion Include="Microsoft.Extensions.AI" Version="$(MicrosoftExtensionsAIVersion)" />
3840
<PackageVersion Include="System.Net.ServerSentEvents" Version="$(System10Version)" />
3941
</ItemGroup>
42+
43+
<!-- Aspire packages -->
44+
<ItemGroup>
45+
<PackageVersion Include="Aspire.Hosting.AppHost" Version="$(AspireVersion)" />
46+
47+
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="9.4.0" />
48+
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="$(AspireVersion)" />
49+
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="$(OTELVersion)" />
50+
</ItemGroup>
4051

4152
<ItemGroup>
4253

@@ -59,12 +70,12 @@
5970
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="9.5.0" />
6071
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
6172
<PackageVersion Include="Moq" Version="4.20.72" />
62-
<PackageVersion Include="OpenTelemetry" Version="1.12.0" />
63-
<PackageVersion Include="OpenTelemetry.Exporter.InMemory" Version="1.12.0" />
64-
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0" />
65-
<PackageVersion Include="OpenTelemetry.Instrumentation.Http " Version="1.12.0" />
66-
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0" />
67-
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.12.0" />
73+
<PackageVersion Include="OpenTelemetry" Version="$(OTELVersion)" />
74+
<PackageVersion Include="OpenTelemetry.Exporter.InMemory" Version="$(OTELVersion)" />
75+
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="$(OTELVersion)" />
76+
<PackageVersion Include="OpenTelemetry.Instrumentation.Http " Version="$(OTELVersion)" />
77+
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="$(OTELVersion)" />
78+
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="$(OTELVersion)" />
6879
<PackageVersion Include="Serilog.Extensions.Hosting" Version="9.0.0" />
6980
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.1" />
7081
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />

ModelContextProtocol.slnx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
<Project Path="samples/QuickstartWeatherServer/QuickstartWeatherServer.csproj" />
1717
<Project Path="samples/TestServerWithHosting/TestServerWithHosting.csproj" />
1818
</Folder>
19+
<Folder Name="/samples/Aspire/">
20+
<Project Path="samples/aspire/McpSample.AppHost/McpSample.AppHost.csproj" Id="ad6fb69f-473d-426a-b714-35a9d0ec6f04" />
21+
<Project Path="samples/aspire/McpSample.AspNetServer/McpSample.AspNetServer.csproj" />
22+
<Project Path="samples/aspire/McpSample.Client/McpSample.Client.csproj" />
23+
<Project Path="samples/aspire/McpSample.ServiceDefaults/McpSample.ServiceDefaults.csproj" Id="0fefa8c5-cbaa-476c-ba38-d1417b5bdf72" />
24+
</Folder>
1925
<Folder Name="/Solution Items/">
2026
<File Path="Directory.Build.props" />
2127
<File Path="Directory.Packages.props" />
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
var builder = DistributedApplication.CreateBuilder(args);
2+
3+
var mcpServer = builder.AddProject<Projects.McpSample_AspNetServer>("mcp-server");
4+
5+
builder.AddProject<Projects.McpSample_Client>("client")
6+
.WithReference(mcpServer)
7+
.WaitFor(mcpServer);
8+
9+
builder.Build().Run();
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<Sdk Name="Aspire.AppHost.Sdk" Version="$(AspireVersion)" />
4+
5+
<PropertyGroup>
6+
<OutputType>Exe</OutputType>
7+
<TargetFramework>net9.0</TargetFramework>
8+
<ImplicitUsings>enable</ImplicitUsings>
9+
<Nullable>enable</Nullable>
10+
<UserSecretsId>7e82c897-e887-4b16-9188-7a1a17ae062d</UserSecretsId>
11+
</PropertyGroup>
12+
13+
<ItemGroup>
14+
<PackageReference Include="Aspire.Hosting.AppHost" />
15+
</ItemGroup>
16+
17+
<ItemGroup>
18+
<ProjectReference Include="..\McpSample.AspNetServer\McpSample.AspNetServer.csproj" />
19+
<ProjectReference Include="..\McpSample.Client\McpSample.Client.csproj" />
20+
</ItemGroup>
21+
22+
</Project>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"$schema": "https://json.schemastore.org/launchsettings.json",
3+
"profiles": {
4+
"https": {
5+
"commandName": "Project",
6+
"dotnetRunMessages": true,
7+
"launchBrowser": true,
8+
"applicationUrl": "https://localhost:17079;http://localhost:15231",
9+
"environmentVariables": {
10+
"ASPNETCORE_ENVIRONMENT": "Development",
11+
"DOTNET_ENVIRONMENT": "Development",
12+
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21065",
13+
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22087"
14+
}
15+
},
16+
"http": {
17+
"commandName": "Project",
18+
"dotnetRunMessages": true,
19+
"launchBrowser": true,
20+
"applicationUrl": "http://localhost:15231",
21+
"environmentVariables": {
22+
"ASPNETCORE_ENVIRONMENT": "Development",
23+
"DOTNET_ENVIRONMENT": "Development",
24+
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19278",
25+
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20063"
26+
}
27+
}
28+
}
29+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.AspNetCore": "Warning"
6+
}
7+
}
8+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.AspNetCore": "Warning",
6+
"Aspire.Hosting.Dcp": "Warning"
7+
}
8+
}
9+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net9.0</TargetFramework>
5+
<Nullable>enable</Nullable>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
</PropertyGroup>
8+
9+
<ItemGroup>
10+
<ProjectReference Include="..\..\..\src\ModelContextProtocol.AspNetCore\ModelContextProtocol.AspNetCore.csproj" />
11+
<ProjectReference Include="..\McpSample.ServiceDefaults\McpSample.ServiceDefaults.csproj" />
12+
</ItemGroup>
13+
14+
</Project>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using McpSample.AspNetServer.Tools;
2+
3+
var builder = WebApplication.CreateBuilder(args);
4+
5+
builder.AddServiceDefaults();
6+
7+
builder.Services.AddMcpServer()
8+
.WithHttpTransport()
9+
.WithTools<EchoTool>()
10+
.WithTools<WeatherTool>();
11+
12+
var app = builder.Build();
13+
14+
app.MapDefaultEndpoints();
15+
16+
app.MapMcp();
17+
18+
app.Run();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"$schema": "https://json.schemastore.org/launchsettings.json",
3+
"profiles": {
4+
"http": {
5+
"commandName": "Project",
6+
"dotnetRunMessages": true,
7+
"launchBrowser": true,
8+
"applicationUrl": "http://localhost:5294",
9+
"environmentVariables": {
10+
"ASPNETCORE_ENVIRONMENT": "Development"
11+
}
12+
},
13+
"https": {
14+
"commandName": "Project",
15+
"dotnetRunMessages": true,
16+
"launchBrowser": true,
17+
"applicationUrl": "https://localhost:7269;http://localhost:5294",
18+
"environmentVariables": {
19+
"ASPNETCORE_ENVIRONMENT": "Development"
20+
}
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)