MCP.so
Sign In
Servers

CSharpMCP

@li-zhixin

A Roslyn-based mcp server for dynamically executing C# code snippets

Overview

What is CSharpMCP?

CSharpMCP is a Model Context Protocol (MCP) server for executing C# code using the Roslyn compiler. It is intended for developers who need to run C# snippets programmatically, with state persistence across executions.

How to use CSharpMCP?

To use CSharpMCP, configure it as an MCP server in your MCP client application. To reference existing projects, compile the project and pass the path of the resulting DLL as a startup parameter; the server will add those assemblies as references. Invoke the provided tools (RunAsync, CleanExecuteContext, GetHistoryCode) from your MCP client.

Key features of CSharpMCP

  • Execute C# code snippets with Roslyn
  • State (variables) preserved across calls
  • Clear execution context and reset state
  • Retrieve previously executed code history
  • Support for referencing external compiled DLLs

Use cases of CSharpMCP

  • Running C# scripts interactively within an MCP-aware environment
  • Prototyping C# logic without creating a full project
  • Testing small code fragments with persistent state
  • Integrating C# code execution into AI-assisted coding workflows

FAQ from CSharpMCP

What does RunAsync do?

RunAsync executes the provided C# code and preserves the state (variables) between calls, allowing incremental code execution.

How do I clean the execution state?

Use the CleanExecuteContext tool to clear all state and reset the execution context.

Can I use existing C# libraries?

Yes. Compile the project to a DLL, then pass that DLL path as a startup parameter when launching CSharpMCP.

What are the security implications?

This server executes arbitrary C# code on the local machine. Use with caution and only in trusted environments.

How do I retrieve previously executed code?

Use the GetHistoryCode tool to retrieve the full history of code that has been executed.

Tags

More from Other