MCP 구성방법/Filesystem MCP 서버

hjoon·2025년 7월 22일
0

MCP

목록 보기
1/1

3.1 MCP 구성방법

mcp는 새로운 데이터 소스를 연결할 때 맞춤 구현이 필요하다는 불편함을 해소하기 위해 나타났다.

mcp는 호스트, 클라이언트, 서버로 구성된다.

호스트, 클라이언트

엔트로픽에서 제공하는 코드를 조합하면 호스트, 클라이언트의 구현은 어렵지 않다 그러나 비개발자들이 활용할 인터페이스 (ex. claude desktop) 을 구축하기에 현실적 한계가 있다.

다만 외부 유출이 우려되는 민감 데이터를 다룰 경우 커스텀 호스트를 구축하는걸 권장한다.

서버

반면 서버는 특정 기능, 데이터 소스에만 집중하면 되므로 호스트, 클라이언트를 개발하는 것 보다 비교적 쉽다.

MCP는 모듈식 설계를 바탕을 두고 있기에 서버 중심의 접근 방식을 장려한다.

각 mcp 서버가 독립적으로 작동하고, 서로 유기적으로 연결되어 동작한다. 그러므로 전체 시스템을 모두 이해하지 않아도 특정 기능에만 집중 개발할 수 있다. (진입장벽이 낮아짐)

Node.js 설치

많은 MCP 서버가 node 환경에서 동작하기에 로컬 환경에서 기존 mcp 서버를 구동시키기 위해 node.js를 설치한다.

Claude Desktop 설치

해당 책에서 mcp 호스트로 claude desktop 을 사용한다. 그 이유는 다음과 같다

  • mcp를 완전히 지원하는 플랫폼
  • 사용자 친화적 인터페이스 (서버 설정이 편리하다)
  • claude는 높은 품질의 ai model → mcp 서버의 성능 극대화 가능
  • 로컬 실행이 용이

개발된 mcp 서버를 claude desktop이라는 호스트에 바로 연결하여 사용할 수 있다. (claude desktop 애플리케이션 설치 과정은 책 참고)

claude_desktop_config.json

claude_desktop_config.json 파일은

  • Claude Desktop 앱이 어떤 MCP (Model Context Protocol) 서버들과 연결할지 정의한다
  • 각 MCP 서버의 실행 방법과 접근 권한을 설정한다

로그

mcp에 입력하거나 요청한 정보를 기록하는 로그를 보는 방법도 있다. (책 참고)




3.2 활용하기 좋은 MCP와 설정 방법

이미 개발된 MCP 들 중 활용하기 좋은 것들에 대해 살펴보자

앤트로픽에서 제공하는 MCP 서버들은 MCP 깃허브에서 확인할 수 있다. 그중 아래 서버들을 집중적으로 살펴보자

  • Filesystem MCP
  • Google Maps 기반 MCP
  • Slack 연동 MCP
  • Sequential thinking MCP

Filesystem MCP

ai 시스템이 로컬 파일 시스템과 상호작용할 수 있게 해주는 MCP 서버다.

해당 서버는 Node.js 기반으로 구현되었다.

Filesystem MCP 존재 이전의 삶

  • ai에게 파일 내용을 복사해 전달하고 ai의 응답을 수동으로 파일에 적용해야 했다

Filesystem MCP 존재 이후의 삶

  • 요청을 수행하는 ai가 컴퓨터 파일 시스템에 접근하여 파일을 읽고 쓰고 디렉토리를 관리하고 파일 검색 등의 작업을 수행할 수 있게 되었다 → 효율성 극대화

Filesystem MCP 서버 설정방법

https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem

filesystem 서버는 Docker와 npx(node package execute)라는 두 가지 방식으로 활용할 수 있다.

  • 책에서는 별도 설치가 불필요하고 러닝커브가 적은 npx 방식을 채택

claude_desktop_config.json 파일에 다음과 같은 내용을 추가하여 Claude Desktop에 filesystem mcp 서버를 연결할 수 있다.

{
  "mcpServers": { // mcpServers : MCP 서버들의 설정을 담는 최상위 객체
    "filesystem": { // "filesystem": 파일시스템 접근을 위한 MCP 서버의 이름
      "command": "npx", // 서버를 실행할 명령어 (Node.js 패키지 실행 도구)
      "args": [ // npx 명령어에 전달될 인자들의 배열
        "-y", // npx가 패키지를 자동으로 설치하도록 하는 플래그 (yes to all prompts)
        "@modelcontextprotocol/server-filesystem", // 실행할 MCP 파일시스템 서버 패키지명
        "/Users/username/Desktop", // 첫 번째 허용된 디렉토리 경로
        "/Users/username/Desktop/mcp_test" // 두 번째 허용된 디렉토리 경로
      ]
    }
  }
}

이제 ai는 "/Users/username/Desktop", "/Users/username/Desktop/mcp_test"와 같은 경로에 접근할 수 있게 된다.

호스트를 재실행하면 아래와 같이 mcp 서버의 3가지 기능(리소스, 도구, 프롬프트) 중 도구 기능이 보여진다.


filesystem 메뉴가 보인다. 클릭해보자


mcp 서버에서 제공하는 도구 리스트가 나온다

Filesystem MCP 서버 활용

ai는 mcp 도구들을 사용하면서 요청을 수행한다.

mcp 서버를 활용하여 저장한 파일을 읽어 달라고 요청했다

이처럼 Filesystem MCP 서버를 통해 ai가 제한된 디렉토리 속 파일을 읽고 쓸수있게 된다.

더 나아가 보기

사내 시스템에서 filesystem 기반 서버를 사용하면 로그 분석에 용이 할 수도?

  • filesystem mcp 서버에 설정한 디렉토리에 회사 내부 로그 파일을 주기적으로 전송
  • 에러 로그 분석을 ai(private)를 활용하여 효율성 극대화?

추가적으로 어떤 활용방안이 있을까 논의해보자

0개의 댓글