TimHeuer.SampleMcpServer 0.1.3-beta

This is a prerelease version of TimHeuer.SampleMcpServer.
dotnet tool install --global TimHeuer.SampleMcpServer --version 0.1.3-beta
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local TimHeuer.SampleMcpServer --version 0.1.3-beta
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=TimHeuer.SampleMcpServer&version=0.1.3-beta&prerelease
                    
nuke :add-package TimHeuer.SampleMcpServer --version 0.1.3-beta
                    

SampleDotnetMcpServer

This project is a sample implementation of a Model Context Protocol (MCP) server in .NET, designed to demonstrate how to build, run, and publish an MCP server using C# and the ModelContextProtocol SDK.

mcp-name: io.github.timheuer/sampledotnetmcpserver

What is this?

SampleDotnetMcpServer is a reference MCP server for .NET, showing how to:

  • Implement MCP tools in C# (see Tools/RandomNumberTools.cs)
  • Register tools and configure the MCP server transport (see Program.cs)
  • Package and publish the server as a NuGet package for use in IDEs like VS Code and Visual Studio

The included tool, get_random_number, generates random numbers and can be invoked by MCP clients (such as Copilot Chat) for demonstration purposes.

Features

  • Implements the MCP protocol using stdio transport
  • Provides a sample tool: get_random_number (returns a random integer in a range)
  • Ready to be packed and published as a NuGet MCP server
  • Example configuration files and metadata included

How to use

Run locally

You can run the MCP server directly from source for development and testing:

dotnet run --project .

Or configure your IDE to use the following MCP server definition:

{
  "servers": {
    "SampleDotnetMcpServer": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "<PATH TO PROJECT DIRECTORY>"
      ]
    }
  }
}

Test the MCP server

Once running, you can use Copilot Chat or any MCP client to invoke the get_random_number tool. For example, ask: "Give me 3 random numbers" and select the tool from the SampleDotnetMcpServer MCP server.

Publish to NuGet.org

  1. Run:
dotnet pack -c Release
  1. Publish:
dotnet nuget push bin/Release/*.nupkg --api-key <your-api-key> --source https://api.nuget.org/v3/index.json

Use from NuGet.org

After publishing, configure your IDE to use the MCP server from NuGet.org. Example configuration:

{
  "servers": {
    "SampleDotnetMcpServer": {
      "type": "stdio",
      "command": "dnx",
      "args": [
        "TimHeuer.SampleMcpServer",
        "--version",
        "0.1.0-beta",
        "--yes"
      ]
    }
  }
}

Project structure

  • Program.cs: MCP server entry point and configuration
  • Tools/RandomNumberTools.cs: Example MCP tool implementation
  • .mcp/server.json: MCP server metadata and NuGet package info
  • SampleDotnetMcpServer.csproj: Project and NuGet packaging configuration

Learn more


This project is for demonstration and reference purposes only. For feedback or contributions, see the GitHub repository.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.1.3-beta 122 9/9/2025
0.1.2-beta 120 9/9/2025
0.1.1-beta 117 9/9/2025
0.1.0-beta 117 9/9/2025