Nall.ModelContextProtocol.Inspector.Aspire.Hosting 0.10.0
dotnet add package Nall.ModelContextProtocol.Inspector.Aspire.Hosting --version 0.10.0NuGet\Install-Package Nall.ModelContextProtocol.Inspector.Aspire.Hosting -Version 0.10.0<PackageReference Include="Nall.ModelContextProtocol.Inspector.Aspire.Hosting" Version="0.10.0" /><PackageVersion Include="Nall.ModelContextProtocol.Inspector.Aspire.Hosting" Version="0.10.0" />Directory.Packages.props
<PackageReference Include="Nall.ModelContextProtocol.Inspector.Aspire.Hosting" />Project file
paket add Nall.ModelContextProtocol.Inspector.Aspire.Hosting --version 0.10.0#r "nuget: Nall.ModelContextProtocol.Inspector.Aspire.Hosting, 0.10.0"#:package Nall.ModelContextProtocol.Inspector.Aspire.Hosting@0.10.0#addin nuget:?package=Nall.ModelContextProtocol.Inspector.Aspire.Hosting&version=0.10.0Install as a Cake Addin
#tool nuget:?package=Nall.ModelContextProtocol.Inspector.Aspire.Hosting&version=0.10.0Install as a Cake Tool
Model Context Protocol .NET Template
<p align="center"><img src="assets/light.png" alt="MCP Logo" /></p>
<p align="center"><strong>A protocol for seamless integration between LLM applications and external data sources</strong></p>
<p align="center"><a href="https://modelcontextprotocol.io">Documentation</a> |<a href="https://spec.modelcontextprotocol.io">Specification</a> |<a href="https://github.com/orgs/modelcontextprotocol/discussions">Discussions</a></p>
This repository contains atemplate for creating a Model Context Protocol (MCP) application in .NET. It provides a basic structure and example code to help you get started with building your own MCP-enabled applications.
| Package | Version | Description |
|---|---|---|
Nall.ModelContextProtocol.Template | Templates | |
Nall.ModelContextProtocol.Inspector.Aspire.Hosting | Aspire Hosting Integration |
Getting Started
Install:
dotnet new install Nall.ModelContextProtocol.Template# dotnet new install ./Artefact/Nall.ModelContextProtocol.TemplateVerify installation:
dotnet new list mcp# These templates matched your input: 'mcp'# Template Name Short Name Language Tags# ----------------- ----------------- -------- -------------# Template Name Short Name Language Tags# -------------------- -------------------- -------- -------------# MCP Server mcp-server [C#] dotnet/ai/mcp# MCP Server HTTP mcp-server-http [C#] dotnet/ai/mcp# MCP Server HTTP Auth mcp-server-http-auth [C#] dotnet/ai/mcp# MCP Server Hybrid mcp-server-hybrid [C#] dotnet/ai/mcpPractically, you want to switch between modes, so I recommend using themcp-server-hybrid template. It allows you to run the server in bothStdio andHTTP modes.
Verify output:
dotnet new mcp-server -o MyAwesomeMCPServer -n MyAwesomeMCPServer --dry-run# File actions would have been taken:# Create: MyAwesomeMCPServer\.vscode\launch.json# Create: MyAwesomeMCPServer\MyAwesomeMCPServer.csproj# Create: MyAwesomeMCPServer\Program.cs# Create: MyAwesomeMCPServer\Properties\launchSettings.json# Create: MyAwesomeMCPServer\README.md# Create: MyAwesomeMCPServer\appsettings.Development.json# Create: MyAwesomeMCPServer\appsettings.jsonCreate from template:
dotnet new mcp-server -o MyAwesomeMCPServer -n MyAwesomeMCPServerHere is a content ofProgram.cs:
using Microsoft.Extensions.Hosting;var builder = Host.CreateApplicationBuilder(args);builder.Services .AddMcpServer() .WithStdioServerTransport() .WithToolsFromAssembly();await builder.Build().RunAsync();[McpServerToolType]public static class EchoTool{ [McpServerTool, Description("Echoes the message back to the client.")] public static string Echo(string message) => $"hello {message}";}It is a simple echo server that listens for incoming messages and responds with a greeting. You can add more tools by creating additional methods with the[McpServerTool] attribute. TheWithToolsFromAssembly() method automatically registers all tools in the assembly.
Run Locally
Build from the project directory:
dotnet build -o Artefacts -c ReleaseRun the inspector:
npx @modelcontextprotocol/inspector -e DOTNET_ENVIRONMENT=Production dotnet "$(PWD)/Artefacts/MyAwesomeMCPServer.dll"Open inspector in your browser and test the server:
<p align="center"><img src="assets/inspector-demo.png" alt="Inspector Demo" /></p>
Distribute as .NET Tool
Pack from the project directory:
dotnet pack -o Artefacts -c ReleaseInstall the tool globally:
dotnet tool install --global --add-source ./Artefacts MyAwesomeMCPServerNow, after you installed this tool globally, you can run it from anywhere on your system. The tool will be available asMyAwesomeMCPServer (ormyawesomemcpserver) in your terminal.
💡 You can also create local tool manifest and install MCPs as tools locally.
Run the inspector:
npx @modelcontextprotocol/inspector -e DOTNET_ENVIRONMENT=Production myawesomemcpserverRun with Aspire
InStdio mode
InAppHost/Program.cs:
var builder = DistributedApplication.CreateBuilder(args);builder.AddMCPInspector().WithStdio<Projects.MCPServer>();builder.Build().Run();InHTTP mode
InAppHost/Program.cs:
var builder = DistributedApplication.CreateBuilder(args);var mcp = builder.AddProject<Projects.MCPServerRemote>("server");builder.AddMCPInspector().WithMcp(mcp);builder.Build().Run();Reference
| Product | VersionsCompatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
net10.0
- Aspire.Hosting(>= 13.1.0)
- Aspire.Hosting.NodeJS(>= 9.5.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Last updated12/29/2025
- Project website
- Source repository
- MIT license
- Download package (40.56 KB)
- Open in NuGet Package Explorer
Open in NuGet Trends
- Report package