Skip to main content
Glama
kaznak

Shell Command MCP Server

by kaznak

셸 명령 MCP 서버

Docker 컨테이너 내에서 셸 명령을 실행할 수 있는 MCP(Model Context Protocol) 서버입니다. 호스트 Docker 데몬에 대한 접근 권한을 부여하지 않고도 명령을 실행할 수 있는 안전하고 격리된 작업 공간을 제공합니다.

특징

  • 간단한 MCP 인터페이스를 통해 셸 스크립트 실행

    • 동기 실행

    • 4가지 다른 모드를 갖춘 비동기 실행

      • 완료: 명령이 완료되면 알림

      • line: 출력의 각 줄에 알림

      • chunk: 출력의 각 청크에 대해 알림

      • 문자: 출력의 각 문자에 대해 알림

  • 포함된 Kubernetes 도구: kubectl, helm, kustomize, hemfile

  • 루트가 아닌 사용자가 있는 격리된 Docker 컨테이너 환경

    • 호스트-컨테이너 사용자 ID/그룹 ID 매핑이 구현되었습니다. 이를 통해 컨테이너는 호스트와 동일한 사용자로 실행될 수 있으며, 컨테이너에서 생성된 파일은 호스트에서 생성된 파일과 동일한 소유권과 권한을 갖습니다.

    • 지속성을 위해 호스트 디렉토리를 컨테이너 /home/mcp 디렉토리에 마운트합니다. 이는 AI가 작업하는 홈 디렉토리가 됩니다.

    • 호스트 디렉토리가 비어 있으면 초기 파일은 컨테이너의 백업에서 복사됩니다.

Related MCP server: Docker MCP Server

디자인 철학

이 MCP 서버는 AI에게 사람과 유사한 작업 공간을 제공합니다. 권한 부여는 MCP 기능이 아닌 컨테이너 격리 및 외부 권한 부여 제한에 의해 제한됩니다.

셸 스크립트 실행과 같은 보다 일반적인 도구를 제공하므로 도구 사용에 대한 전문적인 지식이 없어도 사용할 수 있습니다.

코드 감사를 용이하게 하기 위해 서버 구현은 가능한 한 단순하게 유지됩니다.

시작하기

필수 조건

  • 도커

Claude for Desktop 사용

Claude for Desktop 구성 파일에 다음 구성을 추가합니다.

맥OS:

지엑스피1

/Users/user-name/ClaudeWorks 컨테이너에서 사용할 수 있도록 하려는 디렉토리로 바꾸세요.

윈도우:

"shell-command": { "command": "docker", "args": [ "run", "--rm", "-i", "--mount", "type=bind,src=\\\\wsl.localhost\\Ubuntu\\home\\user-name\\MCPHome,dst=/home/mcp", "ghcr.io/kaznak/shell-command-mcp:latest" ] }

몇 가지 프롬프트를 제공하세요

마운트된 디렉토리의 파일을 작동합니다.

사용 가능한 MCP 도구

보안 고려 사항

  • MCP 서버는 컨테이너 내에서 루트가 아닌 사용자로 실행됩니다.

  • 컨테이너가 호스트 Docker 데몬에 액세스할 수 없습니다.

  • 사용자 작업 공간은 지속성을 위해 호스트에서 마운트됩니다.

특허

MIT

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/kaznak/shell-command-mcp'

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