Skip to content

Roslyn Workbench MCP — 1.1.0

This minor release adds command-line help that works before the MCP Host starts, improves recovery-storage startup diagnostics, clarifies MCP parameter guidance and updates the .NET 10 dependencies and development tooling. Existing MCP tools, plugin APIs and recovery formats retain their 1.x compatibility guarantees.

Changes in this release

  • Added agent-facing parameter descriptions for inspection tools, explaining search scopes, optional context and reasons, and default, null and zero result limits. Tool names, input/output shapes, defaults and execution behaviour are unchanged.
  • Added offline tool-definition linting with separate CI summaries and artefacts for every operational mode and output-schema setting. Errors fail the check; warnings remain advisory, and no model-based scoring is used.
  • Added --help and -h to print usage and supported options, then exit successfully before starting the MCP Host or initialising recovery storage. Help remains available when the state directory is unwritable or other startup options are invalid. (#30)
  • Unwritable recovery storage now produces a concise diagnostic on standard error, identifies the recovery directory and recommends configuring --state-directory. Startup exits with a non-zero status without duplicate stack traces or output on the MCP standard-output channel. Set Logging__LogLevel__Default=Debug for exception details. Recovery remains mandatory. (#31)
  • Updated .NET 10 maintenance dependencies and pinned the development SDK to 10.0.402. Updated Sentry and the file-system abstraction dependency; refreshed the committed Host dependency locks.
  • Updated the test-only System.Security.Cryptography.Pkcs dependency to 10.0.13 to address the identified security advisory. This dependency is not part of the shipped Host dependency graph.
  • Updated diagnostic tools, including TraceEvent 4.0.0, and refreshed test dependencies, Moq logging assertions and pinned GitHub Actions. Explicit production-assembly coverage filters keep coverage reporting consistent with the updated collector.
  • Added Glama ownership metadata and kept the coordinated MSBuild package updates under manual control. Deferred major dependency upgrades remain outside this release.

The release includes the Host .NET tool and a separate plugin-authoring package, with a 1.x compatibility policy for the published surfaces.

What is included

  • Multiple long-lived Workspace sessions and semantic inspection of symbols, references, diagnostics, code structure and change impact.
  • Bounded, snapshot-aware results, a versioned tool reference and structured continuation guidance.
  • Transaction staging, preview or receipt-based review, history, undo/redo, rollback, conflict detection and durable recovery.
  • Roslyn Code Action discovery, Fix All preparation and staging through the same transaction boundary.
  • Optional Workspace admission roots, effective-root capping and external-document policy for limiting accidental agent scope.
  • Optional compiler-impact validation that rejects commits introducing new compiler errors. It does not replace analyser validation or tests.
  • Opt-in mutation-provider provenance, local correlated diagnostics and an explicit, consent-controlled error-reporting workflow.
  • The Lantean.Roslyn.Workbench.Mcp.Plugins authoring package, containing Plugins and Abstractions contracts and the authoring analyser. Users install trusted plugins manually; no curated plugin repository is included.

Requirements and operating defaults

A supported .NET 10 SDK and an MCP client able to launch a local stdio process are required. Install the SDKs and build tooling needed by the projects being analysed. Windows x64, Linux x64 and WSL2 x64 are supported. macOS x64 and ARM64 are best effort; Windows ARM64 and Linux ARM64 are unsupported release targets. Supported workspaces contain SDK-style C# projects; unsupported languages and project systems are skipped with diagnostics.

The default mode is inspection-only, which exposes no transaction or source-mutation tools. External plugin loading is independently disabled by default. Choose an operational mode deliberately:

Mode Commit workflow
inspection-only Inspection and Workspace lifecycle only.
transactional Preview, then client-mediated confirmation for one commit or the Host session.
approval-required Review an exact transaction receipt, then confirm the receipt-bound commit.
autonomous-trusted Preview and commit without Host confirmation.

The two confirmation modes require the client to advertise and permit MCP elicitation. A decline, cancellation or unavailable prompt does not commit; inspect the structured result before retrying. Compiler-impact validation is separately opt-in. See Configuration for switches, environment variables, defaults and precedence.

Install and connect

Both products are distributed through NuGet.org. Run the exact Host package without a permanent installation:

dnx Lantean.Roslyn.Workbench.Mcp@1.1.0 --yes -- --version

Alternatively, install the same package as a global tool:

dotnet tool install --global Lantean.Roslyn.Workbench.Mcp --version 1.1.0
roslyn-workbench-mcp --version

The reported version must match the release. Configure the client to launch roslyn-workbench-mcp, or dnx with the exact package version and Host arguments after --. See Getting started. The running server's tools/list is authoritative for the enabled tools and their mode-specific contracts. Native installers are not provided.

Plugin projects reference Lantean.Roslyn.Workbench.Mcp.Plugins at the matching release version. See Plugin authoring for the package boundary, deployment and compatibility requirements.

Compatibility and upgrade

MCP tools

The stable built-in catalogue follows an additive 1.x policy. Existing tool names and input/output meanings are preserved; clients should ignore unknown output fields and rediscover tools/list after a restart or upgrade. Canonical baselines cover both output-schema publication modes and each supported operational configuration.

Errors and continuations

Stable error codes retain their meanings. RequiredAction values and continuation kinds and targets are stable contracts; human-readable messages may improve. Surface unknown codes safely and do not guess a recovery action from message prose.

Recovery formats

Recovery format V1 remains readable throughout 1.x. Unsupported formats are reported and retained without reinterpretation or cleanup; use the same or a newer compatible Host to recover them. Finish or roll back active transactions and stop the Host before upgrading. Retain unresolved state and follow Recovery guidance.

Plugin APIs

Plugin API V1 and the shipped Plugins and Abstractions public APIs are stable for 1.x. Plugin authors own their tool contracts and should use the supported package rather than Host or Workspace implementation assemblies.

For an existing global installation, run dotnet tool update --global Lantean.Roslyn.Workbench.Mcp --version 1.1.0. For dnx, update the pinned package version in client configuration. The published 0.1.0 beta did not carry the stable guarantee; review the operating defaults and plugin opt-in before reconnecting. If an older installation uses the former package ID Roslyn.Workbench.Mcp, uninstall it before installing Lantean.Roslyn.Workbench.Mcp; the command name remains unchanged.

Trust boundary and known limitations

Open only fully trusted repositories. MSBuild evaluation, project analysers and explicitly enabled plugins execute with the Host's permissions; Roslyn Workbench is not an operating-system sandbox. Workspace roots and transactional controls protect against accidental agent scope and source-change errors, not untrusted executable build inputs. Avoid concurrent writes to commit-owned paths or structural repository changes during commit application and startup recovery.

Error reporting requires explicit consent. Review prepared payloads because exception messages can contain source text, paths, identifiers or secrets. Choose the option without exception messages when necessary. A declined or unavailable prompt sends no report.

Platform limitations, client-dependent elicitation, trusted executable inputs and the limits of compiler-impact validation are explicit parts of the supported security model.

Feedback and contributions

Use Issues for reproducible defects, Q&A for help and Ideas for proposals. Follow the security policy for private vulnerability reports. Include redacted reproduction details rather than private source or credentials.

External pull requests are accepted. Agree the scope first and sign every contributed commit with a cryptographic signature that GitHub can verify. No separate DCO sign-off or contributor licence agreement is required; see Contributing.

Uninstall and release evidence

Remove the client's server entry, stop the Host and run dotnet tool uninstall --global Lantean.Roslyn.Workbench.Mcp. A dnx configuration has no global tool installation to uninstall. Keep unresolved recovery evidence until recovery is understood.

Both packages are MIT-licensed. Release assets include both .nupkg and .snupkg pairs, SHA-256 checksums, source and release identity, coverage evidence, SPDX SBOMs and validated dependency-vulnerability evidence. Published package hashes receive GitHub build-provenance and SBOM attestations. See Supply-chain evidence for verification and its trust boundaries.