Refactor MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| detect_project_typeB | Detect Java/TypeScript project type, build system, and configuration |
| typescript_rename_symbolB | Rename any TypeScript/JavaScript symbol (class, function, variable, interface, type) and update all references |
| typescript_move_symbolA | Move a TypeScript/JavaScript symbol to a different file and update all imports |
| typescript_rename_fileB | Rename or move a TypeScript/JavaScript file and update all imports |
| typescript_extract_functionB | Extract a code block into a new function, automatically determining parameters and return values |
| typescript_add_parameterB | Add a new parameter to a TypeScript/JavaScript function and update all call sites |
| typescript_remove_parameterB | Remove a parameter from a TypeScript/JavaScript function and update all call sites |
| typescript_change_function_signatureA | Change a TypeScript/JavaScript function signature with multiple parameter operations (add, remove) in a single refactoring. More efficient than calling individual tools when making multiple changes. |
| java_rename_classB | Rename a Java class and update all references using OpenRewrite |
| java_rename_methodA | Rename a Java method and update all call sites using OpenRewrite |
| java_rename_fieldB | Rename a Java field and update all references using OpenRewrite |
| java_move_classA | Move Java class(es) to a different package and update all imports using OpenRewrite |
| java_add_parameterA | Add a new parameter to a Java method or record constructor and update all call sites. For Java records, use methodName "" or the class name to target the constructor - the tool auto-detects records and updates both the record declaration AND all "new RecordName(...)" call sites (adding null as the new argument value). |
| java_remove_parameterA | Remove a parameter from a Java method or record constructor and update all call sites. For Java records, use methodName "" or the class name - the tool auto-detects records and updates both the record declaration AND all "new RecordName(...)" call sites. |
| java_reorder_parametersA | Reorder parameters in a Java method or record constructor and update all call sites. For Java records, use methodName "" or the class name - the tool auto-detects records and updates both the record declaration AND all "new RecordName(...)" call sites. |
| java_change_method_signatureA | Change a Java method or record constructor signature with multiple parameter operations (add, remove, reorder) in a single refactoring. More efficient than calling individual tools when making multiple changes. For Java records, use methodName "" or the class name - the tool auto-detects records and updates both the record declaration AND all "new RecordName(...)" call sites (adding null for new parameters). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Each tool targets a specific language (Java or TypeScript) and a distinct refactoring operation, with no overlap between them. The language prefix and descriptive operation names make it easy for an agent to select the correct tool.
All tools follow a consistent 'language_verb_noun' pattern using snake_case (e.g., java_add_parameter, typescript_rename_symbol). The naming is uniform and predictable across all 16 tools.
With 16 tools covering two languages and a balanced set of common refactorings (add/remove/reorder parameters, rename, move, extract), the count is well-scoped for a refactoring server. It feels neither sparse nor overwhelming.
The tool set covers essential refactorings for both Java and TypeScript, including parameter manipulation, renaming, moving, and extraction. However, it lacks some common operations like extract variable, inline, or change return type, which are minor gaps.