Cover image
Try Now
2025-04-11

Ce référentiel contient un modèle pour créer des applications de protocole de contexte de modèle (MCP) dans .NET.

3 years

Works with Finder

3

Github Watches

0

Github Forks

5

Github Stars

Model Context Protocol .NET Template

MCP Logo

A protocol for seamless integration between LLM applications and external data sources

Documentation | Specification | Discussions

This repository contains a template 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 Nuget Templates
Nall.ModelContextProtocol.Inspector.Aspire.Hosting Nuget Aspire Hosting Integration

Getting Started

Install:

dotnet new install Nall.ModelContextProtocol.Template

Verify installation:

dotnet new list mcp
# These templates matched your input: 'mcp'

# Template Name      Short Name         Language  Tags
# -----------------  -----------------  --------  -------------
# MCP Server         mcp-server         [C#]      dotnet/ai/mcp
# MCP Server SSE     mcp-server-sse     [C#]      dotnet/ai/mcp
# MCP Server Hybrid  mcp-server-hybrid  [C#]      dotnet/ai/mcp

[!TIP] It is convenient to switch between modes, so I recommend using the mcp-server-hybrid template. It allows you to run the server in both Stdio and SSE 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.json

Create from template:

dotnet new mcp-server -o MyAwesomeMCPServer -n MyAwesomeMCPServer

Here is a content of Program.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. The WithToolsFromAssembly() method automatically registers all tools in the assembly.

Run Locally

Build from the project directory:

dotnet build -o Artefacts -c Release

Run the inspector:

npx @modelcontextprotocol/inspector -e DOTNET_ENVIRONMENT=Production dotnet "$(PWD)/Artefacts/MyAwesomeMCPServer.dll"

Open inspector in your browser and test the server:

Inspector Demo

Distribute as .NET Tool

Pack from the project directory:

dotnet pack -o Artefacts -c Release

Install the tool globally:

dotnet tool install --global --add-source ./Artefacts MyAwesomeMCPServer

Now, after you installed this tool globally, you can run it from anywhere on your system. The tool will be available as MyAwesomeMCPServer (or myawesomemcpserver) 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 myawesomemcpserver

Run with Aspire

In Stdio mode

In AppHost/Program.cs:

var builder = DistributedApplication.CreateBuilder(args);

builder.AddMCPInspector().WithStdio<Projects.MCPServer>();

builder.Build().Run();

In SSE mode

In AppHost/Program.cs:

var builder = DistributedApplication.CreateBuilder(args);

var mcp = builder.AddProject<Projects.MCPServerSSE>("server");
builder.AddMCPInspector().WithSSE(mcp);

builder.Build().Run();

Reference

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • apappascs
  • Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.

  • ShrimpingIt
  • Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX

  • jae-jae
  • MCP Server pour récupérer le contenu de la page Web à l'aide du navigateur sans tête du dramwright.

  • ravitemer
  • Un puissant plugin Neovim pour gérer les serveurs MCP (Protocole de contexte modèle)

  • patruff
  • Pont entre les serveurs Olllama et MCP, permettant aux LLM locaux d'utiliser des outils de protocole de contexte de modèle

  • pontusab
  • La communauté du curseur et de la planche à voile, recherchez des règles et des MCP

  • HiveNexus
  • Un bot de chat IA pour les petites et moyennes équipes, soutenant des modèles tels que Deepseek, Open AI, Claude et Gemini. 专为中小团队设计的 Ai 聊天应用 , 支持 Deepseek 、 Open Ai 、 Claude 、 Gemini 等模型。

  • JackKuo666
  • 🔍 Permettre aux assistants d'IA de rechercher et d'accéder aux informations du package PYPI via une interface MCP simple.

  • Sysc4lls
  • Lecteur de documentation IDA (Sort-of) MCP Server

  • av
  • Exécutez sans effort LLM Backends, API, Frontends et Services avec une seule commande.

    Reviews

    5 (1)
    Avatar
    user_gEkBGe83
    2025-04-16

    As an avid user of mcp-template-dotnet, I am thoroughly impressed with its robust structure and ease of use. Created by NikiforovAll, this template simplifies dotnet application development with its clear documentation and efficient setup. The GitHub repository provides a seamless starting point, making it ideal for both beginners and experienced developers. Highly recommended for anyone looking to streamline their dotnet projects!