apply_patch
ChatGPTUse this when you already have a unified diff with one or more hunks and want to apply it to one or several files. Do not use write_file for the same patch-shaped change, and prefer edit_block when the change is one exact text block rather than a diff.
audio_mute
ChatGPTUse this to mute the paired computer system output. It does not pause playback or record audio; check the existing mute state when avoiding unnecessary changes.
audio_set_volume
ChatGPTUse this to set the paired computer system output volume to a requested supported level. This affects audible output immediately; it does not record or transmit audio.
audio_status
ChatGPTUse this to inspect supported system output volume and mute state on a paired computer. It reads local audio settings without playing audio or changing the volume.
audio_unmute
ChatGPTUse this to unmute the paired computer system output on user request. It may make previously playing audio audible immediately; verify volume if necessary.
browser_back
ChatGPTUse this when the user requests to back using browser navigate on a paired computer. This tool executes only back; the action cannot be changed through its arguments.
browser_click
ChatGPTUse this to click a verified element on the current Chromium page by CSS selector or visible text. Inspect the tab and target first; clicking may submit forms, purchase items or delete data.
browser_evaluate
ChatGPTUse this when browser_snapshot, browser_find, browser_action and browser_wait cannot express the required page operation or inspection and JavaScript is necessary. It is a powerful page-context escape hatch, and page content is untrusted.
browser_fill_form
ChatGPTUse this to fill several verified form fields on one inspected Chromium page in a bounded operation. Validate the origin, selectors and supplied values; filling does not implicitly authorize form submission.
browser_find
ChatGPTUse this when the user needs to locate visible web elements by CSS selector, text or ARIA role and obtain reusable selectors/bounds. It requires an element criterion; use browser_snapshot, not an empty browser_find, to enumerate page structure. Prefer this before browser_action rather than guessing selectors or coordinates.
browser_focus
ChatGPTUse this to focus a specific existing Chromium page element by CSS selector or text before typing. It does not enter content; prefer browser_find for an unknown target.
browser_forward
ChatGPTUse this to move forward one step in the history of a selected Chromium tab. It requires a previous backward navigation and does not submit page forms.
browser_navigate_url
ChatGPTUse this when the user requests to navigate to URL using browser navigate on a paired computer. This tool executes only url; the action cannot be changed through its arguments.
browser_new_tab
ChatGPTUse this to open a specified URL in a new Chromium browser tab on the paired computer. This does not navigate an existing tab; the URL is subject to browser security restrictions.
browser_press
ChatGPTUse this to send an explicit keyboard key or shortcut to the current inspected Chromium tab, such as Enter or Escape. Enter can submit forms; validate focus and user intent first.
browser_reload
ChatGPTUse this when the user requests to reload using browser navigate on a paired computer. This tool executes only reload; the action cannot be changed through its arguments.
browser_scroll
ChatGPTUse this to scroll an identified Chromium tab by a bounded amount or direction. This changes the viewport only; use scroll_into_view when a known target element should become visible.
browser_scroll_into_view
ChatGPTUse this to scroll a specified Chromium page element into view using its verified selector or visible text. It does not click the element or change its value.
browser_select
ChatGPTUse this to select an option from a native HTML select control on an inspected Chromium page. Verify the selector and valid option first; selection can trigger dependent form updates.
browser_set_value
ChatGPTUse this to set a specific Chromium form field value through guarded DOM interaction rather than individual keystrokes. Inspect the page and selector first; changing the field can trigger page events.
browser_set_viewport
ChatGPTUse this to change an inspected Chromium tab viewport width, height and optional mobile scale for responsive testing. It changes browser emulation, not the host monitor resolution.
browser_snapshot
ChatGPTUse this when the user needs to inspect a web page structurally through CDP accessibility. Reuse the last snapshot_id as diff_from to return changed/removed semantic nodes rather than retransmitting the whole page after each step; refresh with a full snapshot when unavailable. Prefer it over desktop ui_snapshot for page content; add include_screenshot=true only when final pixel/layout verification is needed. A selector may be temporarily centered for capture, but the original page scroll position is restored before the tool returns.
browser_tabs
ChatGPTUse this when starting CDP browser automation and the target page or tab is not already unambiguous. It lists debuggable Chromium pages from a loopback-only endpoint; use the returned target_id/title/url to scope later browser tools.
browser_type
ChatGPTUse this to enter user-provided text into a verified Chromium page field, optionally clearing existing text. Confirm the origin and field first; do not put sensitive data into an untrusted page.
browser_upload
ChatGPTUse this to attach a user-authorized local file to an inspected Chromium file-input element. Check the exact file path, site origin and target input first; the page may receive the file contents.
browser_wait
ChatGPTUse this when browser navigation or an action must be followed by proof of selector/text/URL/load/navigation/network-idle instead of fixed sleeps or screenshot polling. Use browser_evaluate separately for JavaScript predicates.
browser_workflow
ChatGPTUse this for an explicitly requested sequence of 1–12 guarded DOM actions and bounded waits on one inspected Chromium page. Validate CSS selectors first. The workflow cannot run arbitrary JavaScript, upload files, switch origins or implicitly submit a form; an explicit click may submit data or cause irreversible remote changes. Stop at the first failed step and never echo field values.
clipboard_clear
ChatGPTUse this to clear the paired computer clipboard on user request, for example after handling sensitive copied text. This irreversibly removes its current contents from the clipboard.
clipboard_read
ChatGPTUse this when the user asks to inspect the current clipboard text on a paired computer. Clipboard contents may be sensitive; read them only when needed and do not send them to unrelated sites.
clipboard_write
ChatGPTUse this to place user-authorized text on the paired computer clipboard for pasting into an application. This overwrites the previous clipboard contents but does not itself paste or submit data.
computer_add_to_selection
ChatGPTUse this to add an identified native list or tree item to an existing multi-selection without replacing the other selected items. Confirm the target and current selection first.
computer_click
ChatGPTUse this to click an identified native desktop control or screen coordinate on a paired computer after inspecting the current UI. Clicking can submit forms, activate buttons or change data; use a semantic target when available.
computer_collapse
ChatGPTUse this to collapse an identified expanded tree item, menu or disclosure control. Inspect the target first and avoid hiding information needed for the next action.
computer_drag
ChatGPTUse this for a real drag-and-drop or selection gesture between verified native desktop elements or screen coordinates. Confirm the source and destination first; dropping can move files or change application state.
computer_expand
ChatGPTUse this to expand an identified native tree item, menu or disclosure control. This reveals child controls and may trigger application-side effects depending on the target.
computer_focus
ChatGPTUse this to bring an identified native desktop control into focus before typing or interacting with it. Prefer a current semantic target; focusing alone does not type text or activate a button.
computer_invoke
ChatGPTUse this when the user asks to activate an identified native desktop accessibility control on a paired computer, such as invoking a menu item or button. Resolve the intended control from a recent computer_snapshot or ui_find first. Invoking it can submit forms, change application state, or trigger irreversible actions; it does not run arbitrary shell commands or page JavaScript.
computer_multi_edit
ChatGPTUse this for a bounded batch of native accessibility edits on already identified desktop controls. Verify each requested change and target before applying; individual edits can change application data.
computer_multi_select
ChatGPTUse this to select multiple verified native desktop items as one semantic accessibility operation. Supply identified targets from a fresh snapshot; selection alone does not open or delete files.
computer_remove_from_selection
ChatGPTUse this to remove an identified native list or tree item from the current multi-selection while preserving remaining selections. It does not delete the underlying item.
computer_scroll
ChatGPTUse this to scroll the native desktop viewport or an identified UI region by a bounded direction or delta. It moves the visible viewport and does not edit document contents.
computer_scroll_into_view
ChatGPTUse this to bring an identified native accessibility element into the visible viewport before reading or interacting with it. This scrolls the interface without editing its data.
computer_select
ChatGPTUse this to select an identified option or item in a native desktop accessibility control. Inspect the control and its available values first; selection may update application state.
computer_set_range_value
ChatGPTUse this to set a numeric or range control, such as a slider, to a specific supported value on the paired desktop. Inspect the control limits first; changing it can affect application settings.
computer_set_value
ChatGPTUse this to assign a specified value to an identified native accessibility control, such as an editable text field. Validate the target before writing; this changes the control rather than sending a keyboard shortcut.
computer_snapshot
ChatGPTUse this when you need the first compact view of an unfamiliar desktop state, including windows, semantic UI, displays, clipboard metadata and optional pixels/browser/OCR. Prefer it over repeated screenshots; narrow later with ui_find, browser_find or screenshot_region.
computer_toggle
ChatGPTUse this to change the state of a native checkbox, switch or toggle identified through the current desktop snapshot. Check its current state to avoid unintended changes; toggles can alter application settings.
computer_type
ChatGPTUse this to enter user-provided text into a focused or identified native desktop control, optionally clearing its previous value. First confirm the target from the current UI; never type passwords or private data into an unverified field.
copy_file
ChatGPTUse this when the user asks to copy exactly one regular file to a new path on the same computer. For directories or two or more copies use copy_paths.
copy_paths
ChatGPTUse this when the user asks to copy a directory recursively or two or more paths in one request. For exactly one regular file use copy_file.
create_archive
ChatGPTUse this when the user wants files or a directory packed into a tar, tar.gz, or zip archive, for example before a transfer or a backup.
create_directory
ChatGPTUse this when the user asks to create a directory, including any missing parent directories.
create_pairing_command
ChatGPTUse this when the person wants to connect another computer to their ReMCP account, or asks how to add a device: returns platform-specific Windows/macOS/Linux commands, the pairing code, and when it expires. Windows uses the no-prerequisite PowerShell bootstrap; macOS/Linux use the npm launcher. The same commands are returned while the code is still valid.
delete_path
ChatGPTUse this when the user explicitly asks to remove exactly one file or directory and does not need it recoverable. Use delete_paths for two or more targets, or move_to_trash when reversibility matters.
delete_paths
ChatGPTUse this when the user explicitly asks to remove two or more named files or directories in one batch. For one target use delete_path; use move_to_trash when reversibility matters.
diff_files
ChatGPTUse this when the user wants to see how two text files differ, before or after a change.
disable_device
ChatGPTUse this when the user needs to disable an existing paired computer only when the user explicitly requests it. Disconnects the pairing until re-enabled; requires its device id.
display_inventory
ChatGPTUse this when monitor-specific screenshots, cross-monitor geometry or coordinate work require monitor bounds, scale and primary-display information.
document_append_paragraph
ChatGPTUse this to append a user-provided paragraph to a specified local word-processing document. Verify the path and creation option; this writes document content.
document_delete_paragraph
ChatGPTUse this to delete one or more paragraphs matching requested text in a specified local word-processing document. This removes document content; confirm the exact match and backup needs.
document_insert_paragraph_after
ChatGPTUse this to insert a new paragraph after an identified matching paragraph in a specified local document. Confirm the search target and intended location before writing.
document_insert_paragraph_before
ChatGPTUse this to insert a new paragraph before an identified matching paragraph in a specified local document. Check the match and the text before writing.
document_prepend_paragraph
ChatGPTUse this to insert a user-provided paragraph at the beginning of a specified local word-processing document. Confirm the document path and preserve existing content.
document_replace
ChatGPTUse this to replace specified matching text in a user-selected local word-processing document. Check the search string, replacement and destination; edits change document content.
drag_drop
ChatGPTUse this when the task calls for a real drag gesture between two UI element ids or coordinates. Prefer element ids from ui_find/ui_snapshot because their current bounds are resolved at execution time; use coordinates only when no semantic endpoints exist. On GNOME Wayland, real drag input requires the consent-backed Remote Desktop portal because XTEST/xdotool drag delivery is not reliable.
edit_block
ChatGPTUse this when one known text block in one file should be replaced, with a whitespace-tolerant fallback and optional dry-run diff. Use write_file only when replacing the whole file, and replace_lines when the intended target is a known line range rather than matching text.
edit_spreadsheet
ChatGPTUse this when the user needs to create a new XLSX workbook or directly edit XLSX cells/ranges/formulas without launching Excel. Set create=true only for a new path; it fails rather than overwriting an existing workbook. Prefer explicit cells/ranges and write to output when preserving an existing original matters.
enable_device
ChatGPTUse this when the user needs to enable an existing paired computer only when the user explicitly requests it. Changes that pairing to enabled; requires its device id.
environment
ChatGPTUse this when the task calls for PATH, shell, Node/runtime environment paths, architecture and optionally sanitized environment variables. Use get_system_info for host health such as CPU/memory/disk/uptime, and get_runtime_info for ReMCP policy, roots and limits. Secret-looking values remain masked.
event_log
ChatGPTUse this when the user needs to read bounded recent OS logs (Windows Event Log, macOS unified log or systemd journal) when diagnosing a service/app/system problem. Prefer it over an unbounded shell log dump.
force_terminate
ChatGPTUse this when a process session created by start_process must stop, such as a runaway build or server left behind. For an arbitrary operating-system PID that is not a ReMCP terminal session, use kill_process instead.
get_configuration
ChatGPTUse this when the person asks how the hosted ReMCP deployment/account is configured: server version and endpoint, runtime release installed on devices, retention/telemetry policy, hosted limits, and paired-computer versions. Use get_runtime_info for one computer's local runtime roots, policy and limits; use get_system_info for that computer's OS/CPU/memory/disk state.
get_file_info
ChatGPTUse this when the user needs the size, type, permissions, or modification time of one file or directory before deciding what to do with it.
get_more_search_results
ChatGPTUse this when a search started with start_search still has more matches to return.
get_recent_tool_calls
ChatGPTUse this when you need to recover recent ReMCP activity or answer what was just done. It returns the most recent tool calls with the computer they ran on, success state and duration.
get_runtime_info
ChatGPTUse this when you need one computer's local ReMCP runtime version, guardrails, allowed roots, or configured limits. Use get_system_info for host OS/CPU/memory/disk facts; deployment/account-level ReMCP server configuration belongs to get_configuration.
get_runtime_stats
ChatGPTUse this when you need counters from the current local runtime session on one machine: tool calls, failures, blocks, and active sessions. Account-level historical usage aggregated by device/tool over days belongs to get_usage_statistics.
get_system_info
ChatGPTUse this when the user asks about machine health and host facts such as operating system, CPU load, memory, free disk space, or uptime. Use environment for PATH/shell/runtime environment details, and get_runtime_info for ReMCP-specific version, policy, and limits.
get_usage_statistics
ChatGPTUse this when the person asks for account-level historical ReMCP usage over days: call counts, success rate, average duration, and per-tool/per-device breakdowns. Use get_runtime_stats instead for counters from the current local runtime session on one machine.
hash_file
ChatGPTUse this when the user wants a checksum to verify a download, compare two files, or confirm a transfer.
installed_apps
ChatGPTUse this when the user needs to answer what software/packages are installed and their versions. Prefer a filter when looking for one product instead of returning the full inventory.
interact_with_process
ChatGPTUse this when a running process is waiting for input, such as a prompt or a confirmation.
keyboard
ChatGPTUse this when the task calls for shortcuts and individual key presses such as Ctrl/Cmd+C, Tab, Enter or Escape. Do not use it to enter normal prose when type_text is available. On Wayland auto uses an already-authorized portal; backend=portal explicitly requests consent.
kill_process
ChatGPTUse this when the user wants to stop an arbitrary operating-system process by PID. If the PID belongs to a ReMCP terminal session created by start_process, prefer force_terminate so the session state and process tree are handled consistently.
launch_app
ChatGPTUse this when the user explicitly asks to start a named desktop application or permitted executable on a paired computer. Launches the specified app with an argument array and no shell; start_process handles shell commands and scripts, while open_path opens existing permitted files or directories in their default application. Starting an app can execute code and change desktop state.
list_devices
ChatGPTUse this when the target computer is not already unambiguous. Call it first to list computers paired to the signed-in ReMCP account and see which ones are online.
list_directory
ChatGPTUse this when the user wants to see what a directory on a paired computer contains, optionally filtered by a glob.
list_processes
ChatGPTUse this when the user wants the computer-wide operating-system process list. Use list_sessions when the question is only about commands started through ReMCP start_process.
list_searches
ChatGPTUse this when you need to know which search sessions are still active on a machine.
list_sessions
ChatGPTUse this when you need to know which ReMCP terminal sessions created by start_process are still running. Use list_processes for the computer-wide operating-system process list.
list_windows
ChatGPTUse this when the user needs to discover top-level desktop windows or obtain a stable window id/PID/bounds before window_action, screenshot_region or targeted input. Use ui_snapshot instead when you need controls inside a window; prefer list_windows over screenshot-based window guessing.
move_file
ChatGPTUse this when the user asks to move or rename exactly one file or directory from one source to one destination. For two or more moves use move_paths.
move_paths
ChatGPTUse this when the user asks to move or rename two or more files/directories in one batch. For one source/destination pair use move_file.
move_to_trash
ChatGPTUse this when the user wants a file or directory removed but still recoverable from the system trash.
network_dns
ChatGPTUse this when the user asks to inspect the operating system configured DNS resolver server addresses on a paired computer. This reads local DNS configuration only; it performs no DNS lookup, external network request, or network configuration change.
network_interfaces
ChatGPTUse this when the user asks to inspect the full local network interface inventory on a paired computer, including OS-reported IPv4 and IPv6 addresses, netmasks, MAC addresses and internal-interface flags. Unlike network_summary, the inventory is not truncated. This only reads local adapter data; it does not scan networks or change network configuration.
network_listeners
ChatGPTUse this when the user asks to inspect listening ports on a paired computer to diagnose local services, unexpected exposure or port conflicts. Reads the OS TCP listener inventory on Windows and macOS, and TCP/UDP listeners on Linux; process details depend on OS permissions. It does not connect to ports, scan remote hosts or change firewall rules.
network_routes
ChatGPTUse this when the user asks to inspect the local OS routing table on a paired computer, including default gateway, destination networks, next hops and route metrics where supported. Use it to diagnose routing and reachability issues. The output varies by OS; it does not add routes, send traffic or change network settings.
network_summary
ChatGPTUse this when the user asks for a quick network overview of a paired computer: hostname, DNS servers and a bounded sample of its local network interfaces and IP addresses, including counts and truncation flags. Prefer network_interfaces for the complete inventory. This is read-only; it does not probe remote hosts or change network settings.
network_test
ChatGPTUse this to check TCP connectivity from a paired computer to a specified host and port with a bounded timeout. It makes an outbound network connection but does not scan ranges or modify network settings.
notification
ChatGPTUse this when the user wants a visible native desktop notification on the paired computer. Do not use it as a substitute for replying in chat.
open_path
ChatGPTUse this when the user wants the desktop operating system to open an existing permitted file or directory with its configured default application. The path is checked against the paired computer policy.
pdf_annotations
ChatGPTUse this when the user asks to list or inspect annotations, comments, highlights or markup already present in one permitted local PDF file on a paired computer. Requires the PDF path and only returns annotation metadata; it does not edit, save, delete or annotate the PDF.
pdf_info
ChatGPTUse this when the user asks to inspect an existing local PDF file on an explicitly paired computer and retrieve its metadata and properties, such as page count, title, author or PDF version when the local pdfinfo utility is available. Supply the permitted PDF path. Without pdfinfo, the fallback reports file size in bytes and annotation count. This is read-only: it does not extract page text, edit annotations, write output or replace the source PDF.
pdf_merge
ChatGPTUse this to combine multiple user-selected local PDF files into a new output PDF in specified order. Check every input and destination; this creates an output file but does not edit the source pages.
pdf_split
ChatGPTUse this to split a selected local PDF into separate files or page groups using requested page boundaries. Verify the input and destination directory first; new output files are created.
ping_device
ChatGPTUse this when you need to check that a paired computer answers right now and measure the round trip. The device agent answers the ping itself, so it works even while the local runtime is restarting or missing, and it reports hostname, platform, uptime and versions.
pointer_click
ChatGPTUse this to send one native mouse click at a verified desktop coordinate. Check the current screenshot or element bounds first; clicking can trigger purchases, deletion or other actions.
pointer_double_click
ChatGPTUse this to send a native double-click at a verified desktop coordinate, for example to open a file or application. Inspect the target first; double-clicking may execute an action.
pointer_down
ChatGPTUse this when the user asks to press and hold a mouse button to begin a native desktop drag or selection gesture on a paired computer. This sends a real pointer-button-down event to the current application and leaves the button held until pointer_up; it may change application state.
pointer_move
ChatGPTUse this to move the desktop mouse pointer to a requested coordinate without clicking. Prefer semantic UI tools for actions; movement alone does not select or submit anything.
pointer_right_click
ChatGPTUse this to open a native context menu by right-clicking at a verified coordinate. Inspect the target and resulting menu before selecting any command.
pointer_up
ChatGPTUse this when the user asks to release a mouse button after pointer_down during a native desktop drag or selection gesture on a paired computer. Releasing the button can complete a drag, click, selection or application action; it does not press the button.
power_lock
ChatGPTUse this to lock the paired computer screen while keeping the operating system and active applications running. Unlocking requires the device owner credentials.
power_restart
ChatGPTUse this to reboot the paired computer when explicitly authorized. This ends active sessions and may interrupt unsaved work or remote access; verify necessity first.
power_shutdown
ChatGPTUse this to shut down the paired computer when explicitly authorized. This ends running applications and remote connectivity; the device may require local power-on to reconnect.
power_sleep
ChatGPTUse this to put the paired computer into system sleep mode when explicitly requested. Remote connectivity and active jobs may become unavailable until the device wakes.
read_binary
ChatGPTUse this when the user needs a non-text file transferred or inspected byte for byte as base64 chunks. For a normal image that should be shown or visually inspected, use read_image instead.
read_document
ChatGPTUse this when the user needs structured document content from a PDF, DOCX, XLSX, CSV, JSON or XML file on a paired computer. Returns extracted content and bounded metadata from the document path.
read_file
ChatGPTUse this when the task calls for plain text files on a paired computer: source code, configuration, Markdown, logs, scripts, or other line-oriented text. Use read_document instead for PDF, DOCX, XLSX and other structured document content. read_file keeps legacy PDF/DOCX extraction for compatibility but should not be the model’s first choice for those formats.
read_files
ChatGPTUse this when the exact file list is not already known and the user wants the contents of every file matching one glob under a directory. Use start_search instead to find filenames or text matches without reading every matched file. If exact paths are already known, use read_multiple_files; for one known path use read_file.
read_image
ChatGPTUse this when the user wants to inspect or show an image that lives on a paired computer, such as a screenshot, photo, or diagram. It returns native MCP image content; do not use read_binary merely to display an image.
read_multiple_files
ChatGPTUse this when the user names two or more exact file paths to read in one call. Do not use it for glob discovery: use read_files instead. For one known path use read_file.
read_process_output
ChatGPTUse this when a process started earlier has more output to show and you do not want to wait for a pattern.
record_screen
ChatGPTUse this when the task calls for a short bounded screen recording when motion/timing is necessary to diagnose a UI issue. Prefer screenshot_region for static visual verification because it is cheaper and easier to inspect.
remove_device
ChatGPTUse this when the user needs to permanently remove an existing paired computer only when the user explicitly requests that irreversible action. Revokes the pairing; requires its device id.
rename_device
ChatGPTUse this when the user wants to change the account-visible label of one paired computer. Do not use set_config_value for renaming: that device tool changes local runtime preferences instead. Access roots, command guardrails and resource limits stay on the computer itself.
replace_in_files
ChatGPTUse this when the same text or regular-expression replacement should be searched and applied across multiple files under a path, such as a rename or version bump. For one known block use edit_block; for one complete known file use write_file.
replace_lines
ChatGPTUse this when the intended edit target is a specific 1-based line range in one file, optionally as a dry run. Use edit_block for matching an exact text block and write_file for replacing the complete file.
reveal_path
ChatGPTUse this when the user needs to reveal a permitted local file or directory in Finder/Explorer/file manager without opening the document itself.
screenshot_region
ChatGPTUse this when static pixels are required for visual verification but only one window, monitor or rectangle matters. Prefer it over take_screenshot for a full desktop and over record_screen when motion/timing is not required; use ui_snapshot/browser_snapshot first when semantic structure is sufficient.
scroll
ChatGPTUse this when the task calls for native wheel scrolling of a desktop region or semantic UI target. Prefer browser_action scroll_into_view for a known web element and ui_action scroll_into_view for a known accessible desktop element.
service_list
ChatGPTUse this to list installed OS services on a paired computer for troubleshooting. Returns a local service inventory; it does not start, stop or modify services.
service_restart
ChatGPTUse this to restart one specifically named OS service on a paired computer when requested. This interrupts the service and can disrupt active users; check scope and recovery expectations first.
service_start
ChatGPTUse this to start one specifically named OS service on a paired computer when requested. Starting may launch background processes and change system state; confirm name and scope first.
service_status
ChatGPTUse this to inspect the current state of one named OS service on a paired computer. It reads status only and is preferable to service_list when the service name is known.
service_stop
ChatGPTUse this to stop one specifically named OS service on a paired computer when requested. Stopping may interrupt users, applications or network availability; confirm the service name and impact first.
set_config_value
ChatGPTUse this when the person wants to change a local runtime preference on one computer: telemetry opt-out, read/buffer line limits, or result size. Do not use this for account-level computer administration; ping_device, rename_device, enable_device, disable_device and remove_device cover account-level computer administration. Access roots, blocked commands, shell/guardrails and the write limit stay local-only.
set_permissions
ChatGPTUse this when the user asks to change mode bits or ownership of a file or directory, for example to make a script executable.
start_process
ChatGPTUse this when the user asks to run a shell command, build, test suite, script, or terminal server that is not already covered by a narrower semantic tool. Prefer launch_app for GUI applications, service for service-manager operations, power_action for lock/sleep/restart/shutdown, network for routine network inspection/tests, event_log for OS logs, installed_apps for software inventory, environment for environment facts, and open_path/reveal_path for opening or revealing files.
start_search
ChatGPTUse this when the user wants to find filenames or perform a content search under a path and does not need every matching file read in full. Use read_files instead when a glob is already known and the contents of every matched file are the desired result. Starts a search session and returns the first matches.
stop_search
ChatGPTUse this when a search session is no longer needed and should release its resources.
take_screenshot
ChatGPTUse this when the user needs pixels for the entire desktop. Prefer ui_snapshot or browser_snapshot for semantic inspection, and screenshot_region for one window, monitor, or rectangle.
type_text
ChatGPTUse this when the task calls for reliable Unicode text entry into a native semantic target or focused native control. Prefer method=auto so Accessibility is used when the target supports verified semantic editing. For Chromium page DOM, use browser_action instead of forcing desktop accessibility text input; auto fails safely when a semantic element rejects the write rather than claiming an unverified paste. Use method=keys only for deliberate physical key-by-key input, and keyboard for shortcuts/navigation/control keys.
ui_add_to_selection
ChatGPTUse this to add an identified native UI item to the existing selection through Accessibility/UI Automation without clearing other selected items.
ui_click
ChatGPTUse this to activate an identified native Accessibility/UI Automation element, such as a button or menu item, after ui_snapshot or ui_find. Clicking can submit data or execute destructive application actions.
ui_collapse
ChatGPTUse this to collapse an identified native Accessibility/UI Automation tree node or disclosure control. It changes visible UI state without deleting child items.
ui_expand
ChatGPTUse this to expand an identified native Accessibility/UI Automation tree node or disclosure control to reveal its children. Inspect the current element first.
ui_find
ChatGPTUse this when you need a small set of native UI elements by role/name/label/AutomationId after ui_snapshot. It requires an element criterion; use ui_snapshot, not an empty ui_find, to enumerate UI. Prefer returned id or compact label for subsequent ui_action; refresh only when the UI has changed.
ui_focus
ChatGPTUse this to focus an identified native Accessibility/UI Automation field or control prior to keyboard input. It does not insert text; identify the element from a recent snapshot.
ui_invoke
ChatGPTUse this when the user asks to invoke one identified native Accessibility/UI Automation element, such as a button or menu command, by its element ID or a specific role/name selector on a paired computer. Find the control with ui_snapshot or ui_find first. Invoking a control can submit data or cause destructive application actions.
ui_remove_from_selection
ChatGPTUse this to deselect one identified native UI item through Accessibility/UI Automation without removing the underlying data or clearing all selections.
ui_scroll_into_view
ChatGPTUse this to bring an identified native Accessibility/UI Automation element into view before interacting with it. Prefer semantic targeting over blind pointer scrolling.
ui_select
ChatGPTUse this to select an option in an identified native Accessibility/UI Automation list or selection control. Verify available options first; selection may change application state.
ui_set_range_value
ChatGPTUse this to assign a supported value to an identified native slider or range widget through Accessibility/UI Automation. Inspect allowed bounds first; changes can take effect immediately.
ui_set_value
ChatGPTUse this to replace the value of a native accessible text field or editable control by element ID or semantic selector. Check the target before writing; it may update application data.
ui_snapshot
ChatGPTUse this when the user needs to inspect native desktop Accessibility/UI Automation semantics for the active app before clicking or typing. Prefer scope=active; use scope=desktop only for cross-application discovery. For a Chromium web page with CDP available, prefer browser_snapshot for page DOM semantics.
ui_toggle
ChatGPTUse this to activate an identified native checkbox or switch using its accessibility semantics. Check the present state before toggling; this can change saved settings.
wait_for_process_output
ChatGPTUse this when you need to wait until a running command prints something specific, such as a readiness line or a failing test name.
wait_for_ui
ChatGPTUse this when a desktop action must be followed by proof of an explicit native UI state or condition instead of sleeping or polling screenshots. Presence/absence waits need a semantic target; use state=changed for a broad tree change and set a bounded timeout.
who_am_i
ChatGPTUse this when the person asks which ReMCP account they are signed in as, how many machines are paired and online, or how many tool calls they have made lately.
window_close
ChatGPTUse this to close a specific application window on the paired computer. Closing may discard unsaved changes or quit an application; confirm the intended window and save work first.
window_focus
ChatGPTUse this to activate an existing application window on the paired desktop, identified by a current window ID, process or title. This only changes the active window; use list_windows if the target is unknown.
window_maximize
ChatGPTUse this to maximize an identified application window on the paired desktop. Confirm the target window first; it changes window layout without modifying application files.
window_minimize
ChatGPTUse this to minimize a selected application window while leaving the application running. Identify the window first; it does not close the window or terminate its process.
window_move
ChatGPTUse this to reposition an identified desktop window to specified screen coordinates. Confirm monitor geometry before moving; the application continues running.
window_move_resize
ChatGPTUse this to reposition and resize a specific desktop window in one action with explicit coordinates and dimensions. Verify its identity and monitor bounds beforehand.
window_resize
ChatGPTUse this to resize an identified desktop window to the requested width and height. Inspect display limits first; it does not change the content of files in the application.
window_restore
ChatGPTUse this to restore an identified minimized or maximized application window to its normal state. It changes window state but does not restore deleted data.
write_binary
ChatGPTUse this when the user needs base64 data written to a file on a paired computer byte for byte, including files too large for a single call.
write_file
ChatGPTUse this when the user asks to create or replace the complete contents of exactly one text file. For a small exact-block edit use edit_block, for a known line range use replace_lines, and when you already have a unified diff use apply_patch. For two or more independent complete files use write_files; use write_binary for binary bytes.
write_files
ChatGPTUse this when the user asks to create or replace the complete contents of two or more independent text files in one batch. For one path use write_file; for partial edits use edit_block, replace_lines, replace_in_files, or apply_patch instead of rewriting whole files.