Naar de inhoud
Alle hulpmiddelen

run_terminal_command

Diagnostiek en systeem · macOS · Windows

Effect: uitvoeren. Status: voorwaardelijk beschikbaar.

‘Voorwaardelijke beschikbaarheid’ betekent dat het hulpmiddel kan afhangen van versie, platform, machtigingen, account of configuratie. Het is niet in elke installatie actief.

macOS

Doel

Voert een shellopdracht uit op de Mac van de gebruiker en geeft de uitvoer terug. Altijd actief. Uitgeschakeld wanneer LMCP in de modus alleen-lezen staat. Drie soorten opdrachten worden geweigerd omdat ze niet ongedaan kunnen worden gemaakt: een schijf formatteren of overschrijven (mkfs, newfs, fdisk, diskutil erase/partition, dd van of naar een schijfapparaat), een recursieve verwijdering van een systeemmap, van de thuismap van de gebruiker of van een van zijn gegevensmappen (Documents, Desktop, Downloads, Library, Pictures, Movies, Music), van alles direct daarbinnen, of van een doel of map die de tekst van de opdracht niet vastlegt (een variabele, een opdrachtsubstitutie, een cd in een subshell), en een forkbom. Een opdracht die een locatie met inloggegevens noemt (sleutelhangers, privésleutels in ~/.ssh, ~/.aws, ~/.config/gh, browserlogins, de thuismap van een andere gebruiker), een bestand schrijft dat later code uitvoert (LaunchAgents, opstartbestanden van de shell, mappen van AI-clients), een andere app met een script aanstuurt, een script of een terminal-app opent, een systeemservice of de stroomvoorziening beheert, een gedownload script naar een shell pipet, naar een apparaatbestand schrijft of recursief rechten wijzigt op een systeempad wordt NIET geweigerd: het voorbeeld en het resultaat bevatten een waarschuwing die zegt wat het doet. Vertel de gebruiker vóór het bevestigen wat het zal lezen of wijzigen, tenzij ze precies dit vroegen. De waarschuwingen lezen alleen de tekst van de opdracht, dus een opdracht die een pad verbergt, krijgt er geen. Opdrachten draaien in een macOS-sandbox die alleen Local MCP zelf beschermt: de terminal kan de eigen bestanden van Local MCP niet op pad openen of wijzigen (instellingen en token, binaire bestanden, activiteitenlogboek, bericht- en websessies, opstartitem), kan niet met de socket praten en kan de bestanden van een account waarvan de gebruiker het vak Lezen of Schrijven heeft uitgezet niet openen. Geen enkele instelling opent dit weer. Door die sandbox kunnen setuid-systeemprogramma's behalve ps en top niet starten (sudo, su, crontab, at, traceroute): de waarschuwing zegt dat voordat de opdracht draait, en de opdracht `log` draait niet. In de sandbox heeft SwiftPM --disable-sandbox nodig. Destructief: het toont de opdracht eerst als voorbeeld — geef confirm:true mee om hem daadwerkelijk uit te voeren. Uitvoer en looptijd zijn begrensd.

Vereiste invoer

De namen blijven exact zoals het hulpmiddel ze vereist. De canonieke technische definities in het Engels staan in het uitklapbare schema hieronder.

Machtigingen en bevestiging

Het schema bevat een expliciete bevestigingsparameter. Controleer het voorbeeld en autoriseer de echte bewerking volgens het platformcontract.

Canoniek technisch schema in het Engels — macOS
{
  "properties": {
    "command": {
      "description": "The shell command to run (a single command line, executed with /bin/zsh -lc).",
      "type": "string"
    },
    "confirm": {
      "description": "Must be true to actually run. Without it, a preview of the command is returned.",
      "type": "boolean"
    },
    "timeout_seconds": {
      "description": "Max seconds to run before it is terminated (default 20, max 60).",
      "type": "integer"
    },
    "working_dir": {
      "description": "Optional absolute working directory. Defaults to the user's home directory.",
      "type": "string"
    }
  },
  "required": [
    "command"
  ],
  "type": "object"
}

Documentatievoorbeeld

Documentatievoorbeeld voor run_terminal_command. Voer dit voorbeeld niet uit. De getoonde argumenten verwijzen naar fictieve gegevens; zoek vóór een echte aanroep de werkelijke identificatoren op en vraag toestemming.

{
  "command": "echo Hello from LMCP",
  "confirm": false
}

Windows

Doel

Voert een shellopdracht uit op de computer van de gebruiker. Sommige opdrachten op systeemniveau (sudo/rechtenverhoging, recursieve verwijderingen van systeem- of thuispaden, schijven formatteren, afsluiten/herstarten, een gedownload script naar een shell pipen, forkbommen) worden geweigerd. Destructief: het toont de opdracht eerst als voorbeeld — geef confirm:true mee om hem daadwerkelijk uit te voeren. Uitvoer en looptijd zijn begrensd. Op Windows draait de opdracht via `cmd /c`; elders via `sh -c`.

Vereiste invoer

De namen blijven exact zoals het hulpmiddel ze vereist. De canonieke technische definities in het Engels staan in het uitklapbare schema hieronder.

Machtigingen en bevestiging

Het schema bevat een expliciete bevestigingsparameter. Controleer het voorbeeld en autoriseer de echte bewerking volgens het platformcontract.

Canoniek technisch schema in het Engels — Windows
{
  "properties": {
    "command": {
      "description": "The shell command to run (a single command line).",
      "type": "string"
    },
    "confirm": {
      "description": "Must be true to actually run. Without it, a preview of the command is returned.",
      "type": "boolean"
    },
    "timeout_seconds": {
      "description": "Max seconds to run before it is terminated (default 30, max 60).",
      "type": "integer"
    },
    "working_dir": {
      "description": "Optional absolute working directory. Defaults to the user's home directory.",
      "type": "string"
    }
  },
  "required": [
    "command"
  ],
  "type": "object"
}

Documentatievoorbeeld

Documentatievoorbeeld voor run_terminal_command. Voer dit voorbeeld niet uit. De getoonde argumenten verwijzen naar fictieve gegevens; zoek vóór een echte aanroep de werkelijke identificatoren op en vraag toestemming.

{
  "command": "echo Hello from LMCP",
  "confirm": false
}