run_terminal_command
진단 및 시스템 · macOS · Windows
효과: 실행. 상태: 조건부 제공.
‘조건부 제공’은 도구가 버전, 플랫폼, 권한, 계정 또는 설정에 따라 달라질 수 있음을 뜻하며 모든 설치에서 활성화되었다는 의미는 아닙니다.
macOS
목적
사용자의 Mac에서 shell 명령을 실행하고 출력을 반환합니다. 항상 활성 상태이지만 LMCP가 읽기 전용 모드이면 비활성화됩니다. 되돌릴 수 없는 세 가지 명령은 거부됩니다. 디스크 포맷 또는 덮어쓰기(mkfs, newfs, fdisk, diskutil erase/partition, 디스크 장치와의 dd), 시스템 폴더·사용자 홈 폴더·데이터 폴더(Documents, Desktop, Downloads, Library, Pictures, Movies, Music) 중 하나·그 폴더 바로 아래 모든 항목의 재귀 삭제 또는 명령 텍스트만으로 대상이나 폴더가 확정되지 않는 삭제(변수, 명령 치환, 서브셸 안의 cd), 그리고 fork bomb입니다. 자격 증명 위치(키체인, ~/.ssh 개인 키, ~/.aws, ~/.config/gh, 브라우저 로그인 정보, 다른 사용자의 홈)를 지정하거나, 나중에 코드를 실행하는 파일을 쓰거나(LaunchAgents, shell 시작 파일, AI 클라이언트 폴더), 스크립트로 다른 앱을 제어하거나, 스크립트 또는 터미널 앱을 열거나, 시스템 서비스나 전원을 제어하거나, 다운로드한 스크립트를 shell로 파이프하거나, 장치 파일에 쓰거나, 시스템 경로의 권한을 재귀적으로 변경하는 명령은 거부되지 않지만, 미리보기와 결과에 그 동작을 알리는 경고가 포함됩니다. 확인하기 전에 사용자가 정확히 이 작업을 요청한 경우가 아니라면 이 명령이 무엇을 읽거나 변경하는지 알려 주세요. 경고는 명령의 텍스트만 읽으므로 경로를 숨긴 명령은 경고를 받지 못합니다. 명령은 Local MCP 자체만 보호하는 macOS 샌드박스에서 실행됩니다. 터미널은 Local MCP 자체 파일(설정과 토큰, 바이너리, 활동 로그, 메시징 및 웹 세션, 시작 항목)을 경로로 열거나 변경할 수 없고, 소켓과 통신할 수 없으며, 사용자가 Read 또는 Write 상자를 끈 계정의 파일을 열 수 없습니다. 어떤 설정으로도 이 제한은 해제되지 않습니다. 이 샌드박스 때문에 ps와 top 이외의 setuid 시스템 프로그램(sudo, su, crontab, at, traceroute)은 시작할 수 없으며, 명령 실행 전에 경고가 이를 알리고 `log` 명령도 실행되지 않습니다. 샌드박스 안에서 SwiftPM에는 --disable-sandbox가 필요합니다. 파괴적 작업이므로 먼저 명령을 미리보며 실제 실행에는 confirm:true를 전달하세요. 출력과 실행 시간에는 제한이 있습니다.
필수 입력
command
입력 이름은 도구가 요구하는 정확한 형태로 유지됩니다. 영문 정식 기술 정의는 아래 펼칠 수 있는 스키마에 있습니다.
권한 및 확인
스키마에 명시적 확인 매개변수가 있습니다. 미리보기를 검토하고 플랫폼 계약에 따라 실제 작업을 승인하세요.
- 이 플랫폼에서는 사용자가 승인한 앱, 계정 및 리소스만 사용하세요. 연결 및 권한 요구 사항은 이 도구의 플랫폼별 설명을 참조하세요. 이 카탈로그는 추가 OAuth 범위나 OS 권한이 있다고 주장하지 않습니다.
영문 정식 기술 스키마 — 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"
}문서 예시
run_terminal_command 문서 예시입니다. 이 예시를 실행하지 마세요. 표시된 인수는 가상 데이터 세트에 속합니다. 실제 호출 전에 실제 식별자를 확인하고 승인을 받으세요.
{
"command": "echo Hello from LMCP",
"confirm": false
}Windows
목적
사용자의 컴퓨터에서 shell 명령을 실행합니다. 일부 시스템 수준 명령(sudo/권한 상승, 시스템 또는 홈 경로의 재귀 삭제, 디스크 포맷, 종료/재부팅, 다운로드한 스크립트를 shell로 파이프, fork bomb)은 거부됩니다. 파괴적 작업이므로 먼저 명령을 미리보며 실제 실행에는 confirm:true를 전달하세요. 출력과 실행 시간에는 제한이 있습니다. Windows에서는 `cmd /c`를 통해 실행되고 그 외에는 `sh -c`를 통해 실행됩니다.
필수 입력
command
입력 이름은 도구가 요구하는 정확한 형태로 유지됩니다. 영문 정식 기술 정의는 아래 펼칠 수 있는 스키마에 있습니다.
권한 및 확인
스키마에 명시적 확인 매개변수가 있습니다. 미리보기를 검토하고 플랫폼 계약에 따라 실제 작업을 승인하세요.
- 이 플랫폼에서는 사용자가 승인한 앱, 계정 및 리소스만 사용하세요. 연결 및 권한 요구 사항은 이 도구의 플랫폼별 설명을 참조하세요. 이 카탈로그는 추가 OAuth 범위나 OS 권한이 있다고 주장하지 않습니다.
영문 정식 기술 스키마 — 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"
}문서 예시
run_terminal_command 문서 예시입니다. 이 예시를 실행하지 마세요. 표시된 인수는 가상 데이터 세트에 속합니다. 실제 호출 전에 실제 식별자를 확인하고 승인을 받으세요.
{
"command": "echo Hello from LMCP",
"confirm": false
}