terminal-guardian-mcp은(는) 무엇을 하나요?
MCP(Model Context Protocol)를 사용하여 AI 어시스턴트에게 안전한 샌드박스 터미널 접근을 제공합니다.
개요
이 프로젝트는 AI 어시스턴트(예: Claude Code, Cursor, Codex)가 격리된 환경에서 터미널 명령을 안전하게 실행할 수 있도록 합니다. 명령어 실행, 파일 시스템 작업, 프로세스 관리를 지원합니다.
설치
npm install @licentious-underframe246/terminal-guardian-mcp
설정
다음 환경 변수를 설정하세요:
TERMINAL_GUARDIAN_ALLOWED_COMMANDS: 허용된 명령어 목록 (콤마로 구분)TERMINAL_GUARDIAN_WORKING_DIR: 작업 디렉터리 (기본값: 현재 디렉터리)TERMINAL_GUARDIAN_TIMEOUT: 명령어 타임아웃 (ms, 기본값: 30000)
사용법
MCP 클라이언트 설정 (예: Claude Code)
claude_code.json 파일에 다음을 추가하세요:
{
"mcpServers": {
"terminal-guardian": {
"command": "npx",
"args": ["-y", "@licentious-underframe246/terminal-guardian-mcp"],
"env": {
"TERMINAL_GUARDIAN_ALLOWED_COMMANDS": "ls,cat,pwd,echo,node,python",
"TERMINAL_GUARDIAN_WORKING_DIR": "/tmp/sandbox",
"TERMINAL_GUARDIAN_TIMEOUT": "60000"
}
}
}
}
제공 도구
| 도구 이름 | 설명 | 파라미터 |
|---|---|---|
execute_command | 샌드박스 환경에서 명령어 실행 | command (string): 실행할 명령어, args (string[]): 명령어 인수 |
list_files | 작업 디렉터리의 파일 목록 | path (string, optional): 특정 경로 |
read_file | 파일 내용 읽기 | path (string): 파일 경로 |
write_file | 파일 쓰기 | path (string): 파일 경로, content (string): 내용 |
예시
AI 어시스턴트에게 다음과 같이 요청할 수 있습니다:
"현재 디렉터리의 파일 목록을 보여줘" "package.json 파일의 내용을 읽어줘" "
node index.js명령을 실행해줘" "hello.txt라는 파일을 생성하고 'Hello, World!' 내용을 써줘"
보안
- 모든 명령어는 샌드박스 환경 내에서 실행됩니다.
TERMINAL_GUARDIAN_ALLOWED_COMMANDS환경 변수로 허용된 명령어를 제한할 수 있습니다.- 타임아웃이 설정되어 장시간 실행되는 명령어를 방지합니다.
- 네트워크 액세스는 기본적으로 차단됩니다 (별도 설정 필요).
라이선스
MIT