refactor-mcp

説明なし

GitHubスター

50

ユーザー評価

未評価

フォーク

9

イシュー

10

閲覧数

3

お気に入り

0

README
RefactorMCP

RefactorMCP is a Model Context Protocol server that exposes Roslyn-based refactoring tools for C#.

Usage

Run the console application directly or host it as an MCP server:

dotnet run --project RefactorMCP.ConsoleApp

For usage examples see EXAMPLES.md.

Available Refactorings
  • Extract Method – create a new method from selected code and replace the original with a call.
  • Introduce Field/Parameter/Variable – turn expressions into new members; fails if a field already exists.
  • Convert to Static – make instance methods static using parameters or an instance argument.
  • Move Static Method – relocate a static method and keep a wrapper in the original class.
  • Move Instance Method – move one or more instance methods to another class and delegate from the source. If a moved method no longer accesses instance members, it is made static automatically. Provide a methodNames list along with optional constructor-injections and parameter-injections to control dependencies.
  • Move Multiple Methods (instance) – move several methods and keep them as instance members of the target class. The source instance is injected via the constructor when required.
  • Move Multiple Methods (static) – move multiple methods and convert them to static, adding a this parameter.
  • Make Static Then Move – convert an instance method to static and relocate it to another class in one step.
  • Move Type to Separate File – move a top-level type into its own file named after the type.
  • Make Field Readonly – move initialization into constructors and mark the field readonly.
  • Transform Setter to Init – convert property setters to init-only and initialize in constructors.
  • Constructor Injection – convert method parameters to constructor-injected fields or properties.
  • Safe Delete – remove fields or variables only after dependency checks.
  • Extract Class – create a new class from selected members and compose it with the original.
  • Inline Method – replace calls with the method body and delete the original.
  • Extract Decorator – create a decorator class that delegates to an existing method.
  • Create Adapter – generate an adapter class wrapping an existing method.
  • Add Observer – introduce an event and raise it from a method.
  • Use Interface – change a method parameter type to one of its implemented interfaces.
  • List Tools – display all available refactoring tools as kebab-case names.

Metrics and summaries are also available via the metrics:// and summary:// resource schemes.

Contributing
  • Run dotnet test to ensure all tests pass.
  • Format the code with dotnet format before opening a pull request.
License

Licensed under the Mozilla Public License 2.0.

作者情報

0

フォロワー

0

リポジトリ

0

Gist

0

貢献数

スレッド