.NET Aspire isn’t limited to .NET microservices — you can orchestrate Python components just as easily.
In this post, we’ll look at how to run a Python MCP (Model Context Protocol) server inside an Aspire application, integrate it with the MCP Inspector, and expose it via a Dev Tunnel for testing.
Folder Layout
05_PythonMCP/
├─ AppHost.cs
├─ PythonMCP.csproj
├─ appsettings.json
├─ appsettings.Development.json
├─ NuGet.config
├─ README.md
└─ pymcp/
├─ main.py
├─ requirements.txt
└─ (optional) .venv/
AppHost.cs
Here’s the full orchestration file:
var builder = DistributedApplication.CreateBuilder(args);
var inspector = builder.AddMcpInspector("mcp-inspector");
var tunnel = builder.AddDevTunnel("dev-tunnel");
var pyMcpServer = builder.AddPythonApp(
name: "pymcp",
appDirectory: "./pymcp",
scriptPath: "main.py"
).WithHttpEndpoint(env: "PORT");
tunnel.WithReference(pyMcpServer, allowAnonymous: true);
inspector.WithMcpServer(pyMcpServer);
builder. Build().Run();
Continue reading “Running a Python MCP server inside .NET Aspire”
