DEV Community

Fuse v4.2, an open source MCP/CLI tool to speed up Claude Code on C# codebases

Motivation

Fuse 4.2 is an open source .NET global tool that runs as an MCP server or from the command line. I built Fuse after watching coding agents repeatedly read and search the same .NET files. Across several turns, they would reconstruct symbols, references, dependency injection registrations, and project structure they had already encountered.

On the write side, proposed C# changes often went through a longer edit and dotnet build loop just to find an invalid member, missing argument, or incompatible type. Fuse addresses these two parts of the workflow: code discovery and earlier compiler feedback.

How it works

Reusing .NET discovery, Fuse loads the solution through MSBuild, analyzes C# with Roslyn, and stores the derived index locally in .fuse/fuse.db. Changed files are updated incrementally, so later requests can reuse the existing index.

The index supplies:

  • Exact symbol lookup
  • .NET framework wiring
  • Reduced task-scoped source
  • Change impact
  • Git-seeded branch review

For example, text search can find every occurrence of IOrderService. Fuse can follow the dependency injection registration to the implementation used by the application. It can also resolve a MediatR request to its handler, an ASP.NET route to its action, or a configuration section to its options class.

When Claude Code needs source, Fuse selects files from indexed anchors and reduces their content under a token budget. The response includes the reason each file was selected, and later calls in the same session can skip unchanged context already returned.

Checking proposed C# edits

fuse_check accepts the proposed content of one C# file without changing the working tree. When compiler state captured from the real build is available, Fuse checks the proposal against that compilation. Otherwise, it falls back to a scoped build for the project that owns the file. If neither compiler path can run, Fuse abstains and reports what is missing.

This check does not replace the final build or test run. It gives the coding agent compiler feedback earlier, before committing a proposed file to disk and starting the normal verification loop.

Fuse also provides change-impact queries, covering-test selection, compiler-executed refactoring, and review context based on the current Git diff. These operations use the same local index.

Scope and related tools

Repository indexes and code graphs already exist. CodeGraphContext provides a local multi-language graph, Serena exposes language-server-backed symbol operations, Sourcegraph covers code search across repositories, and coding clients maintain their own indexes. The C# LSP also handles definitions, references, type information, live diagnostics, and editor refactoring. Fuse can run alongside it.

Fuse has a narrower scope: local .NET analysis through MSBuild and Roslyn, including framework-specific wiring, reduced source for the current task, and checks against compiler state captured from the repository's real build.

Recorded results

On the recorded NodaTime semantic index with 14,760 symbols, exact symbol lookup took 1.8 ms at the median. Task localization took 15.7 ms at the median.

In a separate compiler-labeled suite over the OrderingApp test families, Fuse recorded 0 false green and 0 false red across 1,000 generated single-file edits plus 8 curated cases.

Both results are bounded to the recorded machines, repositories, and test samples. The benchmark pages include the weaker results as well, including cases where open-ended localization has limited signal and the agent loop did not reduce the number of normal build and test calls.

Install

Install Fuse as a .NET global tool and connect it to Claude Code:

dotnet tool install -g Fuse
fuse mcp install --client claude --rules

Reload Claude Code after installation. MCP read tools build the index on first use, or you can build it explicitly:

fuse index

Analysis runs locally and can work offline. Fuse does not require a hosted service or its own model. The optional update check and builds using configured package feeds are the network-dependent cases.

  • Repository: github.com/Litenova-Solutions/Fuse
  • Documentation: fuse.codes
  • Methods and limits: fuse.codes/docs/project/benchmarks
  • Reproduction: fuse.codes/docs/project/reproduce

Comments

No comments yet. Start the discussion.