A local MCP server for Roslyn-powered C# code analysis and safe, transactional refactoring.
This local MCP server provides Roslyn-powered C# code analysis and supports safe, transactional refactoring. The server is intended to run locally, offering tooling around code analysis and refactor operations with attention to transactional safety.
🛠️ Key Features
Roslyn-powered C# code analysis
Safe, transactional refactoring
🚀 Use Cases
Analyze C# source code locally
Perform refactoring that is designed to be transactional and safe
Roslyn Workbench is a local stdio MCP server for Roslyn-powered C# code analysis and safe, transactional refactoring.
It provides persistent multi-workspace sessions, semantic queries for symbols and code structure, bounded agent-facing results, and source changes staged through transactions with preview, history, rollback, conflict detection and crash recovery. Code Actions use the same transaction boundary. Nothing writes source files until an explicit transaction-commit call.
Install
Roslyn Workbench is distributed through NuGet.org as the Lantean.Roslyn.Workbench.Mcp .NET tool and requires a supported .NET 10 SDK. Pin the exact release version you intend to run. The compatibility policy defines the stable 1.x guarantees for tools, errors and continuations, recovery formats and plugin APIs.
Run an exact package version without a permanent installation:
inspection-only is the safe default and exposes no source-mutation or transaction tools. Select transactional for client-mediated commit confirmation, approval-required for confirmation bound to an exact transaction-review receipt, or deliberately select autonomous-trusted for transactions without Host confirmation. See the configuration guide for client elicitation requirements.
Supported environments
Windows x64, Linux x64 and WSL2 x64 are supported. macOS x64 and ARM64 are best effort until hosted validation exists. Windows ARM64 and Linux ARM64 are not currently supported release targets. The server can be used by any MCP client that supports local stdio servers; operations requiring elicitation depend on the client advertising and permitting it.
Improve agent tool selection
Connecting Roslyn Workbench makes its tools available, but an MCP client may not select them automatically when ordinary file and text-search tools can also attempt the task. Short repository instructions can tell an agent when compiler-aware tooling is the better choice without forcing it into every C# workflow.
Add this basic instruction to the user-level guidance used by your agent, or to repository guidance when it should apply only to a particular codebase:
markdown
## Roslyn Workbench
When Roslyn Workbench MCP is available, consider using it for C# work that benefits from compiler semantics, including precise symbol navigation, references, diagnostics, code structure, Code Actions, change-impact analysis and transactional source changes. Its semantic tools are particularly useful when symbol identity or compiler interpretation matters, while the repository's normal tools and commands remain suitable for builds, tests, package management, documentation and non-semantic file operations. Transaction previews and structured next actions can help keep source changes safe and easy to review.
The documentation site explains user-level and repository-level setup for Codex, GitHub Copilot, Claude Code and other MCP clients. User-level guidance avoids repeating the instruction when Roslyn Workbench is available across repositories, while repository guidance can provide a more specific layer for an individual codebase.
Trust and transaction safety
Open only workspaces you trust. Loading a workspace evaluates MSBuild project logic and later operations can load project analyzers with the Host process's operating-system permissions. External plugin loading is disabled by default; supplying --enable-plugins explicitly opts into loading configured third-party plugins as trusted in-process code, which is not sandboxed.
A typical safe workflow when transactional or autonomous-trusted mode is configured is:
Inspect server-status and open a trusted solution, solution filter or project with workspace-open.
Use query tools to inspect the loaded workspace.
Check workspace-status, then begin a transaction with transaction-start.
Stage a mutation or Code Action and inspect it with transaction-preview.
Commit the reviewed transaction or discard it with transaction-rollback.
The live MCP tools/list response is authoritative for the tools and schemas exposed by a running instance. The documentation site provides the richer versioned tool reference and agent guide.
Plugins and contributions
Plugin authors reference the separate Lantean.Roslyn.Workbench.Mcp.Plugins package. See the plugin-authoring guide for the supported API and deployment layout. Users install trusted plugins manually; there is no curated plugin repository.
External pull requests are accepted. Discuss the scope first and sign every contributed commit with a cryptographic signature that GitHub can verify. See the contribution policy for the process.
Roslyn Workbench MCP is made possible by the .NET Compiler Platform. Thank you to the Roslyn team for building and maintaining the compiler tooling that powers its semantic analysis and refactoring capabilities.