In-depth architectural comparison of the Dotnet Coverage Mcp and Mcp Language Server MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Dotnet Coverage Mcp
Developer Tools · Local stdio
Quality: 45/100 (Fair) | Auth: No auth required
Mcp Language Server
Developer Tools · Local stdio
Quality: 61/100 (Good) | Auth: No auth required
Verdict Summary: Choose Dotnet Coverage Mcp if you need specialized Developer Tools tools running via a local process. Choose Mcp Language Server if your workspace requires Developer Tools integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
D
Choose Dotnet Coverage Mcp when:
You need dedicated capabilities in the Developer Tools domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
MCP server for .NET coverage: run tests, parse Cobertura, find uncovered branches, append tests.
MCP Language Server helps MCP enabled clients navigate codebases more easily by giving them access to semantic tools like get definition, references, rename, and diagnostics.
Discover `.cs` files from a file, folder, or `.csproj` project. Returns file metadata (lines, method count) and smart batches grouped by `lineBudget`.
RunTestsWithCoverage
Run `dotnet test` with XPlat Code Coverage, generate a JSON summary via `reportgenerator`. Returns paths to `Summary.json` and `coverage.cobertura.xml`. Supports `forceRestore` and `sessionId` for concurrent isolation.
GetCoverageSummary
Parse `Summary.json` into structured class/method coverage data sorted worst-first by branch coverage. Optional `belowTarget`/`topN`/`methodsPerClass` filters trim the response to what still needs work.
GetFileCoverage
Get coverage for a single source file from Cobertura XML. Returns `allMeetTarget` (true when all classes meet the configured `targetRate` for both line and branch coverage; default 0.8). Supports `sessionId`.
GetUncoveredBranches
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Dotnet Coverage Mcp is categorized under Developer Tools and uses a local stdio subprocess. In contrast, Mcp Language Server belongs to Developer Tools using local stdio subprocess. Select Dotnet Coverage Mcp when you need capabilities focused on developer tools and Mcp Language Server when you require tools for developer tools.
Find uncovered branch conditions for methods matching a given name. Returns all matching methods with partial name support. Supports `sessionId`.
GetCoverageDiff
Compare current Cobertura XML against baseline. Shows method-level changes including new and removed methods. Supports `sessionId` for concurrent isolation.
AppendTestCode
Insert or append C# test code into a test file. Supports anchor-based insertion with whitespace-tolerant fallback matching. Uses atomic writes to prevent file corruption.
CleanupSession
Remove session state files and `TestResults/coveragereport` directories. Pass `sessionId` to scope, or omit to clean artifacts older than `maxAgeMinutes` (default 120).
Mcp Language Server Tools (6)
definition
Retrieves the complete source code definition of any symbol (function, type, constant, etc.) from your codebase.
references
Locates all usages and references of a symbol throughout the codebase.
diagnostics
Provides diagnostic information for a specific file, including warnings and errors.
hover
Display documentation, type hints, or other hover information for a given location.
rename_symbol
Rename a symbol across a project.
edit_file
Allows making multiple text edits to a file based on line numbers. Provides a more reliable and context-economical way to edit files compared to search and replace based edit tools.