AI Sparkup

복잡한 AI 세상을 읽는 힘 ⚡

Claude Desktop Extensions: 클릭 한 번으로 끝나는 MCP 서버 설치법

2024년 11월 Anthropic이 MCP(Model Context Protocol)를 발표했을 때, 개발자들은 Claude가 로컬 파일 시스템부터 데이터베이스까지 다양한 시스템에 접근할 수 있게 하는 놀라운 서버들을 만들어냈습니다. 하지만 한 가지 큰 문제가 있었습니다. 바로 설치가 너무 복잡했다는 것입니다.

MCP는 AI 애플리케이션을 위한 USB-C 포트와 같은 역할을 합니다

일반 사용자들은 Node.js를 설치하고, 복잡한 설정 파일을 수동으로 편집하고, 의존성 충돌을 해결해야 했습니다. 이런 복잡성 때문에 강력한 MCP 서버들이 개발자들만의 전유물로 남아있었죠.

2025년 6월, Anthropic은 이 문제를 해결하는 Desktop Extensions를 발표했습니다. 이제 MCP 서버 설치가 정말로 “클릭 한 번”으로 끝나는 시대가 왔습니다.

MCP 서버의 잠재력, 그리고 접근성의 벽

MCP가 가져다준 혁신

MCP(Model Context Protocol)는 AI 어시스턴트와 실제 데이터가 존재하는 시스템들을 연결하는 오픈 표준입니다. 간단히 말해, Claude가 여러분의 컴퓨터 안에 있는 파일을 읽고, 데이터베이스에 쿼리를 날리고, 개발 도구와 상호작용할 수 있게 해주는 다리 역할을 합니다.

MCP 서버들이 제공하는 기능들을 살펴보면:

  • 파일 시스템 접근: 로컬 파일 읽기/쓰기, 디렉터리 탐색
  • 데이터베이스 연동: PostgreSQL, MySQL, SQLite 등과 직접 통신
  • 개발 도구 통합: Git, Docker, IDE와의 연동
  • API 연결: Slack, GitHub, Notion 등 외부 서비스와의 연동
  • 시스템 모니터링: 서버 상태, 로그 분석 등

설치의 복잡성이 만든 진입 장벽

하지만 이런 강력한 기능들을 사용하려면 상당한 기술적 허들을 넘어야 했습니다:

개발자 도구 설치: Node.js, Python, 또는 다른 런타임 환경을 먼저 설치해야 했습니다.

수동 설정 파일 편집: 각 서버마다 claude_desktop_config.json 파일을 직접 편집해야 했습니다.

{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["/path/to/filesystem-server/index.js"],
      "env": {
        "ALLOWED_DIRECTORIES": "/Users/username/Documents"
      }
    }
  }
}

의존성 관리: 패키지 충돌이나 버전 불일치 문제를 직접 해결해야 했습니다.

업데이트의 복잡성: 새 버전이 나올 때마다 수동으로 재설치해야 했습니다.

이런 복잡성 때문에 MCP 서버는 강력한 기능에도 불구하고 일반 사용자들에게는 접근하기 어려운 기술로 남아있었습니다.

Desktop Extensions: 혁신적인 해결책

클릭 한 번으로 끝나는 설치

Desktop Extensions는 .dxt 확장자를 가진 파일로, 전체 MCP 서버와 모든 의존성을 하나의 패키지로 묶어놓은 것입니다. 설치 과정이 얼마나 간단해졌는지 비교해보겠습니다:

기존 방식:

# 먼저 Node.js 설치
npm install -g @example/mcp-server

# 설정 파일 수동 편집
vi ~/.claude/claude_desktop_config.json

# Claude Desktop 재시작
# 작동하길 기대하며 기도...

새로운 방식:

  1. .dxt 파일 다운로드
  2. 더블클릭으로 Claude Desktop에서 열기
  3. “설치” 버튼 클릭

끝입니다. 터미널도, 설정 파일도, 의존성 충돌도 없습니다.

기술적 아키텍처: 어떻게 가능한가?

Desktop Extension은 본질적으로 특별한 구조를 가진 ZIP 아카이브입니다:

extension.dxt (ZIP 파일)
├── manifest.json         # 확장 프로그램 메타데이터 및 설정
├── server/               # MCP 서버 구현
│   └── index.js          # 메인 진입점
├── node_modules/         # 번들된 의존성
├── package.json          # NPM 패키지 정의
└── icon.png              # 선택사항: 확장 프로그램 아이콘

핵심은 manifest.json 파일입니다. 이 파일은 Claude Desktop이 확장 프로그램을 이해하고 실행하는 데 필요한 모든 정보를 담고 있습니다.

간단한 manifest.json 예시

가장 기본적인 manifest.json은 다음과 같습니다:

{
  "dxt_version": "0.1",
  "name": "my-extension",
  "version": "1.0.0",
  "description": "간단한 MCP 확장 프로그램",
  "author": {
    "name": "확장 프로그램 작성자"
  },
  "server": {
    "type": "node",
    "entry_point": "server/index.js",
    "mcp_config": {
      "command": "node",
      "args": ["${__dirname}/server/index.js"]
    }
  }
}

고급 기능: 사용자 설정과 보안

Desktop Extensions의 진정한 혁신은 사용자 설정을 우아하고 안전하게 처리하는 방식에 있습니다. 기존 MCP 서버는 사용자가 직접 설정 파일을 편집해야 했지만, Desktop Extensions는 완전히 다른 접근법을 제공합니다.

사용자 설정 정의하기

확장 프로그램 개발자는 manifest.json에서 필요한 설정들을 선언적으로 정의할 수 있습니다:

{
  "user_config": {
    "api_key": {
      "type": "string",
      "title": "API 키",
      "description": "인증을 위한 API 키",
      "sensitive": true,
      "required": true
    },
    "allowed_directories": {
      "type": "directory",
      "title": "허용된 디렉터리",
      "description": "서버가 접근할 수 있는 디렉터리",
      "multiple": true,
      "required": true,
      "default": ["${HOME}/Documents"]
    },
    "max_file_size": {
      "type": "number",
      "title": "최대 파일 크기 (MB)",
      "description": "처리할 최대 파일 크기",
      "default": 10,
      "min": 1,
      "max": 100
    }
  }
}

다양한 설정 타입 지원

Desktop Extensions는 다양한 유형의 사용자 입력을 지원합니다:

  • string: 텍스트 입력 (API 키, 사용자명 등)
  • number: 숫자 입력 (최소/최대값 제한 가능)
  • directory: 디렉터리 선택 (브라우저를 통한 GUI 선택)
  • boolean: 체크박스 형태의 참/거짓 값
  • multiple: 배열 형태의 다중 값 입력

보안 처리 메커니즘

민감한 데이터 보호: "sensitive": true로 표시된 설정은 운영체제의 키체인(macOS Keychain, Windows Credential Manager)에 암호화되어 저장됩니다. 이는 평문으로 설정 파일에 저장되는 기존 방식보다 훨씬 안전합니다.

자동 검증: 확장 프로그램이 활성화되기 전에 Claude Desktop이 모든 필수 설정이 제공되었는지, 그리고 값이 정의된 제약 조건을 만족하는지 자동으로 검증합니다.

안전한 전달: 사용자가 입력한 설정은 환경 변수나 명령행 인수를 통해 MCP 서버에 안전하게 전달됩니다:

{
  "server": {
    "mcp_config": {
      "command": "node",
      "args": ["${__dirname}/server/index.js"],
      "env": {
        "API_KEY": "${user_config.api_key}",
        "ALLOWED_DIRS": "${user_config.allowed_directories}",
        "MAX_SIZE": "${user_config.max_file_size}"
      }
    }
  }
}

템플릿 리터럴과 동적 값

Desktop Extensions는 강력한 템플릿 시스템을 제공합니다:

  • ${user_config.key}: 사용자가 입력한 설정값
  • ${__dirname}: 확장 프로그램이 설치된 디렉터리의 전체 경로
  • ${HOME}, ${TEMP}, ${TMPDIR}: 시스템 환경 변수
  • 플랫폼별 값: 운영체제에 따라 다른 값 사용 가능

이런 동적 값들은 확장 프로그램이 실행될 때 실제 값으로 자동 치환됩니다.

실제 활용법: 단계별 가이드

일반 사용자를 위한 설치 방법

  1. Claude Desktop 최신 버전 설치: 먼저 Claude Desktop이 최신 버전인지 확인하세요.
  2. 확장 프로그램 찾기: Claude Desktop 설정에서 “Extensions” 섹션을 찾거나, 신뢰할 수 있는 소스에서 .dxt 파일을 다운로드하세요.
  3. 설치: .dxt 파일을 더블클릭하거나 Claude Desktop 설정 창에 드래그하세요.
  4. 설정: 확장 프로그램이 요구하는 설정(API 키, 허용 디렉터리 등)을 입력하세요.
  5. 활성화: “설치” 버튼을 클릭하면 즉시 사용 가능합니다.

개발자를 위한 확장 프로그램 개발

기존 MCP 서버를 Desktop Extension으로 패키징하는 것은 놀랍도록 간단합니다:

1단계: 도구 설치

npm install -g @anthropic-ai/dxt

2단계: 매니페스트 생성

dxt init

이 대화형 도구는 서버에 대한 질문을 하고 완전한 manifest.json을 생성합니다.

3단계: 패키징

dxt pack

이 명령어는 매니페스트를 검증하고 .dxt 아카이브를 생성합니다.

4단계: 로컬 테스트

생성된 .dxt 파일을 Claude Desktop 설정 창에 드래그해서 테스트하세요.

크로스 플랫폼 지원

Desktop Extensions는 다양한 운영체제에 맞춰 동작을 조정할 수 있습니다:

{
  "server": {
    "type": "node",
    "entry_point": "server/index.js",
    "mcp_config": {
      "command": "node",
      "args": ["${__dirname}/server/index.js"],
      "platforms": {
        "win32": {
          "command": "node.exe",
          "env": {
            "TEMP_DIR": "${TEMP}"
          }
        },
        "darwin": {
          "env": {
            "TEMP_DIR": "${TMPDIR}"
          }
        }
      }
    }
  }
}

확장 프로그램 디렉터리와 생태계

큐레이션된 확장 프로그램 스토어

Anthropic은 Claude Desktop에 내장된 큐레이션된 확장 프로그램 디렉터리를 제공합니다. 사용자들은 GitHub에서 코드를 검색하고 검증할 필요 없이 브라우징하고 검색해서 한 번의 클릭으로 설치할 수 있습니다.

확장 프로그램 제출 과정

자신만의 확장 프로그램을 공유하고 싶다면:

  1. 가이드라인 준수: 제출 양식에 있는 가이드라인을 따르세요
  2. 크로스 플랫폼 테스트: Windows와 macOS 모두에서 테스트하세요
  3. 제출: 공식 제출 양식을 통해 제출하세요
  4. 검토: Anthropic 팀이 품질과 보안을 검토합니다

오픈소스 생태계 구축

개방형 표준의 힘

Anthropic은 Desktop Extension 사양, 도구체인, 그리고 Claude에서 사용하는 핵심 기능들을 오픈소스로 공개했습니다. 이는 단순히 Claude만을 위한 것이 아니라, 전체 AI 데스크톱 애플리케이션 생태계를 위한 것입니다.

오픈소스로 제공되는 것들:

  • 완전한 DXT 사양
  • 패키징 및 검증 도구
  • 참조 구현 코드
  • TypeScript 타입 및 스키마

생태계 참여자들에게 주는 이점

MCP 서버 개발자에게는 “한 번 패키징하면 어디서든 실행” 가능한 환경을 제공합니다.

앱 개발자에게는 처음부터 확장 프로그램 지원을 구축할 필요 없이 기존 도구를 활용할 수 있게 해줍니다.

사용자에게는 모든 MCP 지원 애플리케이션에서 일관된 경험을 제공합니다.

보안과 엔터프라이즈 고려사항

개인 사용자를 위한 보안 기능

  • 민감한 데이터는 OS 키체인에 저장: API 키 같은 민감한 정보는 안전하게 보관됩니다
  • 자동 업데이트: 보안 패치가 자동으로 적용됩니다
  • 설치된 확장 프로그램 감사: 어떤 확장 프로그램이 설치되어 있는지 쉽게 확인할 수 있습니다

엔터프라이즈 환경 지원

기업 환경에서는 더 강력한 관리 기능이 필요합니다:

  • Group Policy (Windows) 및 MDM (macOS) 지원
  • 승인된 확장 프로그램 사전 설치
  • 특정 확장 프로그램이나 퍼블리셔 블랙리스트
  • 확장 프로그램 디렉터리 완전 비활성화
  • 프라이빗 확장 프로그램 디렉터리 배포

실제 사례: 게임보이 에뮬레이터 MCP

Anthropic 내부적으로는 Desktop Extensions를 활용해 매우 실험적인 MCP 서버들을 공유하고 있습니다. 흥미로운 예시 중 하나는 게임보이 에뮬레이터와 Claude를 연결한 확장 프로그램입니다.

Claude playing Pokemon

이 확장 프로그램은 인기 있는 PyBoy 게임보이 에뮬레이터를 열고 Claude가 직접 게임을 조작할 수 있게 해줍니다. 이는 AI 모델의 능력을 사용자가 이미 가지고 있는 로컬 도구와 연결하는 무수한 가능성을 보여주는 예시입니다.

Claude Code와 함께 확장 프로그램 개발하기

Anthropic은 Claude Code를 사용해 확장 프로그램을 개발하는 것도 추천합니다. 다음과 같은 프롬프트를 사용하면 Claude가 완전한 확장 프로그램을 만들어줄 수 있습니다:

Desktop Extension(DXT)으로 이것을 만들고 싶습니다. 다음 단계를 따라주세요:

1. 사양을 철저히 읽어보세요:
   - https://github.com/anthropics/dxt/blob/main/README.md
   - https://github.com/anthropics/dxt/blob/main/MANIFEST.md
   - https://github.com/anthropics/dxt/tree/main/examples

2. 적절한 확장 프로그램 구조를 만들어주세요:
   - MANIFEST.md 사양을 따르는 유효한 manifest.json 생성
   - 적절한 도구 정의를 가진 MCP 서버 구현
   - 에러 핸들링과 타임아웃 관리 포함

3. 모범 개발 사례를 따라주세요:
   - stdio 전송을 통한 적절한 MCP 프로토콜 통신 구현
   - 명확한 스키마, 검증, 일관된 JSON 응답을 가진 도구 구조화
   - 로컬에서 실행된다는 점을 활용
   - 적절한 로깅과 디버깅 기능 추가

즉시 테스트할 수 있는 완전한 프로덕션 준비 코드를 생성해주세요.

AI 도구 접근성의 새로운 시대

Desktop Extensions는 사용자가 로컬 AI 도구와 상호작용하는 방식의 근본적인 변화를 나타냅니다. 설치 과정의 복잡성을 제거함으로써, 강력한 MCP 서버들을 개발자뿐만 아니라 모든 사람이 접근할 수 있게 만들었습니다.

이 혁신이 가져올 변화를 생각해보면:

  • 일반 사용자들이 복잡한 기술적 지식 없이도 AI의 확장된 능력을 활용할 수 있게 됩니다
  • 개발자들은 더 넓은 사용자층에게 자신의 MCP 서버를 배포할 수 있게 됩니다
  • 기업들은 안전하고 관리 가능한 방식으로 AI 도구를 조직 전체에 배포할 수 있게 됩니다

수천 개의 MCP 서버를 만들어낸 창의성이 이제 클릭 한 번으로 수백만 명의 사용자에게 도달할 수 있습니다. 이는 AI 생태계의 민주화를 의미하며, 누구나 AI의 강력한 기능을 자신의 일상 업무와 창의적 프로젝트에 통합할 수 있는 시대의 시작을 알립니다.

Desktop Extensions DXT 포맷과 manifest 구조에 대해 더 자세히 공부하고 싶으신 분들은 Anthropic에서 제공하는 공식 예시들을 참고하시기 바랍니다. 다양한 유형의 확장 프로그램 구현 사례와 상세한 설정 방법을 확인할 수 있습니다.


참고자료:

Comments