← Discover MCPs and Agents
r
MCPAI & MLGitHub

resharper-mcp

An MCP server that lives inside Rider and exposes Resharper-powered tools for AI agents.

Links

README

From the repo.

ReSharper MCP Server

An MCP (Model Context Protocol) server that runs inside the ReSharper/Rider backend process, exposing code intelligence features to AI assistants via HTTP.

Supports C#, F#, VB, and any language with a ReSharper PSI implementation.

Tools

ToolDescription
find_usagesFind all references to a symbol
get_symbol_infoDetailed symbol info: kind, type, params, docs, base types, members
find_implementationsFind implementations of interfaces/abstract classes and overrides
get_file_errorsGet compile errors and unresolved references
search_symbolSearch symbols by name (substring match) across the solution
go_to_definitionNavigate to a symbol's declaration with source text
get_solution_structureList projects, target frameworks, and project references
browse_namespaceBrowse namespace hierarchy: child namespaces and types
list_symbols_in_fileList all declarations in a file
list_solutionsList all open solutions across Rider instances
fix_usingsFix missing using directives in C# files
format_fileFormat, clean up, or apply code style to a file
flowDescribe control flow of a method or type: execution steps, branches, loops, error paths, inlined call targets
get_symbol_sourceGet the full declaration source code of a symbol (not just a snippet)
get_call_hierarchyBuild an incoming (callers) or outgoing (callees) call hierarchy tree for a method
get_type_hierarchyGet the inheritance hierarchy of a type: supertypes (base/interfaces) or subtypes
get_diagnosticsRun daemon inspections on a file; reports severity, inspection id, message, location, and quick-fix availability
list_quick_fixesList the ReSharper quick-fixes (bulb actions) available at a position
complete_atGet code completion suggestions at a caret position

Write tools (modify source — require a write lock):

ToolDescription
rename_symbolSemantic, solution-wide rename of a symbol and all its references (supports dryRun)
generate_membersGenerate members on a type (constructors, overrides, equality members, etc.)
apply_quick_fixApply a ReSharper quick-fix (bulb action) at a position
apply_suggestionsApply inspection quick-fixes file-wide by inspection id (e.g. convert explicit constructor → primary constructor); position-free, dryRun/all supported

Symbol resolution

Tools that operate on a symbol accept two modes:

  • By positionfilePath + line + column (1-based)
  • By namesymbolName (e.g. "MyClass", "Namespace.MyClass", "MyClass.MyMethod")

An optional kind filter ("type", "method", "property", "field", "event") helps disambiguate. When multiple symbols match, tools return an ambiguity error listing all candidates with their qualified names, kinds, and locations.

Batch mode

Most tools support batch mode — processing multiple inputs in a single call. This reduces round-trips when querying several symbols or files at once:

  • Symbol-based tools (find_usages, get_symbol_info, find_implementations, go_to_definition) accept a symbols array of {symbolName, kind, filePath, line, column} objects.
  • File-based tools (get_file_errors, list_symbols_in_file, fix_usings, format_file) accept a filePaths array of strings.
  • search_symbol accepts a queries array of strings.
  • browse_namespace accepts a namespaceNames array of strings.

Results are concatenated with === [N/total] label === separators. Shared options (e.g. maxResults, kinds, mode) apply to all items in the batch. Original single-input parameters remain for backward compatibility.

Installation

From JetBrains Marketplace

Install the plugin from Rider: Settings → Plugins → Marketplace → search for "MCP Server for Code Intelligence".

From source

./install-rider.sh
# Restart Rider

The script builds the plugin and copies it to your local Rider plugin directory.

MCP client configuration

Add to your MCP client config (e.g. Claude Code settings.json):

{
  "mcpServers": {
    "resharper": {
      "type": "http",
      "url": "http://127.0.0.1:23741/"
    }
  }
}

The server starts automatically when you open a solution in Rider.

Set RESHARPER_MCP_PORT environment variable to override the default port.

Building

# Build the .NET backend
dotnet build src/ReSharperMcp/ReSharperMcp.csproj -c Release

# Build a distributable plugin ZIP
./build-plugin.sh

Architecture

  • Runs as a ReSharper SolutionComponent (activated when a solution opens, stopped when it closes)
  • Hosts an HTTP server on 127.0.0.1:23741 implementing MCP over JSON-RPC 2.0
  • Uses ReSharper's PSI (Program Structure Interface) APIs for code analysis
  • Two-part Rider plugin: minimal JVM JAR (plugin descriptor) + .NET backend DLL
  • Targets net472 (required by the ReSharper host process)

Collected info

  • 33 stars
  • 12 forks
  • Language: C#
  • Source updated: 9/16/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.