local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Provides controlled access to ShellJS commands for filesystem operations, including read-only functions (ls, grep, find) and optional read-write capabilities (mkdir, touch, cp, mv, rm, sed).
Built with TypeScript for strong typing, enabling integration with TypeScript applications through a programmatic API.
Implements schema-based validation for command inputs and responses, ensuring that all operations conform to defined security constraints.
MCP-ShellJS
Claude와 같은 LLM에게 안전하고 통제된 ShellJS 액세스를 제공하는 MCP 서버입니다.
개요
MCP-ShellJS는 모델 컨텍스트 프로토콜(MCP)과 ShellJS를 연결하여 AI 시스템이 안전한 샌드박스 내에서 셸 명령을 실행할 수 있도록 합니다. 여러 보안 계층을 통해 제어된 파일 시스템 액세스를 제공합니다.
특징
- 간소화된 보안 :
- 기본적으로 읽기 전용 모드
- 명령줄 플래그를 통한 선택적 읽기-쓰기 모드
- 명령줄 플래그를 통한 선택적 exec 권한
- Zod를 사용한 스키마 기반 검증
- ShellJS의 모든 기능(
ls
,grep
,sed
,find
등) - 강력한 타이핑을 사용한 TypeScript 구현
- LLM 통합을 위한 간단한 API
설치
지엑스피1
용법
명령줄
TypeScript 통합
보안 설계
MCP-ShellJS는 간단한 보안 모델을 구현합니다.
- 읽기 전용 모드 (기본값): 파일 시스템을 수정하지 않는 명령만 사용 가능합니다.
- 읽기-쓰기 모드 (
--enable-rw
): 파일을 생성, 수정 또는 삭제할 수 있는 명령을 활성화합니다. - 실행 모드 (
--enable-exec
): 임의의 셸 명령을 실행하기 위해 잠재적으로 위험한exec
명령을 활성화합니다.
이 서버는 stdio 전송으로만 실행되므로 데스크톱 LLM 애플리케이션과 통합하는 데 적합합니다.
왜 MCP-ShellJS를 사용해야 하나요?
AI 개발자를 위해 MCP-ShellJS는 통제된 위험과 함께 강력한 파일 시스템 기능을 제공합니다.
- 효율적인 탐색 :
grep
사용한 빠른 검색 및 코드베이스 전반에서find
- 텍스트 처리 : 파일을 완전히 로드하지 않고
sed
로 변환 - 안전한 자동화 : AI가 파일 구성 및 관리를 돕습니다.
- 강력한 파이프라인 : Unix 스타일 파이핑을 통한 체인 작업
자원
디렉토리 리소스
강력한 필터링 기능을 갖춘 디렉토리 목록을 제공합니다.
매개변수 | 설명 |
---|---|
include | 포함할 Glob 패턴(예: *.js,*.ts ) |
exclude | 제외할 Glob 패턴(예: node_modules,dist ) |
honor_gitignore | true 경우 .gitignore의 패턴과 일치하는 파일을 필터링합니다. |
recursive | true 인 경우 하위 디렉토리를 재귀적으로 포함합니다. |
예:
파일 리소스
특정 부분을 볼 수 있는 옵션과 함께 파일 내용을 제공합니다.
매개변수 | 설명 |
---|---|
lines | true 경우 출력에 줄 번호가 포함됩니다. |
start | 포함할 첫 번째 줄(1부터 인덱싱) |
end | 포함할 마지막 줄 |
highlight | 일치하는 텍스트를 강조하기 위한 Glob 패턴 |
예:
도구
MCP-ShellJS는 ShellJS 명령을 보안 위험 수준별로 그룹화된 도구로 노출합니다.
읽기 전용 도구
도구 | 설명 | 인수 |
---|---|---|
cat | 출력 파일 내용 | files : 문자열/배열, options : -n (숫자 줄)을 사용하는 객체 |
grep | 파일에서 패턴 검색 | regex , files , options : -v (반전), -l (파일 이름만), -i (대소문자 무시)를 포함한 객체 |
find | 재귀적으로 파일 찾기 | paths : 문자열/배열(기본 디렉터리를 포함한 파일 경로를 반환) |
ls | 디렉토리 내용 나열 | paths : 문자열/배열, options : -R (재귀적), -A (모두), -L (심볼릭 링크를 따름), -d (디렉토리만)를 포함한 객체 |
which | 명령 찾기 | command : 문자열(명령 경로를 반환) |
pwd | 작업 디렉토리 인쇄 | (인수 없음) |
test | 테스트 파일 조건 | expression : 문자열(예: -d path 디렉토리가 존재함, -f path 파일이 존재함) |
head | 첫 번째 줄 표시 | files : 문자열/배열, options : -n <num> 사용한 객체(표시할 줄) |
tail | 마지막 줄 표시 | files : 문자열/배열, options : -n <num> 사용한 객체(표시할 줄) |
sort | 줄 정렬 | files : 문자열/배열, options : -r (역방향), -n (숫자)이 있는 객체 |
uniq | 중복된 줄 필터링 | input : 문자열, output : 문자열, options : -i (대소문자 구분), -c (개수), -d (중복만) 기능이 있는 객체 |
읽기-쓰기 도구
도구 | 설명 | 인수 |
---|---|---|
mkdir | 디렉토리 생성 | dir : 문자열/배열, options : -p 사용한 객체(중간 디렉토리 생성) |
touch | 파일 생성/업데이트 | files : 문자열/배열, options : -c (생성 안 함), -a (액세스 시간만), -m (수정 시간만)이 있는 객체 |
cp | 파일/디렉토리 복사 | source : 문자열/배열, dest : 문자열, options : -R (재귀적), -n (클러버 없음), -f (강제)가 있는 객체 |
mv | 파일/디렉토리 이동 | source : 문자열/배열, dest : 문자열, options : -f (강제), -n (차단 안 함)이 있는 객체 |
rm | 파일/디렉토리 제거 | files : 문자열/배열, options : -r/-R (재귀), -f (강제)를 사용하는 객체 |
sed | 파일용 스트림 편집기 | search_regex : 정규식, replacement : 문자열, files : 문자열/배열, options : -i (제자리)를 사용한 객체 |
특별 허가 도구
도구 | 설명 | 인수 |
---|---|---|
exec | 명령 실행 | command : 문자열, options : async , silent , allowExec: true 구성이 필요한 객체 |
특허
This server cannot be installed
LLM에 대한 제어된 ShellJS 액세스를 제공하는 안전한 MCP 서버로, AI 시스템이 구성 가능한 보안 샌드박스 내에서 셸 명령을 안전하게 실행하고 파일 시스템과 상호 작용할 수 있도록 합니다.