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 |
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 | {
"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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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