MCP App Store
by KeenEthics
Local Commander icon

Local Commander

By Peter Mamrukov

Get New App Alerts

Overview

Local Commander lets ChatGPT work on your own Windows computer. It is for developers and technical users who want ChatGPT to look at a real project and act on it, not only suggest code. With Local Commander, ChatGPT can: - read and search the files of a folder you choose, and see its Git status, changes and history; - run the commands you ask for, such as builds, tests, Git or PowerShell, and show you the real output; - create and edit files in that folder; - check a service running on your computer, such as a local web app's health page. You stay in control. You choose which folders Local Commander can use, and writing files or running commands needs the permissions you set on your computer. Changes go through separate tools marked as write actions, so ChatGPT can ask you first. Local Commander cannot give itself more access or reach another account's computer. Requirements: Windows 11 x64, Node.js 20 or later, and the Local Commander agent installed and paired with your account. The computer must be on and online while ChatGPT works on it.

Tools

command_run

ChatGPT
Use this when the user asks to run a command on the approved computer, such as a build, test, Git, package manager or PowerShell command, including commands that only inspect state. Full Access uses the Windows account's rights; scoped grants keep their restrictions. timeoutMs is the process lifetime, up to 24 hours; a long command returns its running IDs in about two seconds, then follow it with operation_status/operation_output and stop it with operation_cancel. Do not use to scan or probe hosts other than this computer (port scans, host discovery, vulnerability checks); decline those instead. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

diagnostics

ChatGPT
Use after capacity/transport errors. Reports online state, account quota, active account/device leases and current-epoch verified native capacity/version; old agents conservatively use one slot. repairSafe releases only this grant's expired, never-dispatched reservations and never releases unknown executions or changes local permissions. Connection health does not prove command authorization.

execution_session_close

ChatGPT
Use this when approved local work is complete or the user asks to stop using the current session. Closes only a session owned by the authenticated grant and does not terminate unrelated processes.

execution_session_open

ChatGPT
Use this when opening a session on the explicitly selected device/workspace. Pass expectDeviceName with the PC name the user gave; a mismatch opens nothing. Returns the authenticated account, the device ID and name, the session envelope, and optional startup context. Include startup {path, taskId?} to receive project policy, Git state and owned task continuation in this same call. Discover workspace IDs first only when unknown. Startup is one metered project read; without startup this opens only the session.

fs_list

ChatGPT
Use this when the user wants to see which files and folders an approved project contains. Read-only. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

fs_read

ChatGPT
Use this when the user wants to read a text file in an approved project, whole or by line range. Read-only. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

fs_replace

ChatGPT
Use this when the user asks to change part of a file in an approved project: replaces exact text with new text. Changes files on the computer. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

fs_write

ChatGPT
Use this when the user asks to create a file or replace a file's whole text in an approved project. Changes files on the computer. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

git_diff

ChatGPT
Use this when the user wants to see the uncommitted or staged changes of an approved project. Read-only. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

git_log

ChatGPT
Use this when the user wants the recent commit history of an approved project. Read-only. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

git_status

ChatGPT
Use this when the user wants the Git branch and changed files of an approved project. Read-only. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

localhost_get

ChatGPT
Use this when the user wants to check an approved service running on this computer: sends a GET or HEAD request to a localhost URL and returns the status and a bounded body. Read-only; other hosts are refused. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

localhost_send

ChatGPT
Use this when the user asks to send a POST, PUT, PATCH or DELETE request to an approved service running on this computer. Can change the service's data; other hosts are refused. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

operation_cancel

ChatGPT
Use this when the user asks to stop an operation owned by the authenticated grant. Requests cancellation but does not by itself prove that an already-running local process has terminated; it remains available when chargeable quota is exhausted.

operation_output

ChatGPT
Use this to retrieve bounded stdout and stderr for a child execution owned by the authenticated grant and active session. This is read-only, does not consume execution units, and requires the connected device to retain the output.

operation_status

ChatGPT
Use this when the user needs the current state of an operation already owned by the authenticated grant. This is read-only, does not dispatch work, and does not reserve or consume execution quota. Rejected/unknown children include existing recovery diagnostics when devices:read is granted; no repair or replay is performed.

project_identity

ChatGPT
Use this when you need the stable identity of a project folder (repository root and remote) before project_target_resolve or project_target_register. Read-only. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

project_list

ChatGPT
Account-owned project registry; missing entries mean unknown. No device scan or execution quota.

project_snapshot

ChatGPT
Use this when the user wants an overview of an approved project: a bounded summary of its files and Git state, and with startup also its project policy and task continuation. Read-only. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

project_target_list

ChatGPT
Explicit device/workspace/environment targets and verification metadata. Offline locations stay registered; no fallback or repository scan.

project_target_register

ChatGPT
Register one owner-selected repository location after a metered authenticated native identity read. Supply stable project/target UUIDs; existing metadata must match. No clone, scan, install or environment fallback.

project_target_resolve

ChatGPT
On-demand metered native identity read for one registered target. Returns resolved/unknown/offline/stale/mismatch; never switches device or creates metadata.

take_screenshot

ChatGPT
Use this when the user wants to see what is on the screen of an approved computer right now, for example to explain an error dialog or check a visual result. Returns one still JPEG of the primary display as an image. The image contains everything visible on that screen, including any open passwords, keys or private messages. Read-only; needs Full Access on that computer, and a locked screen is reported, not captured. Needs the sessionId from execution_session_open and a new operationId; each call is metered as one execution. A short result is returned inline within about two seconds; otherwise keep the returned IDs for operation_status and operation_output and do not resend the call.

usage_status

ChatGPT
Use this when the user asks how much managed execution allowance is reserved, consumed or still available for the authenticated tenant. This is read-only and does not reserve or consume quota. When unlimitedExecutions is true the plan has no monthly execution cap: report unlimited executions and do not read out limitUnits or availableUnits; computers (deviceLimit) and parallel slots (executionSlots) stay limited.

workspace_list

ChatGPT
Use this first, before execution_session_open, to find the user's paired Windows devices, whether each is online, and the workspaces approved on it. Read-only; returns the authenticated account identity and only its own enrolled devices, and does not reserve quota.

Capabilities

WritesInteractive

Example Prompts

Click any prompt to copy it.

Similar Apps