Skip to main content
Glama

Mac Shell MCP 서버

ZSH 셸을 사용하여 macOS 터미널 명령을 실행하기 위한 MCP(Model Context Protocol) 서버입니다. 이 서버는 내장된 허용 목록 및 승인 메커니즘을 통해 셸 명령을 안전하게 실행할 수 있는 방법을 제공합니다.

특징

  • MCP를 통해 macOS 터미널 명령 실행

  • 보안 수준에 따른 명령 허용 목록:

    • 안전 : 승인 없이 실행할 수 있는 명령

    • 승인 필요 : 실행 전 명시적 승인이 필요한 명령

    • 금지됨 : 명시적으로 차단된 명령

  • 일반적인 안전 명령이 포함된 사전 구성된 허용 목록

  • 잠재적으로 위험한 명령에 대한 승인 워크플로

  • 포괄적인 명령 관리 도구

Related MCP server: Super Shell MCP Server

설치

지엑스피1

용법

서버 시작

npm start

또는 직접:

node build/index.js

Roo Code 및 Claude Desktop에서 구성

Roo Code와 Claude Desktop은 모두 MCP 서버에 대해 유사한 구성 형식을 사용합니다. Mac Shell MCP 서버를 설정하는 방법은 다음과 같습니다.

로컬 설치 사용

Roo 코드 구성

~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json 에 있는 Roo Code MCP 설정 구성 파일에 다음을 추가합니다.

"mac-shell": { "command": "node", "args": [ "/path/to/mac-shell-mcp/build/index.js" ], "alwaysAllow": [], "disabled": false }
클로드 데스크톱 구성

~/Library/Application Support/Claude/claude_desktop_config.json 에 있는 Claude Desktop 구성 파일에 다음을 추가합니다.

"mac-shell": { "command": "node", "args": [ "/path/to/mac-shell-mcp/build/index.js" ], "alwaysAllow": false, "disabled": false }

/path/to/mac-shell-mcp 저장소를 복제한 실제 경로로 바꾸세요.

NPX 사용(권장)

터미널 창을 열어둘 필요 없이 더욱 편리하게 설정하려면 패키지를 npm에 게시하고 npx와 함께 사용할 수 있습니다.

npm에 게시하기
  1. package.json을 귀하의 세부 정보로 업데이트하세요.

  2. npm에 게시:

    npm publish
Roo 코드 구성
"mac-shell": { "command": "npx", "args": [ "-y", "mac-shell-mcp" ], "alwaysAllow": [], "disabled": false }
클로드 데스크톱 구성
"mac-shell": { "command": "npx", "args": [ "-y", "mac-shell-mcp" ], "alwaysAllow": false, "disabled": false }

이 접근 방식을 사용하면 별도의 터미널 창이나 수동 개입 없이 MCP 클라이언트가 MCP 서버를 자동으로 시작할 수 있습니다.

메모 :

  • Roo 코드의 경우: 보안상의 이유로 alwaysAllow 빈 배열 [] 로 설정하는 것이 좋습니다. 명령을 실행하기 전에 승인을 요청하기 때문입니다. 특정 명령을 승인 없이 허용하려면 배열에 해당 명령 이름을 추가할 수 있습니다. 예: "alwaysAllow": ["execute_command", "get_whitelist"] .

  • Claude Desktop의 경우: 보안상의 이유로 alwaysAllowfalse 로 설정하는 것이 좋습니다. Claude Desktop은 배열 대신 부울 값을 사용하는데, false 모든 명령에 승인이 필요함을 의미하고, true 모든 명령이 확인 없이 허용됨을 의미합니다.

중요 : alwaysAllow 매개변수는 Mac Shell MCP 서버가 아닌 MCP 클라이언트(Roo Code 또는 Claude Desktop)에서 처리됩니다. 클라이언트가 서버로 요청을 보내기 전에 승인 절차를 처리하므로 서버는 두 형식 중 어떤 형식이든 정상적으로 작동합니다.

사용 가능한 도구

서버는 다음과 같은 MCP 도구를 제공합니다.

execute_command

macOS에서 셸 명령을 실행합니다.

{ "command": "ls", "args": ["-la"] }

get_whitelist

허용된 명령 목록을 가져옵니다.

{}

add_to_whitelist

허용 목록에 명령을 추가합니다.

{ "command": "python3", "securityLevel": "safe", "description": "Run Python 3 scripts" }

update_security_level

허용 목록에 있는 명령의 보안 수준을 업데이트합니다.

{ "command": "python3", "securityLevel": "requires_approval" }

remove_from_whitelist

허용 목록에서 명령을 제거합니다.

{ "command": "python3" }

get_pending_commands

승인 대기 중인 명령 목록을 가져옵니다.

{}

approve_command

보류 중인 명령을 승인합니다.

{ "commandId": "command-uuid-here" }

deny_command

보류 중인 명령을 거부합니다.

{ "commandId": "command-uuid-here", "reason": "This command is potentially dangerous" }

기본적으로 허용된 명령

안전 명령(승인 필요 없음)

  • ls - 디렉토리 내용 나열

  • pwd - 작업 디렉토리 인쇄

  • echo - 표준 출력에 텍스트 인쇄

  • cat - 파일 연결 및 인쇄

  • grep - 파일에서 패턴 검색

  • find - 디렉토리 계층 구조에서 파일 찾기

  • cd - 디렉토리 변경

  • head - 파일의 첫 번째 부분 출력

  • tail - 파일의 마지막 부분 출력

  • wc - 줄 바꿈, 단어, 바이트 수를 출력합니다.

승인이 필요한 명령

  • mv - 파일 이동(이름 바꾸기)

  • cp - 파일 및 디렉토리 복사

  • mkdir - 디렉토리 생성

  • touch - 파일 타임스탬프를 변경하거나 빈 파일을 만듭니다.

  • chmod - 파일 모드 비트 변경

  • chown - 파일 소유자 및 그룹 변경

금지된 명령

  • rm - 파일 또는 디렉토리 제거

  • sudo - 다른 사용자로 명령 실행

보안 고려 사항

  • 모든 명령은 MCP 서버를 실행하는 사용자의 권한으로 실행됩니다.

  • 승인이 필요한 명령은 명시적으로 승인될 때까지 대기열에 보관됩니다.

  • 금지된 명령은 실행되지 않습니다.

  • 서버는 쉘 주입을 방지하기 위해 exec 대신 Node.js의 execFile 사용합니다.

  • 인수는 지정된 경우 허용된 패턴에 대해 검증됩니다.

화이트리스트 확장

add_to_whitelist 도구를 사용하여 허용 목록을 확장할 수 있습니다. 예:

{ "command": "npm", "securityLevel": "requires_approval", "description": "Node.js package manager" }

npm 패키지로 사용

Brave Search와 같은 다른 MCP 서버와 마찬가지로 npx 와 함께 Mac Shell MCP 서버를 사용하려면 npm에 게시하거나 GitHub에서 직접 사용할 수 있습니다.

npx로 구성

MCP 설정 구성에 다음을 추가하세요.

루 코드

"mac-shell": { "command": "npx", "args": [ "-y", "github:cfdude/mac-shell-mcp" ], "alwaysAllow": [], "disabled": false }

클로드 데스크탑

"mac-shell": { "command": "npx", "args": [ "-y", "github:cfdude/mac-shell-mcp" ], "alwaysAllow": false, "disabled": false }

이렇게 하면 수동 복제 및 빌드 프로세스가 필요 없이 서버가 자동으로 다운로드되어 실행됩니다.

npm에 게시하기

npm에 자신의 버전을 게시하려면 다음을 수행합니다.

  1. package.json을 귀하의 세부 정보로 업데이트하세요

  2. package.json에 "bin" 필드를 추가합니다.

    "bin": { "mac-shell-mcp": "./build/index.js" }
  3. npm에 게시:

    npm publish

그런 다음 MCP 구성에서 사용할 수 있습니다.

루 코드

"mac-shell": { "command": "npx", "args": [ "-y", "mac-shell-mcp" ], "alwaysAllow": [], "disabled": false }

클로드 데스크탑

"mac-shell": { "command": "npx", "args": [ "-y", "mac-shell-mcp" ], "alwaysAllow": false, "disabled": false }

특허

이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 약관에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cfdude/mac-shell-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server