{"slug": "fuse-an-open-source-mcp-cli-tool-to-speed-up-claude-code-on-c-codebases", "title": "Fuse – an open source MCP/CLI tool to speed up Claude Code on C# codebases", "summary": "Fuse, an open-source .NET tool, speeds up Claude Code on C# codebases by creating a persistent semantic index via MSBuild and Roslyn, reducing token usage and enabling compiler verification before writing code. It provides tools for service resolution, context reduction, and impact analysis, running locally and offline.", "body_md": "Fuse is a local .NET tool with a persistent semantic index, typed-graph wiring\nresolution, reduced task-scoped source, and pre-write compiler verification for\ncoding agents. It indexes a solution through MSBuild and Roslyn, stores the result\nin `.fuse/fuse.db`\n\n, and reuses it across agent turns instead of rediscovering the\nsame structure through repeated file reads and text searches.\n\nFrom a .NET project directory:\n\n```\ndotnet tool install -g Fuse\nfuse mcp install --rules\n```\n\nReload your MCP client, then ask:\n\n```\nResolve IOrderService to its implementation, then check the proposed OrderService.cs edit\nwith fuse_check before writing it.\n```\n\nWhen the MCP server starts, its shared local daemon begins warming `.fuse/fuse.db`\n\nin\nthe background. A cold read waits for a bounded syntax-first pass and reports when the\nsemantic graph is still upgrading. Run `fuse index`\n\nwhen you want a synchronous full\nindex before connecting the agent. `fuse mcp install --rules`\n\nalso adds `.fuse/`\n\nto\n`.gitignore`\n\nat project scope.\n\nAnalysis runs locally and can work offline. Fuse walks a typed graph of DI registrations, handlers, routes, and callers, emits reduced source for a selected scope, and lets a coding agent typecheck proposed single-file content before writing it. No model is required. The optional update check can contact NuGet, and build-grade operations can use the package feeds configured for the repository.\n\nCoding agents can inspect a repository through file reads, grep, and regex. On a large solution, those operations can rediscover the same symbols, references, registrations, and project structure across several turns. Fuse performs that discovery through MSBuild and Roslyn, persists the result, and incrementally re-indexes files as they change.\n\nWhen a project loads semantically, the graph records DI registrations, request handlers, routes, options bindings, and call edges. When it does not, Fuse falls back to syntax-level indexing for that project and reports the mode.\n\n**Resolve wiring.**`fuse_find`\n\ntraces a service, request, route, or configuration section to the code that handles it. Text search finds`IOrderService`\n\n; Fuse follows the registration to the implementation that runs.**Pack branch context.**`fuse_review`\n\nseeds on the git diff and returns related callers, handlers, and tests with provenance. On 69 recorded pull requests the median response was 1,026 tokens at 93.4 percent precision (`review.json`\n\n).**Return less source.**`fuse_context`\n\nreduces the selected files under a token budget and records why each file was included. Across four recorded repositories, skeleton reduction removed 38 to 44 percent of tokens while retaining every measured public and protected type name (`reduce.json`\n\n).**Read warm.** On the recorded NodaTime run (semantic tier, 14,760 symbols), exact symbol lookup took 1.8 ms at the median, task localization 15.7 ms, and review planning 106.3 ms (`performance.json`\n\n; timings are environment-dependent).\n\n`fuse_check`\n\nchecks the proposed content of one file and returns compiler diagnostics without changing the working tree. Oracle grade reuses compiler state captured from the real build. Build grade runs a scoped`dotnet build`\n\nfor the owning project when captured state is unavailable. Supported API-shape errors can include a repair packet; in the recorded run, the top suggestion repaired 20 of 20 near-miss member and type errors (`diagbench.json`\n\n).- Before changing a public method,\n`fuse_impact`\n\nfinds callers, implementations, and referencing types. Given a package id and two versions, it returns the break set for that NuGet upgrade. - When a signature must change,\n`fuse_refactor`\n\nstages the refactor as a diff and returns it only when the compiler reports no new diagnostic. - After an edit,\n`fuse_test`\n\nselects and runs the test types that reach the changed symbol instead of starting with the whole suite.\n\nEvery answer names how it was produced. Fuse calls this the **verification grade**:\noracle grade checks against the compilation captured from the real build, build grade\nruns a scoped `dotnet build`\n\n, and when neither compiler path can answer, Fuse abstains\nand names the missing prerequisite instead of guessing.\n\nEvery result below comes from `tests/benchmarks/results`\n\nand has a reproduction command\non the [benchmarks page](https://fuse.codes/docs/project/benchmarks).\n\n- Across 1,000 compiler-labeled edits in the recorded OrderingApp test app (500 breaking,\n500 neutral),\n`fuse_check`\n\nreported zero broken edits as clean and rejected zero valid edits (`checkgate.json`\n\n). - In the same app, Fuse matched all 24 expected .NET wiring links with no extra matches\n(\n`semantics.json`\n\n). - Across 69 real pull requests, branch review retained every git-changed file by\nconstruction at 93.4 percent precision with a median size of 1,026 tokens (\n`review.json`\n\n). - In the reduced-scope agent-loop run, the Fuse arm's edits passed the project's own\ntests on the first attempt in 89 percent of scored rollouts versus 82 percent for\nnative tools, with overlapping confidence intervals. The Fuse arm declared success on a\nfailing edit 8 times versus 9 for native. Build and test calls were essentially equal at\n3.1 versus 3.2 (\n`loop.json`\n\n). - Across four recorded repositories, skeleton reduction removed 38 to 44 percent of\ntokens while keeping every public and protected type name and 96.3 to 99.4 percent of\nmethod names (\n`reduce.json`\n\n).\n\nThe opt-in resident workspace answered repeated `fuse_check`\n\ncalls in 31.2 ms at the\nmedian on the recorded NodaTime run (`resident-latency.json`\n\n). That path is faster than a\nfull build for speculative checks; it does not replace normal builds or tests before merge.\n\nThese measurements have defined limits. Read the\n[full methods and results](https://fuse.codes/docs/project/benchmarks) before comparing\ntools or applying the figures to another repository.\n\nFuse reads source, compiler state, git metadata, and its local `.fuse/fuse.db`\n\nindex.\nRead, check, impact, refactor, and review operations do not write the working tree.\n`fuse_workspace`\n\nwith `action=apply`\n\nis the one explicit tree-write path, and it is a dry\nrun unless `write=true`\n\n.\n\nCompiler-backed wiring analysis is .NET-only. Other languages receive syntax-level search and reduction.\n\nRepository indexes, code graphs, and language-server tools already exist.\n[CodeGraphContext](https://github.com/CodeGraphContext/CodeGraphContext) provides a local\nmulti-language graph, [Serena](https://github.com/oraios/serena) exposes\nlanguage-server-backed symbol tools, and [Sourcegraph](https://sourcegraph.com/code-search)\ncovers multi-repository search and code intelligence. Fuse concentrates on local .NET work\nthrough MSBuild and Roslyn: framework wiring, reduced scoped context, compiler-backed\nproposed-file checks, change impact, and covering-test selection. It can run alongside the\nindex or search built into a coding client.\n\nThe [peer comparison](https://fuse.codes/docs/project/benchmarks#peer-comparison-fuse-versus-codegraph-coa-codesearch-and-serena)\nrecords a bounded, dated experiment and its sampling limits. It is not a general ranking of\ncode-intelligence tools.\n\nApache 2.0. Copyright (c) 2026 Litenova Solutions. See [LICENSE](/Litenova-Solutions/Fuse/blob/main/LICENSE) and\n[NOTICE](/Litenova-Solutions/Fuse/blob/main/NOTICE).", "url": "https://wpnews.pro/news/fuse-an-open-source-mcp-cli-tool-to-speed-up-claude-code-on-c-codebases", "canonical_source": "https://github.com/Litenova-Solutions/Fuse", "published_at": "2026-07-15 22:30:13+00:00", "updated_at": "2026-07-15 22:55:27.298455+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "ai-tools"], "entities": ["Fuse", "Claude Code", "MSBuild", "Roslyn", "NuGet", "NodaTime"], "alternates": {"html": "https://wpnews.pro/news/fuse-an-open-source-mcp-cli-tool-to-speed-up-claude-code-on-c-codebases", "markdown": "https://wpnews.pro/news/fuse-an-open-source-mcp-cli-tool-to-speed-up-claude-code-on-c-codebases.md", "text": "https://wpnews.pro/news/fuse-an-open-source-mcp-cli-tool-to-speed-up-claude-code-on-c-codebases.txt", "jsonld": "https://wpnews.pro/news/fuse-an-open-source-mcp-cli-tool-to-speed-up-claude-code-on-c-codebases.jsonld"}}