링크된 문서
Golang Filesystem Server
Golang Filesystem Server
Golang Filesystem Server는 Go 언어로 구축된 Model Context Protocol(MCP) 서버로, 안전한 파일 시스템 작업을 위한 도구를 제공합니다. 이 서버는 구성 가능한 접근 제어 기능을 갖추고 있어 보안을 강화하면서도 유연한 파일 관리가 가능합니다.
특징
- Go 언어 기반: 빠른 성능과 효율적인 리소스 관리를 위해 Go 언어로 구축
- 구성 가능한 접근 제어: 특정 디렉토리나 파일에 대한 접근 권한을 세밀하게 제어
- 안전한 파일 작업: 파일 읽기, 쓰기, 수정, 삭제 등의 작업을 안전하게 수행
- 경량 설계: 최소한의 시스템 리소스를 사용하면서도 강력한 기능 제공
- 크로스 플랫폼: Windows, macOS, Linux 등 다양한 플랫폼에서 동작
API
도구
read_file
파일의 내용을 읽고 반환합니다.
- 입력:
- path: 읽을 파일의 경로
write_file
지정된 경로에 파일을 생성하거나 기존 파일을 덮어씁니다.
- 입력:
- path: 쓰기 작업을 수행할 파일 경로
- content: 파일에 쓸 내용
edit_file
기존 파일의 내용을 부분적으로 수정합니다.
- 입력:
- path: 수정할 파일의 경로
- edits: 변경 사항 목록 (이전 텍스트와 새 텍스트 쌍)
create_directory
새 디렉토리를 생성합니다.
- 입력:
- path: 생성할 디렉토리 경로
list_directory
지정된 디렉토리의 내용을 나열합니다.
- 입력:
- path: 탐색할 디렉토리 경로
directory_tree
디렉토리 구조를 트리 형태로 표현합니다.
- 입력:
- path: 트리 구조를 생성할 루트 디렉토리 경로
search_files
패턴과 일치하는 파일을 검색합니다.
- 입력:
- path: 검색을 시작할 디렉토리 경로
- pattern: 검색 패턴
- excludePatterns: 제외할 패턴 (선택 사항)
get_file_info
파일이나 디렉토리의 메타데이터 정보를 반환합니다.
- 입력:
- path: 정보를 가져올 파일 또는 디렉토리 경로
move_file
파일이나 디렉토리를 다른 위치로 이동하거나 이름을 변경합니다.
- 입력:
- source: 원본 파일/디렉토리 경로
- destination: 목적지 경로
사용 방법
설치
# npm 사용
npm install -g golang-mcp-filesystem
# 또는 Go 소스에서 직접 설치
go install github.com/user/golang-filesystem-server@latest
기본 구성
{
"mcpServers": {
"golang-filesystem": {
"command": "golang-mcp-filesystem",
"args": ["/path/to/allowed/directory"]
}
}
}
고급 구성
특정 디렉토리에 대한 접근 제한 및 권한 설정:
{
"mcpServers": {
"golang-filesystem": {
"command": "golang-mcp-filesystem",
"args": [
"--allow-read=/home/user/documents",
"--allow-write=/home/user/downloads",
"--deny=/home/user/private"
]
}
}
}
보안 고려 사항
Golang Filesystem Server는 안전한 파일 시스템 액세스를 제공하지만, 다음 보안 사항을 고려해야 합니다:
- 항상 최소 권한 원칙을 따라 필요한 디렉토리에만 접근 권한을 부여하세요.
- 중요한 시스템 파일이나 민감한 정보가 있는 디렉토리에 대한 접근을 명시적으로 거부하세요.
- 정기적으로 로그를 검토하여 비정상적인 액세스 패턴을 모니터링하세요.
연결된 구성 요소
- Docker - 컨테이너화된 환경에서 파일 시스템 서버 실행
- Git - 로컬 git 저장소와 상호작용
- Terminal-Control - 터미널 명령 실행 및 파일 시스템 작업