Skip to main content
Glama

Filesystem MCP Server

by rawr-ai

파일 시스템 MCP 서버

포괄적인 권한 제어와 향상된 기능을 갖춘 파일 시스템 작업을 위한 모델 컨텍스트 프로토콜(MCP)을 구현하는 Node.js 서버입니다.

특징

  • 세분화된 권한 제어(읽기 전용, 전체 액세스 또는 특정 작업 권한)
  • 허용된 디렉토리 내에서 보안 파일 작업
  • 파일 작업:
    • 파일 읽기/쓰기/수정
    • 디렉토리 생성/나열/삭제
    • 파일/디렉토리 이동
    • 이름이나 확장자로 파일 검색
    • 파일 메타데이터 가져오기
  • 디렉토리 작업:
    • 디렉토리 구조의 트리 뷰
    • 제외 패턴을 사용한 재귀 연산
  • 유틸리티 기능:
    • XML에서 JSON으로 변환
    • 한 번의 호출로 여러 파일 작업 수행
    • 패턴 매칭을 통한 고급 파일 편집
  • 보안 기능:
    • 심볼릭 링크 제어
    • 경로 검증
    • 샌드박스 운영

참고 : 서버는 args 통해 지정된 디렉토리 내에서만 작업을 허용하고 구성된 권한에 따라 작업을 수행합니다.

API

자원

  • file://system : 파일 시스템 작업 인터페이스

도구

  • 읽기_파일
    • 파일의 전체 내용 읽기
    • 입력: path (문자열)
    • UTF-8 인코딩으로 전체 파일 내용을 읽습니다.
  • 여러 파일 읽기
    • 여러 파일을 동시에 읽기
    • 입력: paths (문자열[])
    • 읽기에 실패해도 전체 작업이 중단되지는 않습니다.
  • 파일 생성
    • 콘텐츠가 있는 새 파일을 만듭니다.
    • 입력:
      • path (문자열): 파일 위치
      • content (문자열): 파일 내용
    • 파일이 이미 존재하면 실패합니다.
    • create 권한이 필요합니다
  • 수정_파일
    • 기존 파일을 새 콘텐츠로 수정
    • 입력:
      • path (문자열): 파일 위치
      • content (문자열): 새 파일 내용
    • 파일이 존재하지 않으면 실패합니다.
    • edit 권한이 필요합니다
  • 편집_파일
    • 패턴 매칭 및 서식을 사용하여 선택적 편집을 수행합니다.
    • 특징:
      • 줄 기반 및 다중 줄 콘텐츠 매칭
      • 들여쓰기 보존을 통한 공백 정규화
      • 올바른 위치 지정을 통한 여러 동시 편집
      • 들여쓰기 스타일 감지 및 보존
      • 컨텍스트가 포함된 Git 스타일 diff 출력
      • 드라이런 모드로 변경 사항 미리 보기
    • 입력:
      • path (문자열): 편집할 파일
      • edits (배열): 편집 작업 목록
        • oldText (문자열): 검색할 텍스트(정확히 일치)
        • newText (문자열): 바꿀 텍스트
      • dryRun (부울): 변경 사항을 적용하지 않고 미리 봅니다(기본값: false)
    • 드라이런에 대한 자세한 diff를 반환하고, 그렇지 않으면 변경 사항을 적용합니다.
    • edit 권한이 필요합니다
    • 모범 사례: 항상 dryRun을 먼저 사용하여 변경 사항을 미리 봅니다.
  • 디렉토리 생성
    • 새 디렉토리를 생성하거나 디렉토리가 존재하는지 확인하세요.
    • 입력: path (문자열)
    • 필요한 경우 상위 디렉토리를 생성합니다.
    • 디렉토리가 있으면 자동으로 성공합니다.
    • create 권한이 필요합니다
  • 목록_디렉토리
    • [FILE] 또는 [DIR] 접두사를 사용하여 디렉토리 내용을 나열합니다.
    • 입력: path (문자열)
    • 파일 및 디렉토리의 자세한 목록을 반환합니다.
  • 디렉토리 트리
    • 디렉토리 구조의 재귀적 트리 뷰 가져오기
    • 입력: path (문자열)
    • 파일 및 디렉토리가 포함된 JSON 구조를 반환합니다.
    • 각 항목에는 이름, 유형 및 자식(디렉토리용)이 포함됩니다.
  • 이동_파일
    • 파일 및 디렉토리 이동 또는 이름 변경
    • 입력:
      • source (문자열): 소스 경로
      • destination (문자열): 목적지 경로
    • 대상이 존재하면 실패합니다.
    • 파일과 디렉토리 모두에 적용 가능
    • move 허가가 필요합니다
  • 파일 삭제
    • 파일 삭제
    • 입력: path (문자열)
    • 파일이 존재하지 않으면 실패합니다.
    • delete 권한이 필요합니다
  • 디렉토리 삭제
    • 디렉토리 삭제
    • 입력:
      • path (문자열): 삭제할 디렉토리
      • recursive (boolean): 내용을 삭제할지 여부(기본값: false)
    • 디렉토리가 비어 있지 않고 recursive가 false이면 실패합니다.
    • delete 권한이 필요합니다
  • 검색_파일
    • 재귀적으로 파일/디렉토리 검색
    • 입력:
      • path (문자열): 시작 디렉토리
      • pattern (문자열): 패턴 검색
      • excludePatterns (string[]): 패턴 제외(glob 형식 지원)
    • 대소문자 구분 없이 일치
    • 일치 항목의 전체 경로를 반환합니다.
  • 확장자로 파일 찾기
    • 특정 확장자를 가진 모든 파일 찾기
    • 입력:
      • path (문자열): 시작 디렉토리
      • extension (문자열): 찾을 파일 확장자
      • excludePatterns (문자열[]): 선택적 제외 패턴
    • 대소문자 구분 없이 확장자 매칭
    • 일치하는 파일의 전체 경로를 반환합니다.
  • 파일_정보_받기
    • 자세한 파일/디렉토리 메타데이터 가져오기
    • 입력: path (문자열)
    • 보고:
      • 크기
      • 창조 시간
      • 수정된 시간
      • 접속 시간
      • 유형(파일/디렉토리)
      • 권한
  • 권한 얻기
    • 현재 서버 권한 가져오기
    • 입력이 필요하지 않습니다
    • 보고:
      • 권한 플래그(읽기 전용, 전체 액세스, 생성, 편집, 이동, 삭제)
      • 심볼릭 링크 팔로우 상태
      • 허용된 디렉토리 수
  • 허용된 디렉토리 목록
    • 서버가 액세스할 수 있는 모든 디렉토리를 나열합니다.
    • 입력이 필요하지 않습니다
    • 허용된 디렉토리 경로 배열을 반환합니다.
  • xml_to_json
    • XML 파일을 JSON 형식으로 변환
    • 입력:
      • xmlPath (문자열): 소스 XML 파일
      • jsonPath (문자열): 대상 JSON 파일
      • options (객체): 선택 설정
        • ignoreAttributes (부울): XML 속성 건너뛰기(기본값: false)
        • preserveOrder (부울): 속성 순서 유지(기본값: true)
        • format (boolean): JSON을 예쁘게 인쇄합니다(기본값: true)
        • indentSize (숫자): JSON 들여쓰기(기본값: 2)
    • XML 파일에 대한 read 권한이 필요합니다.
    • JSON 파일에 대한 create 또는 edit 권한이 필요합니다.
  • xml_to_json_string
    • XML 파일을 JSON 문자열로 변환
    • 입력:
      • xmlPath (문자열): 소스 XML 파일
      • options (객체): 선택 설정
        • ignoreAttributes (부울): XML 속성 건너뛰기(기본값: false)
        • preserveOrder (부울): 속성 순서 유지(기본값: true)
    • XML 파일에 대한 read 권한이 필요합니다.
    • JSON 문자열 표현을 반환합니다.
  • xml_쿼리
    • XPath 표현식을 사용하여 XML 파일 쿼리
    • 입력:
      • path (문자열): XML 파일 경로
      • query (문자열, 선택 사항): 실행할 XPath 쿼리
      • structureOnly (boolean, 선택 사항): 태그 구조만 반환합니다.
      • maxBytes (숫자, 선택 사항): 읽을 최대 바이트(기본값: 1MB)
      • includeAttributes (부울, 선택 사항): 속성 정보 포함(기본값: true)
    • XPath 예:
      • 모든 요소 가져오기: //tagname
      • 특정 속성을 가진 요소를 가져옵니다: //tagname[@attr="value"]
      • 텍스트 콘텐츠 가져오기: //tagname/text()
    • 대용량 XML 파일에 대한 메모리 효율성
    • 쿼리 결과 또는 구조의 JSON 표현을 반환합니다.
  • xml_구조
    • 전체 파일을 읽지 않고 XML 구조 분석
    • 입력:
      • path (문자열): XML 파일 경로
      • depth (숫자, 선택 사항): 분석 깊이(기본값: 2)
      • includeAttributes (부울, 선택 사항): 속성 분석 포함
      • maxBytes (숫자, 선택 사항): 읽을 최대 바이트(기본값: 1MB)
    • 요소, 속성 및 구조에 대한 통계 정보를 반환합니다.
    • 자세한 분석 전에 대용량 XML 파일을 이해하는 데 유용합니다.

권한 및 보안

서버는 세부적인 권한 제어를 통해 포괄적인 보안 모델을 구현합니다.

디렉토리 액세스 제어

  • 작업은 args 통해 시작 중에 지정된 디렉토리로 엄격하게 제한됩니다.
  • 모든 작업(심볼릭 링크 대상 포함)은 허용된 디렉토리 내에 있어야 합니다.
  • 경로 검증은 허용된 경로 외부에서 디렉토리 탐색이나 액세스가 발생하지 않도록 보장합니다.

권한 플래그

  • --readonly : 다른 모든 권한 플래그를 무시하고 읽기 전용 모드를 적용합니다.
  • --full-access : 모든 작업(생성, 편집, 이동, 삭제)을 활성화합니다.
  • 개별 권한 플래그(--full-access가 설정되지 않은 경우 명시적으로 활성화해야 함):
    • --allow-create : 새로운 파일 및 디렉토리 생성을 허용합니다.
    • --allow-edit : 기존 파일 수정을 허용합니다.
    • --allow-move : 파일 및 디렉토리 이동/이름 변경 허용
    • --allow-delete : 파일 및 디렉토리 삭제 허용

기본 동작 : 권한 플래그를 지정하지 않으면 서버는 읽기 전용 모드로 실행됩니다. 쓰기 작업을 허용하려면 --full-access 또는 특정 --allow-* 플래그를 사용해야 합니다.

심볼릭 링크 처리

  • 기본적으로 심볼릭 링크가 따라갑니다(링크와 대상 모두 허용된 디렉토리에 있어야 함)
  • --no-follow-symlinks : 심볼릭 링크 팔로우를 비활성화합니다(작업은 링크 자체에서 실행됩니다).

Claude Desktop 및 커서 사용

Claude Desktop의 경우 claude_desktop_config.json 또는 Cursor의 경우 .cursor/mcp.json 에 적절한 구성을 추가합니다.

커서 구성

.cursor/mcp.json 에서:

지엑스피1

Docker 구성

Docker를 사용한 Claude Desktop의 경우:

{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop", "--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro", "--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt", "mcp/filesystem", "--readonly", // For read-only access "--no-follow-symlinks", // Optional: prevent symlink following "/projects" ] } } }

NPX 구성

NPX를 사용하는 Claude Desktop 또는 Cursor의 경우:

{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "--full-access", // For full read/write access "/Users/username/Desktop", "/path/to/other/allowed/dir" ] } } }

권한 플래그 예

다양한 권한 조합으로 서버를 구성할 수 있습니다.

"args": [ "/path/to/mcp-filesystem/dist/index.js", "~/path/to/allowed/directory", "--readonly" // Read-only mode ]
"args": [ "/path/to/mcp-filesystem/dist/index.js", "~/path/to/allowed/directory", "--full-access", // Full read/write access "--no-follow-symlinks" // Don't follow symlinks ]
"args": [ "/path/to/mcp-filesystem/dist/index.js", "~/path/to/allowed/directory", "--allow-create", // Selective permissions "--allow-edit" // Only allow creation and editing ]

참고: --readonly 다른 모든 권한 플래그보다 우선하며, --full-access --readonly 지정되지 않은 경우 모든 작업을 활성화합니다.

여러 디렉터리 및 권한

여러 디렉토리를 지정하는 경우 권한 플래그는 모든 디렉토리에 전역적으로 적용됩니다.

"args": [ "/path/to/mcp-filesystem/dist/index.js", "~/first/directory", // Both directories have the same "~/second/directory", // permission settings (read-only) "--readonly" ]

다양한 디렉토리에 대해 서로 다른 권한 수준이 필요한 경우 여러 서버 구성을 만드세요.

{ "mcpServers": { "readonly-filesystem": { "command": "node", "args": [ "/path/to/mcp-filesystem/dist/index.js", "~/sensitive/directory", "--readonly" ] }, "writeable-filesystem": { "command": "node", "args": [ "/path/to/mcp-filesystem/dist/index.js", "~/sandbox/directory", "--full-access" ] } } }

명령줄 예제

  1. 읽기 전용 액세스:
npx -y @modelcontextprotocol/server-filesystem --readonly /path/to/dir
  1. 전체 접근:
npx -y @modelcontextprotocol/server-filesystem --full-access /path/to/dir
  1. 특정 권한:
npx -y @modelcontextprotocol/server-filesystem --allow-create --allow-edit /path/to/dir
  1. 다음에 심볼릭 링크가 없습니다.
npx -y @modelcontextprotocol/server-filesystem --full-access --no-follow-symlinks /path/to/dir

짓다

Docker 빌드:

docker build -t mcp/filesystem -f src/filesystem/Dockerfile .

특허

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

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

파일 시스템 작업을 위한 모델 컨텍스트 프로토콜(MCP)을 구현한 Node.js 서버로, 포괄적인 권한 제어를 통해 세분화된 액세스 제한을 통해 안전한 파일 및 디렉터리 조작이 가능합니다.

  1. 특징
    1. API
      1. 자원
      2. 도구
    2. 권한 및 보안
      1. 디렉토리 액세스 제어
      2. 권한 플래그
      3. 심볼릭 링크 처리
    3. Claude Desktop 및 커서 사용
      1. 커서 구성
      2. Docker 구성
      3. NPX 구성
      4. 권한 플래그 예
      5. 여러 디렉터리 및 권한
      6. 명령줄 예제
    4. 짓다
      1. 특허

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          Node.js server implementing Model Context Protocol (MCP) for filesystem operations.
          Last updated -
          43,064
          54,999
          JavaScript
          MIT License
          • Linux
          • Apple
        • -
          security
          F
          license
          -
          quality
          Node.js server implementing Model Context Protocol for filesystem operations, allowing Claude to read, write, and manipulate files and directories in specified locations.
          Last updated -
          43,064
          JavaScript
        • -
          security
          A
          license
          -
          quality
          Node.js server implementing Model Context Protocol for secure read-only filesystem operations, allowing Claude to read files, list directories, search files, and get file metadata within specified directories.
          Last updated -
          91
          JavaScript
          MIT License
        • -
          security
          A
          license
          -
          quality
          Node.js server implementing Model Context Protocol that enables seamless interaction between Windows and Linux distributions under WSL, allowing file operations like reading, writing, searching, and managing files across the WSL filesystem from Windows.
          Last updated -
          10
          2
          JavaScript
          MIT License

        View all related MCP servers

        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/rawr-ai/mcp-filesystem'

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