{"slug":"dave-hillier/refactor-mcp","name":"RefactorMCP","description":"Automated refactoring tools for C# code transformation using Roslyn.","category":"development","tags":[],"official":false,"stars":88,"transport":null,"install":null,"tools":[{"name":"extract-method","description":"Create a new method from selected code and replace the original with a call (expression-bodied methods are not supported)."},{"name":"introduce-field-parameter-variable","description":"Turn expressions into new members; fails if a field already exists."},{"name":"convert-to-static","description":"Make instance methods static using parameters or an instance argument."},{"name":"move-static-method","description":"Relocate a static method and keep a wrapper in the original class."},{"name":"move-instance-method","description":"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."},{"name":"move-multiple-methods-instance","description":"Move several methods and keep them as instance members of the target class. The source instance is injected via the constructor when required."},{"name":"move-multiple-methods-static","description":"Move multiple methods and convert them to static, adding a this parameter."},{"name":"make-static-then-move","description":"Convert an instance method to static and relocate it to another class in one step."},{"name":"move-type-to-separate-file","description":"Move a top-level type into its own file named after the type."},{"name":"make-field-readonly","description":"Move initialization into constructors and mark the field readonly."},{"name":"transform-setter-to-init","description":"Convert property setters to init-only and initialize in constructors."},{"name":"constructor-injection","description":"Convert method parameters to constructor-injected fields or properties."},{"name":"safe-delete","description":"Remove fields or variables only after dependency checks."},{"name":"extract-class","description":"Create a new class from selected members and compose it with the original."},{"name":"inline-method","description":"Replace calls with the method body and delete the original."},{"name":"extract-decorator","description":"Create a decorator class that delegates to an existing method."},{"name":"create-adapter","description":"Generate an adapter class wrapping an existing method."},{"name":"add-observer","description":"Introduce an event and raise it from a method."},{"name":"use-interface","description":"Change a method parameter type to one of its implemented interfaces."},{"name":"list-tools","description":"Display all available refactoring tools as kebab-case names."}],"env_vars":[],"auth_type":"none","github":"https://github.com/dave-hillier/refactor-mcp","homepage":"","server_url":"","status":"active","source":"mcpservers.org","updated_at":"Thu May 28"}