Revise 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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| rename_symbolA | Renames a symbol (function, variable, class, etc.) and all its references across the workspace. Uses text-based matching to locate the symbol—no coordinate counting required. Example: filePath: "/path/to/file.py" oldString: "def helper_function(" newString: "def _helper_function(" |
| move_string_in_fileA | Moves a continuous range of lines from one location to another within a file (or between files). Specify cut boundaries and paste location using substring matching with an optional ⬥ marker. Example 1: Move a definition before another definition: cutStartAt: "class MyClass:" (start at this line) cutEndAt: "class NextClass:" (end BEFORE this line) pasteAt: "\n⬥def target_function():" (paste adjacent to the \n) Example 2: Move a paragraph after another paragraph: cutStartAt: "# Close the database" (start at this line) cutEndAt: "db.close()\n⬥" (end after the final paragraph line) pasteAt: "db.open()\n⬥" (paste after a different paragraph's last line) ⬥ in cut boundaries anywhere in a line marks the line to cut when the cut context contains multiple lines. No ⬥ is needed if cut context is within a single line only. ⬥ in a paste boundary must be adjacent to a \n or the start/end of the file. All lines will be pasted before/after the nearby \n or file boundary. Whitespace at the end of lines is ignored when matching substrings. After editing reports on blank lines around the cut and paste boundaries, simplifying clean up of nearby line spacing with small subsequent edits. Does not alter indentation. Use indent_dedent to adjust indentation after moving if needed. |
| indent_dedentA | Indents or unindents a range of lines in a file. Specify the range using substring matching with a ⬥ marker. The ⬥ identifies which line is the boundary — the full line containing the ⬥ is included in the range. Common pattern — indent a block, then wrap it: 1. indent_dedent(indentStartAt="# Create home URL\n⬥", ..., indentDelta=1) 2. replace_string_in_file to insert "if True:" before the indented block ⬥ in boundaries anywhere on a line marks the line to indent when the context contains multiple lines. No ⬥ is needed if the context is within a single line only. Whitespace at the end of lines is ignored when matching substrings. Empty lines within the range are left unchanged (no whitespace added). Non-empty lines (including whitespace-only lines) are indented/unindented. |
| outline_fileA | Returns a high-level outline of a file, similar to VS Code's folded view. Shows only structurally significant lines:
Output format: "LINE_NUMBER:LINE_CONTENT" (1-indexed), one per line. Useful for understanding the structure of a large file before reading it in full. |
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 4 tools
Each tool addresses a distinct editing operation: indentation, moving lines, outlining, and renaming. No overlap or confusion among them.
All tool names follow a consistent verb_noun pattern with underscores (e.g., indent_dedent, move_string_in_file), making them predictable and readable.
With 4 tools, the server is well-scoped for a focused code editing purpose, not too few or too many.
The server lacks basic text editing tools like replace, insert, or delete, which are essential for comprehensive file editing. The mention of 'replace_string_in_file' in descriptions suggests a gap.