본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 07. 14:49

의존성 없는 MCP 서버 구축하기

요약

Claude Code가 시스템 파일에 직접 접근할 수 있도록 Python 표준 라이브러리만 사용하여 의존성 없는 MCP 서버를 구축하는 방법을 소개합니다. SDK 없이 약 50줄의 코드로 파일 읽기 및 쓰기 기능을 구현하여 보안과 제어권을 확보할 수 있습니다.

핵심 포인트

  • Python 표준 라이브러리만 사용하여 의존성 없는 MCP 서버 구축 가능
  • Claude Code에 파일 읽기/쓰기 권한을 부여하여 워크플로 개선
  • SDK 설치 없이 JSON-RPC 기반으로 가볍고 보안성 높은 도구 구현
  • CI/CD 및 Docker 환경 등 패키지 설치가 제한된 곳에서 유용

Claude Code에 직접적인 파일 접근 권한을 부여하기 위해 50줄의 Python 코드로 의존성 없는 MCP 서버를 구축해 보세요. claude.json에 등록하여 SDK의 비대함을 건너뛸 수 있습니다.

문제점: Claude Code는 사용자의 파일을 볼 수 없습니다

Claude Code는 강력하지만 사각지대가 있습니다. 대화 중에 명시적으로 파일을 전달하거나 내장된 파일 도구를 사용하지 않는 한, 시스템의 임의의 파일을 직접 읽거나 쓸 수 없습니다. 대규모 코드베이스, 설정 파일 또는 디렉토리에 흩어져 있는 데이터 파일을 다루는 개발자에게 이는 마찰을 일으킵니다.

무거운 MCP SDK를 설치하거나 기존의 파일 서버를 사용할 수도 있지만, 때로는 가볍고, 감사 가능하며, 의존성이 없는 무언가를 원할 때가 있습니다.

변화된 점 — 의존성 없는 접근 방식

최근 한 개발자가 Python 표준 라이브러리만을 사용하여 Model Context Protocol (MCP) 서버를 구축하는 과정을 공개했습니다. pip install도, SDK도, 프레임워크도 필요하지 않습니다. 그 결과: Claude Code를 포함한 모든 MCP 호환 클라이언트에 read_filewrite_file 도구를 노출하는 약 50줄의 서버가 탄생했습니다.

2024년 11월 Anthropic이 도입한 Model Context Protocol (MCP)은 AI 모델이 외부 도구 및 데이터에 연결되는 방식을 표준화합니다. 이 서버는 stdin/stdout을 통해 JSON-RPC 기반 프로토콜을 직접 구현하며, 이는 Claude Code가 MCP 서버와 통신하는 방식과 정확히 일치합니다.

여러분에게 주는 의미

Claude Code가 /etc/에 있는 설정 파일이나 /data/에 있는 데이터 파일에 접근하지 못해 답답했던 적이 있다면, 이것이 바로 해결책입니다. 여러분은 다음과 같은 이점을 얻을 수 있습니다:

  • 의존성 없음 — 모든 Python 3.6+ 설치 환경에서 실행 가능
  • 완전한 제어 — 어떤 도구를 노출할지 정확히 직접 작성
  • 보안 — 파일 경로와 권한을 직접 제어
  • 제로 블로트 (Zero bloat) — SDK 업데이트나 버전 충돌 없음

이는 특히 CI/CD 파이프라인, Docker 컨테이너 또는 추가 패키지를 설치할 수 없거나 설치하고 싶지 않은 모든 환경에서 유용합니다.

지금 바로 시도해 보세요 — 자신만의 파일 서버 구축하기

1단계: 서버 코드

file_server.py라는 이름의 파일을 생성하세요:

#!/usr/bin/env python3
"""파일 읽기/쓰기를 위한 의존성 없는 (Zero-dependency) MCP 서버."""
import json
...

2단계: Claude Code에 등록하기

이 서버를 claude.json 설정에 추가하세요:

{
  "mcpServers": {
    "file-access": {
...

3단계: 사용하기

Claude Code를 재시작하세요. 이제 Claude Code에게 직접 파일을 읽거나 쓰도록 요청할 수 있습니다:

"/etc/hosts 파일을 읽고 어떤 항목이 있는지 알려줘"
"다음 설정값들로 /data/config.json에 새로운 설정 파일을 작성해줘..."

Claude Code는 귀하의 MCP 서버 도구(tools)를 자동으로 호출할 것입니다.

이것이 Claude Code 사용자에게 중요한 이유

MCP 생태계는 빠르게 성장하고 있습니다. Anthropic의 프로토콜은 현재 Claude Code, GitHub Copilot 등에서 사용되고 있습니다. 하지만 여러분이 필요한 서버를 다른 사람이 만들어줄 때까지 기다릴 필요는 없습니다. 약 50줄의 Python 코드만 있으면, 귀하의 워크플로(workflow)가 요구하는 정확한 기능을 Claude Code에 부여하는 커스텀 도구를 만들 수 있습니다.

이 방식은 확장 가능합니다. 데이터베이스 쿼리, API 호출, 또는 심지어 커스텀 비즈니스 로직을 위한 도구를 추가할 수도 있습니다. 각 도구는 단지 list_tools 응답에 등록된 함수일 뿐입니다.

보안 주의 사항

이 서버에는 경로 정제(path sanitization) 기능이 없습니다. 프로덕션(production) 환경에서는 특정 디렉토리나 파일 유형으로의 접근을 제한하는 체크 로직을 추가해야 합니다. 예를 들어:

def read_file(path):
    allowed_prefix = "/home/user/projects/"
    if not path.startswith(allowed_prefix):
...

요약

Claude Code를 확장하기 위해 무거운 SDK가 필요하지는 않습니다. 모델 컨텍스트 프로토콜 (Model Context Protocol, MCP)은 처음부터 직접 구현할 수 있을 만큼 충분히 간단합니다. 의존성 없이 정확히 필요한 도구만을 구축하여, 귀하의 워크플로를 가볍게 유지하세요.

출처: news.google.com

원문 게시지: gentic.news

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0