A sample MCP server using the MCP C# SDK. Generates random numbers and random weather.
This README was created using the C# MCP server template project. It demonstrates how you can easily create an MCP server using C# and then package it in a NuGet package.
See aka.ms/nuget/mcp/guide for the full guide.
<PackageId>..mcp/server.json to declare your MCP server's inputs.
dotnet pack.The bin/Release directory will contain the package file (.nupkg), which can be published to NuGet.org.
Once the MCP server package is published to NuGet.org, you can use the following VS Code user configuration to download and install the MCP server package. See Use MCP servers in VS Code (Preview) for more information about using MCP servers in VS Code.
{
"mcp": {
"servers": {
"Knapcode.SampleMcpServer": {
"type": "stdio",
"command": "dnx",
"args": [
"Knapcode.SampleMcpServer@0.4.0-beta",
"--yes",
"--",
"mcp",
"start"
],
"env": {
"WEATHER_CHOICES": "sunny,humid,freezing"
}
}
}
}
}
Now you can ask Copilot Chat for a random number, for example, Give me 3 random numbers. It should prompt you to use the get_random_number tool on the Knapcode.SampleMcpServer MCP server and show you the results.
To test this MCP server from source code (locally) without using a built MCP server package, create a .vscode/mcp.json file (a VS Code workspace settings file) in your project directory and add the following configuration:
{
"servers": {
"Knapcode.SampleMcpServer": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"<RELATIVE PATH TO PROJECT DIRECTORY>",
"--",
"mcp",
"start"
],
"env": {
"WEATHER_CHOICES": "sunny,humid,freezing"
}
}
}
}
Alternatively, you can configure your VS Code user settings to use your local project:
{
"mcp": {
"servers": {
"Knapcode.SampleMcpServer": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"<FULL PATH TO PROJECT DIRECTORY>"
"--",
"mcp",
"start"
]
},
"env": {
"WEATHER_CHOICES": "sunny,humid,freezing"
}
}
}
}
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.
com.joelverhagen.mcp/Knapcode.SampleMcpServer works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.