MCP Refactoring
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_REFACTORING_PYTHON_COMMAND | No | Path to the Python backend command (molting) | |
| MCP_REFACTORING_PYTHON_ENABLED | No | Enable or disable the Python backend |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_refactoringsA | List available refactorings with their parameter contracts. Returns the catalog of available refactorings from all enabled backends, optionally filtered by language and/or category. Args: language: Filter by language (e.g., 'python'). If not specified, returns all. category: Filter by Fowler category (e.g., 'composing_methods') Returns: TOON-formatted string containing refactoring specifications. Categories: - composing_methods: Extract/inline methods, variables - moving_features: Move methods/fields between classes - organizing_data: Encapsulation, type codes - simplifying_conditionals: Guard clauses, polymorphism - simplifying_method_calls: Rename, add/remove parameters - dealing_with_generalization: Pull up/push down, inheritance |
| preview_refactoringA | Preview what changes a refactoring would make without applying them. This is a dry-run mode that shows the diff of what would change, without actually modifying any files. Always preview before applying. Args: refactoring: Name of the refactoring (e.g., 'extract-method') target: Target in language-native format (e.g., 'src/order.py::Order::calculate#L10-L15') params: Refactoring-specific parameters (e.g., {'name': 'calculate_tax'}) Returns: TOON-formatted string with preview results including diff. Example: preview_refactoring( refactoring="extract-method", target="src/order.py::Order::calculate#L10-L15", params={"name": "calculate_tax"} ) |
| apply_refactoringA | Apply a refactoring to the codebase. This actually modifies files. Use preview_refactoring first to see what changes will be made. Changes can be reverted with git. Args: refactoring: Name of the refactoring (e.g., 'extract-method') target: Target in language-native format (e.g., 'src/order.py::Order::calculate#L10-L15') params: Refactoring-specific parameters Returns: TOON-formatted string with results of the applied refactoring. Example: apply_refactoring( refactoring="rename-method", target="src/order.py::Order::calc_total", params={"new_name": "calculate_total"} ) |
| inspect_structureA | Get structural information about code (classes, methods, line numbers). Inspects a file to return information about its structure. Use this to understand the code before applying refactorings. Args: path: File path to inspect (e.g., 'src/order.py') depth: Level of detail - 'file', 'class', or 'method' (default: 'class') Returns: TOON-formatted string with structural information. Example: inspect_structure(path="src/order.py", depth="method") |
| analyze_codeA | Analyze code for smells and suggest refactorings. Detects code smells like long methods, large classes, feature envy, and suggests appropriate refactorings to address them. Note: This feature requires backend support. Returns backend_supported: false for backends that don't implement analysis yet. Args: path: File or directory path to analyze smells: Optional list of smell types to check for (e.g., ['long-method', 'large-class', 'feature-envy']) Returns: TOON-formatted string with analysis results. Supported smell types (when backend supports analysis): - long-method: Method exceeds line threshold - large-class: Class has too many responsibilities - feature-envy: Method uses another class's data excessively - data-clumps: Same data items appear together repeatedly - primitive-obsession: Overuse of primitives instead of objects - duplicate-code: Similar code in multiple locations |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marshally/mcp-refactoring'
If you have feedback or need assistance with the MCP directory API, please join our Discord server