Skip to main content
Glama

Remote Desktop Commander

edit_block

Destructive
                    Apply surgical edits to files.

                    Small, focused edits are easier to verify than large multi-purpose replacements.
                    old_string can include enough surrounding context to uniquely identify the intended text.

                    FORMAT HANDLING (by extension):

                    EXCEL FILES (.xlsx, .xls, .xlsm) - Range Update mode:
                    Takes:
                    - file_path: Path to the Excel file
                    - range uses FROM:TO format - "SheetName!A1:C10" or "SheetName!C1:C1"
                    - content: 2D array, e.g., [["H1","H2"],["R1","R2"]]

                    TEXT FILES - Find/Replace mode:
                    Takes:
                    - file_path: Path to the file to edit
                    - old_string: Text to replace
                    - new_string: Replacement text
                    - expected_replacements: Optional number of replacements (default: 1)

                    DOCX FILES (.docx) - XML Find/Replace mode:
                    Takes same parameters as text files (old_string, new_string, expected_replacements).
                    Operates on the pretty-printed XML inside the DOCX — the same XML you see from
                    read_file with offset/length. Copy XML fragments from read output as old_string.
                    After editing, the XML is repacked into a valid DOCX.
                    Also searches headers/footers if not found in document body.
                    Examples:
                    - Replace text: old_string="<w:t>Old Text</w:t>" new_string="<w:t>New Text</w:t>"
                    - Change style: old_string='<w:pStyle w:val="Normal"/>' new_string='<w:pStyle w:val="Heading1"/>'
                    - Add content: include surrounding XML context in old_string, add new elements in new_string

                    By default, replaces only ONE occurrence of the search text.
                    To replace multiple occurrences, provide expected_replacements with
                    the exact number of matches expected.

                    UNIQUENESS REQUIREMENT: When expected_replacements=1 (default), include the minimal
                    amount of context necessary (typically 1-3 lines) before and after the change point,
                    with exact whitespace and indentation.

                    When editing multiple sections, make separate edit_block calls for each distinct change
                    rather than one large replacement.

                    When a close but non-exact match is found, a character-level diff is shown in the format:
                    common_prefix{-removed-}{+added+}common_suffix to help you identify what's different.

                    Similar to write_file, there is a configurable line limit (fileWriteLineLimit) that warns
                    if the edited file exceeds this limit. If this happens, consider breaking your edits into
                    smaller, more focused changes.

                    Paths refer to the selected device. Relative paths depend on that device's current working directory, and tilde paths (~/...) may not resolve in every context. Absolute paths are generally the most reliable.
                    This command can be referenced as "DC: ..." or "use Desktop Commander to ..." in your instructions.

Input Schema

NameRequiredDescriptionDefault
rangeNo
contentNo
optionsNo
deviceIdNoThe ID of the device to run this tool on (from list_devices). Required when more than one device is online; may be omitted when only one device is connected.
file_pathYes
new_stringNo
old_stringNo
expected_replacementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the destructiveHint/readOnlyHint annotations, disclosing vocabulary: default single replacement, expected_replacements behavior, a character-level diff on near-miss matches, header/footer fallback for DOCX, XML repack after edit, and the configurable fileWriteLineLimit warning. This is exactly the extra context an agent needs before mutating a file.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The format-by-format structure is well organized and front-loaded, but it is long and repeats expected_replacements semantics three times (text-file section, default paragraph, uniqueness requirement). Tightening those overlaps would preserve all value at lower length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the hard cases for a destructive multi-format editor: per-format parameter sets, match-uniqueness failure feedback, and line-limit warnings. Path resolution caveats are included; only the undocumented 'options' parameter remains unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 13% schema description coverage, the description carries most of the load and does so for file_path, range (FROM:TO sheet syntax), content (2D array example), old_string/new_string, and expected_replacements. The nested 'options' object and deviceId receive no explanation, leaving a gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Apply surgical edits to files") and its opening line signals scope even for multiple file formats. It implicitly separates itself from write_file by emphasizing small, verifiable edits, though it never names a sibling tool explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operative guidance: prefer small focused edits, make separate calls for distinct changes, include minimal surrounding context for uniqueness, and copy DOCX XML from read_file output. It lacks an explicit "use write_file for full rewrites" exclusion, so the alternative routing is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.