An MCP (Model Context Protocol) server that evaluates and executes C# scripts using Roslyn. This tool allows AI assistants to run C# code dynamically, either from direct input or from .csx script files.
- Execute C# scripts directly or from files
- Full Roslyn scripting support with common namespaces pre-imported
- Console output capture (safe for MCP stdio protocol)
- Comprehensive error handling for compilation and runtime errors
- Available as both Docker container and dotnet tool
The server exposes a single tool: EvalCSharp
csxFile(optional): Full path to a .csx file to executecsx(optional): C# script code to execute directly
Either csxFile or csx must be provided, but not both.
To test this MCP server from source code (locally) without using a built MCP server package, you can configure your IDE to run the project directly using dotnet run.
{
"servers": {
"InfinityFlow.CSharp.Eval": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"<PATH TO PROJECT DIRECTORY>"
]
}
}
}Once configured, you can ask the AI assistant to execute C# code, for example:
- "Execute this C# code: Console.WriteLine("Hello World");"
- "Run the C# script at /path/to/script.csx"
- "Calculate the factorial of 10 using C#"
- Run
dotnet pack -c Releaseto create the NuGet package - Publish to NuGet.org with
dotnet nuget push bin/Release/*.nupkg --api-key <your-api-key> --source https://api.nuget.org/v3/index.json
Once the MCP server package is published to NuGet.org, you can configure it in your preferred IDE. Both VS Code and Visual Studio use the dnx command to download and install the MCP server package from NuGet.org.
- VS Code: Create a
<WORKSPACE DIRECTORY>/.vscode/mcp.jsonfile - Visual Studio: Create a
<SOLUTION DIRECTORY>\.mcp.jsonfile
For both VS Code and Visual Studio, the configuration file uses the following server definition:
{
"servers": {
"InfinityFlow.CSharp.Eval": {
"type": "stdio",
"command": "dnx",
"args": [
"<your package ID here>",
"--version",
"<your package version here>",
"--yes"
]
}
}
}.NET MCP servers use the ModelContextProtocol C# SDK. For more information about MCP:
Refer to the VS Code or Visual Studio documentation for more information on configuring and using MCP servers: