With our newest 26.5.1 release of the Zügel MCP server we added C# as a third supported language. This article only explains the C# setup and C# specific features. If you want to learn what Zügel is and what it can do for you, please read our introduction article.
C# Setup
As always you create an .mcp.json file that tells your agent how to start Zügel, start the agent in the root directory of your solution, and ask it to call generate_config followed by reload_all. After that the agent will analyze your project and create the initial baselines.
Two things are different for C#. You need the .NET 10 SDK — the SDK, not just the runtime, because Zügel opens your solution through MSBuild and only an SDK ships MSBuild. And Zügel needs a .sln: if your repository has several, one is picked, written into the configuration and the others are named, so pointing it somewhere else is an edit rather than a guess. Nothing is downloaded — the Roslyn based parser we also use in Sonargraph ships inside the Zügel jar — and if the solution’s NuGet packages have never been restored, the first scan restores them for you.
This is how the generated zugel.json configuration file looks like for typical C# project:
{
"language": "csharp",
"project": {
"solution": "src/MyApp.sln",
"modules": [
{ "name": "MyApp", "project": "MyApp(net10.0)",
"sourceRoots": ["src/MyApp"],
"generatedSourceRoots": ["src/MyApp/obj/Debug/net10.0"] }
],
"generatedPatterns": ["**/*.designer.cs", "**/*.generated.cs", "**/*.g.cs"]
},
"arcFiles": ["architecture/MyApp.arc"]
}
Read More

