MCP.so
Sign In
Servers

Model Context Protocol .NET Template

@NikiforovAll

This repository contains a template for creating a Model Context Protocol (MCP) applications in .NET.

Overview

What is Model Context Protocol .NET Template?

A NuGet template for creating Model Context Protocol (MCP) applications in .NET. It provides a basic project structure and example code to help developers build MCP-enabled servers that integrate LLM applications with external data sources.

How to use Model Context Protocol .NET Template?

Install the template using dotnet new install Nall.ModelContextProtocol.Template, then create a new project with commands like dotnet new mcp-server -o MyProject -n MyProject. The generated code registers tools marked with the [McpServerTool] attribute automatically. Build and run locally, or distribute as a .NET tool.

Key features of Model Context Protocol .NET Template

  • Four templates: mcp-server, mcp-server-http, mcp-server-http-auth, and mcp-server-hybrid
  • Supports both Stdio and HTTP transport modes
  • Automatic tool discovery with WithToolsFromAssembly()
  • Can be packaged and distributed as a global .NET tool
  • Integrates with Aspire hosting for cloud-native scenarios

Use cases of Model Context Protocol .NET Template

  • Building a simple echo server to test MCP basics
  • Creating production MCP servers in .NET with tool registration
  • Switching between Stdio and HTTP modes for different deployment needs
  • Distributing MCP servers as globally installable .NET tools
  • Hosting MCP servers in Aspire orchestrations

FAQ from Model Context Protocol .NET Template

What is the Model Context Protocol (MCP)?

A protocol for seamless integration between LLM applications and external data sources. The .NET template helps you create servers that implement this protocol.

What templates are available?

Four templates: mcp-server (Stdio), mcp-server-http (HTTP), mcp-server-http-auth (HTTP with authentication), and mcp-server-hybrid (supports both Stdio and HTTP modes). The hybrid template is recommended for flexibility.

How do I run the server locally?

Build the project with dotnet build, then use the inspector: npx @modelcontextprotocol/inspector -e DOTNET_ENVIRONMENT=Production dotnet <path-to-dll>. Alternatively, package as a .NET tool and run directly.

Can I distribute the server as a .NET tool?

Yes. Pack with dotnet pack, then install globally with dotnet tool install --global --add-source <path>. The tool will be available system-wide.

How does Aspire hosting work?

Add the server project and the MCP inspector to your AppHost. Use WithStdio<Projects.MCPServer>() for Stdio mode or WithMcp(project) for HTTP mode.

Tags

More from Developer Tools