MCP 셸 서버
셸 명령을 실행하기 위한 보안 서버로, MCP(Model Context Protocol)를 구현합니다. 이 서버는 stdin을 통한 입력을 지원하여 권한이 있는 셸 명령을 원격으로 실행할 수 있도록 합니다.
특징
보안 명령 실행 : 권한이 있는 명령만 실행할 수 있습니다.
표준 입력 지원 : stdin을 통해 명령에 입력을 전달합니다.
종합 출력 : stdout, stderr, 종료 코드 및 실행 시간을 반환합니다.
셸 연산자를 사용한 보안 : 셸 연산자(;, &&, ||, |) 뒤에 오는 명령을 검증합니다.
시간 초과 제어 : 명령에 대한 최대 실행 시간을 설정합니다.
Related MCP server: Shell MCP Server
Claude.app에서 MCP 클라이언트 구성
출판된 버전
지엑스피1
{
"mcpServers": {
"shell": {
"command": "uvx",
"args": [
"mcp-shell-server"
],
"env": {
"ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
}
},
}
}로컬 버전
설정
code ~/Library/Application\ Support/Claude/claude_desktop_config.json{
"mcpServers": {
"shell": {
"command": "uv",
"args": [
"--directory",
".",
"run",
"mcp-shell-server"
],
"env": {
"ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
}
},
}
}설치
pip install mcp-shell-server사용
서버 시작
ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
# Ou usando o alias
ALLOWED_COMMANDS="ls,cat,echo" uvx mcp-shell-serverALLOW_COMMANDS 환경 변수(또는 별칭 ALLOWED_COMMANDS )는 실행할 수 있는 명령을 지정합니다. 명령어는 쉼표로 구분할 수 있으며, 선택적으로 공백을 사용할 수 있습니다.
ALLOW_COMMANDS 또는 ALLOWED_COMMANDS에 유효한 형식:
ALLOW_COMMANDS="ls,cat,echo" # Formato básico
ALLOWED_COMMANDS="ls ,echo, cat" # Com espaços (usando alias)
ALLOW_COMMANDS="ls, cat , echo" # Múltiplos espaços요청 형식
# Execução básica de comando
{
"command": ["ls", "-l", "/tmp"]
}
# Comando com entrada stdin
{
"command": ["cat"],
"stdin": "Hello, World!"
}
# Comando com timeout
{
"command": ["long-running-process"],
"timeout": 30 # Tempo máximo de execução em segundos
}
# Comando com diretório de trabalho e timeout
{
"command": ["grep", "-r", "pattern"],
"directory": "/path/to/search",
"timeout": 60
}응답 형식
성공적인 응답:
{
"stdout": "saída do comando",
"stderr": "",
"status": 0,
"execution_time": 0.123
}오류 응답:
{
"error": "Comando não permitido: rm",
"status": 1,
"stdout": "",
"stderr": "Comando não permitido: rm",
"execution_time": 0
}보안
서버는 여러 가지 보안 조치를 구현합니다.
명령어 허용 목록 : 명시적으로 허용된 명령어만 실행할 수 있습니다.
Shell 연산자 검증 : Shell 연산자(;, &&, ||, |) 뒤에 오는 명령도 허용 목록에 대해 검증됩니다.
셸 주입 없음 : 셸 해석 없이 명령이 직접 실행됩니다.
개발
개발 환경 설정
저장소를 복제합니다
git clone https://github.com/yourusername/mcp-shell-server.git
cd mcp-shell-server테스트 요구 사항을 포함한 종속성 설치
pip install -e ".[test]"테스트 실행
pytestAPI 참조
요청 인수
필드 | 유형 | 필수적인 | 설명 |
명령 | 끈[] | 예 | 명령과 해당 인수를 배열 요소로 사용 |
표준입력 | 끈 | 아니요 | 명령에 전달될 입력 |
예배 규칙서 | 끈 | 아니요 | 명령을 실행하기 위한 작업 디렉토리 |
타임아웃 | 전체 | 아니요 | 최대 실행 시간(초) |
응답 필드
필드 | 유형 | 설명 |
표준 출력 | 끈 | 명령의 표준 출력 |
표준 에러 | 끈 | 명령 오류 출력 |
상태 | 전체 | 종료 상태 코드 |
실행 시간 | 뜨다 | 실행에 걸리는 시간(초) |
오류 | 끈 | 오류 메시지(실패한 경우에만 표시됨) |
요구 사항
Python 3.11 이상
mcp>=1.1.0
특허
MIT 라이선스 - 자세한 내용은 라이선스 파일을 참조하세요.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Appeared in Searches
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/diegofornalha/mcp-shell-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
