ReSharper CLI inspection/cleanup via MCP. Unofficial: not affiliated with or endorsed by JetBrains.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Resharper Cli MCP.
resharper_inspectRuns ReSharper InspectCode and returns the issues, grouped by file.
resharper_cleanupRuns ReSharper CleanupCode to reformat and normalize the given files in place.
resharper_reset_cacheDrops the solution's ReSharper cache so the next run rebuilds its analysis from cold, or reclaims the cache a deleted checkout left behind.
resharper-cli-mcp is an MCP server that gives a C# coding agent ReSharper's solution-wide inspections (resharper_inspect) and its code cleanup (resharper_cleanup). It wraps JetBrains' jb, managing its cache and returning LLM-friendly markdown sized to a context window. It is unofficial — not affiliated with or endorsed by JetBrains. The server shells out to a jb you install yourself and bundles no JetBrains software.
jb is built for a batch job: one run against one checkout, a report written to a file. An agent hits the same solution several times an hour, and what each call costs comes down to whether ReSharper's solution-wide index is already built. So the server owns the cache directory and runs a lifecycle over it:
The first run happens before you ask for it. A speculative inspection starts as soon as a client connects, skipped when a run against that cache succeeded in the last hour; a tool call arriving mid-pass cancels it and takes the cache within a second or two. RESHARPER_MCP_PREWARM=off turns it off.
Runs are serialized, twice over. One jb per server process, whatever the solutions, because a run is a whole-solution multi-core analysis and two of them share the machine rather than the work; and one per solution cache across processes, because a second concurrent jb cannot open the warm generation and forks a cold copy of its own instead, leaving it behind on disk. A jb you start yourself is outside both, so give it its own --caches-home.
A fresh checkout is seeded from a warm one. Caches are keyed to the solution's absolute path, so a new worktree or clone starts cold. When a call finds no cache and a same-named sibling checkout has a warm one, the server copies it across, best-effort and never over a cache a successful run produced. The copy still has to be re-keyed, so a seeded run lands between warm and cold. That key outlives the checkout, so resharper_reset_cache takes the path a deleted one had and reclaims what it left.
SARIF becomes markdown that fits the client. Issues come back grouped by file, re-rendered at progressively lower detail until they fit the client's output budget, with every issue still counted and every file still named at each step. detail caps that ladder when you want a rollup without overflowing the budget to get one. When the summary is not enough, report=Markdown writes the complete listing to a file and the response names it.
The server needs the .NET 10 SDK and JetBrains' ReSharper Command Line Tools. Both install as .NET global tools, and neither needs an IDE.
The server looks for jb on PATH and then in ~/.dotnet/tools. An MCP client often starts the server without your shell's PATH, so a jb that answers in your terminal can still be invisible to it.
Register the server with your MCP client under the command resharper-cli-mcp. For Claude Code, add it to .mcp.json:
The server finds a single .sln/.slnx in its working directory; when that directory holds zero or several, set JB_SOLUTION_PATH in the config's env block.
llms-install.md is the same setup written as a checklist, with the configuration block for each of the common clients. Point an agent at it to have the server installed for you.
VS Code, Visual Studio, Cursor and LM Studio can add the server in one click, once both tools are installed:
Every client runs the same command, resharper-cli-mcp, with no arguments. Only the file and the key around it change.
Visual Studio 2022 17.14 and later, and Visual Studio 2026, read an .mcp.json beside the solution, so a checked-in file registers the server for everyone working on it. The top-level key is servers, and the transport is named:
Junie reads ~/.junie/mcp/mcp.json for every project, or .junie/mcp/mcp.json for one. Rider's AI Assistant takes the same JSON under Settings | Tools | AI Assistant | MCP:
Running the server alongside a JetBrains IDE means two ReSharper engines over one solution, each with its own cache. Point one of them elsewhere with JB_CACHE_HOME if disk use matters.
Cline stores its servers in cline_mcp_settings.json, which the MCP Servers panel opens under Configure MCP Servers:
Claude Desktop installs local MCP servers as MCP Bundles. Download resharper-cli-mcp-<version>.mcpb from the latest release, double-click it, and set Solution file to the .sln or .slnx you want analysed. Claude Desktop starts the server outside your repository, so there is no working directory for it to discover one in. Run cap sets how long one jb run may take before the server kills it; ten minutes by default, which a first run against a large solution can exceed.
The bundle holds the server and neither of its prerequisites. Install the .NET 10 runtime and the ReSharper Command Line Tools first, as under Quickstart: the bundle launches the server with dotnet, and every tool call shells out to jb.
This repository doubles as a single-plugin marketplace, so the tools, the derive_style_guide prompt, and both guide resources arrive in one step:
The plugin starts the server with dotnet dnx, which fetches a pinned Zphil.ReSharperCli version from NuGet on first use. The marketplace commit you install therefore determines the server you run. Each release moves that pin, so run claude plugin update resharper-cli-mcp@resharper-cli-mcp to pick up a newer server. You still need the .NET 10 SDK and the ReSharper Command Line Tools; ReSharper's caches live in the plugin's own data directory, outside your source tree.
| Tool | Mutates files | What it does |
|---|---|---|
resharper_inspect | no | Runs ReSharper InspectCode and returns the issues, grouped by file. |
resharper_cleanup | yes | Runs ReSharper CleanupCode to reformat and normalize the given files in place. |
resharper_reset_cache | no (deletes caches) | Drops the solution's ReSharper cache so the next run rebuilds its analysis from cold, or reclaims the cache a deleted checkout left behind. |
Scope resharper_inspect with the files glob (entries may be solution-relative or absolute) and raise severity (Suggestion, Warning, Error; default Warning) to control how much comes back. Each issue carries a file, line, severity, rule ID, and message:
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/resharper-cli-mcp)<a href="https://allmcps.com/mcp/resharper-cli-mcp"><img src="https://allmcps.com/api/badge/resharper-cli-mcp?style=directory" alt="Resharper Cli MCP on AllMCPs" /></a>