Claude Desktop에서 MCP 서버를 구축하는 방법 - 실용 가이드

CometAPI
AnnaNov 16, 2025
Claude Desktop에서 MCP 서버를 구축하는 방법 - 실용 가이드

Anthropic이 공개적으로 소개된 이후 모델 컨텍스트 프로토콜(MCP) on 2024 년 11 월 25 일MCP는 개념에서 실제 생태계로 빠르게 전환되었습니다. 개방형 사양과 여러 참조 서버가 사용 가능하고 커뮤니티 구현(메모리 서버, 파일 시스템 액세스, 웹 페처)이 GitHub 및 NPM에 있으며 MCP는 이미 다음과 같은 클라이언트에서 지원됩니다. 데스크톱용 클로드 및 타사 도구. 프로토콜은 진화해 왔으며(사양 및 서버 예시는 2025년까지 업데이트됨), 공급업체와 엔지니어는 더욱 안전하고 토큰 효율적인 통합을 위한 패턴을 발표하고 있습니다.

이 문서에서는 MCP 서버를 구축하고 연결하는 방법을 안내합니다. 클로드 데스크탑그리고 생산에 필요한 실용적/보안적/메모리 팁도 알려드립니다.

모델 컨텍스트 프로토콜(MCP)이란 무엇입니까?

간단한 영어 정의

모델 컨텍스트 프로토콜(MCP)은 개방형 표준화 프로토콜 이를 통해 LLM 호스트(모델을 실행하는 앱, 예: Claude Desktop)가 외부 서비스를 호출하여 노출하는 것이 간단해집니다. 자원 (파일, DB 행), 검색을 (모델이 호출할 수 있는 함수) 및 프롬프트 (모델이 사용할 수 있는 템플릿). N×M 통합(모든 모델을 모든 도구에)을 구현하는 대신, MCP는 일관된 클라이언트-서버 스키마와 런타임 계약을 제공하여 모든 MCP 인식 모델 호스트가 모든 MCP 호환 서버를 사용할 수 있도록 합니다. 따라서 개발자는 서비스를 한 번 빌드하면 모든 MCP 인식 모델이나 UI(예: Claude Desktop)에서 해당 서비스를 사용할 수 있습니다.

지금 MCP가 중요한 이유

Anthropic이 2024년 말 MCP를 오픈소스로 공개한 이후, 이 프로토콜은 도구 통합(Claude, VS Code 확장 프로그램 및 기타 에이전트 환경)을 위한 사실상의 상호 운용성 계층으로 빠르게 자리 잡았습니다. MCP는 중복 작업을 줄이고, 커넥터(Google Drive, GitHub, Slack 등) 개발 속도를 높이며, 어시스턴트에 영구 메모리 저장소를 연결하는 것을 더욱 쉽게 해줍니다.

MCP 아키텍처는 무엇이고 어떻게 작동하나요?

MCP는 높은 수준에서 세 가지 역할 그룹과 여러 가지 상호 작용 패턴을 정의합니다.

핵심 구성 요소: 클라이언트, 서버 및 레지스트리

  • MCP 클라이언트(호스트): 컨텍스트 데이터를 원하는 LLM 호스트 또는 애플리케이션(Claude Desktop, VS Code 에이전트 또는 웹 앱). 클라이언트는 하나 이상의 MCP 서버를 검색하여 연결합니다.
  • MCP 서버(리소스 제공자): MCP 스키마를 통해 리소스(파일, 메모리, 데이터베이스, 작업)를 제공하는 네트워크 서비스입니다. 서버는 기능을 선언하고 클라이언트가 호출할 수 있는 엔드포인트를 제공합니다.
  • 등록/발견: 클라이언트가 사용 가능한 MCP 서버를 검색하고, 기능을 나열하고, 권한이나 설치를 관리하는 데 도움이 되는 선택적 구성 요소 또는 구성 파일입니다(데스크톱 "확장 프로그램"은 이를 위한 UX 계층 중 하나입니다).

메시지 흐름 및 기능 협상

MCP 상호 작용은 일반적으로 다음 패턴을 따릅니다.

  1. 발견/등록: 클라이언트는 사용 가능한 서버(로컬, 네트워크 또는 큐레이트된 레지스트리)에 대해 알아봅니다.
  2. 기능 발표: 서버는 리소스, 메서드 및 권한 부여 요구 사항을 설명하는 매니페스트를 공유합니다.
  3. 요청/응답: 클라이언트는 구조화된 요청(예: "파일 X 읽기", "메모리에서 Y 검색" 또는 "이 파일로 PR 생성")을 발행하고 서버는 입력된 컨텍스트 데이터로 응답합니다.
  4. 작업 결과 및 스트리밍: 서버는 결과를 스트리밍하거나 장기 실행 작업 엔드포인트를 제공할 수 있습니다. 이 사양은 형식화된 리소스 설명자 및 응답에 대한 스키마를 정의합니다.

보안 모델 및 신뢰 경계

MCP는 LLM이 사용자 데이터를 처리하고 작업을 수행할 수 있도록 제어 표면을 의도적으로 표준화합니다. 이러한 권한에는 신중한 보안 제어가 필요합니다.

  • 명시적 사용자 동의 / 프롬프트 서버가 개인 데이터에 액세스하거나 권한이 있는 작업(예: 저장소에 쓰기)을 수행할 수 있는 경우 권장됩니다.
  • 최소 권한은 다음과 같이 나타납니다. 서버는 최소 범위를 선언해야 하고, 클라이언트는 필요한 기능만 요청해야 합니다.
  • 운송 및 인증: 민감한 통합에는 TLS, 토큰화된 자격 증명, 그리고 로컬 전용 엔드포인트를 사용하세요. 커뮤니티와 플랫폼 공급업체(예: Windows 분야의 Microsoft)는 위험을 줄이기 위해 레지스트리와 UI 어포던스를 실험하고 있습니다.

Claude를 MCP 서버와 통합하는 이유는 무엇인가요?

Claude를 MCP 서버와 통합하면 세 가지 실용적인 기능이 제공됩니다.

실시간, 실행 가능한 컨텍스트

Claude는 오래된 스냅샷을 프롬프트에 복사하여 삽입하는 대신, 쿼리 시점에 최신 컨텍스트(파일, 대화 기록, DB 행)를 요청할 수 있습니다. 즉, 대략적인 검색 횟수가 줄어들고 최신 출력이 생성됩니다. Anthropic의 데모에서는 Claude가 GitHub PR을 생성하거나 MCP를 통해 로컬 파일을 읽는 등의 작업을 수행하는 모습이 보입니다.

거대한 어댑터 하나가 아닌 작고 구성 가능한 도구

캘린더, 파일 시스템, 벡터 메모리 저장소용으로 각각 하나씩, 집중적인 MCP 서버를 작성하여 다양한 Claude 인스턴스나 클라이언트(데스크톱, IDE, 웹)에서 재사용할 수 있습니다. 이러한 모듈화는 맞춤형 통합보다 확장성이 뛰어납니다.

지속적이고 표준화된 기억

MCP는 대화 내역, 개인 선호도, 구조화된 사용자 상태를 인코딩하는 영구 저장소인 메모리 서비스를 지원합니다. MCP는 리소스 모델을 표준화하므로 여러 클라이언트가 동일한 메모리 서버를 재사용하고 앱 전체에서 일관된 사용자 컨텍스트를 유지할 수 있습니다. 이미 여러 커뮤니티 메모리 서비스와 확장 패턴이 존재합니다.

더 나은 UX 및 로컬 제어(Claude Desktop)

데스크톱 클라이언트에서 MCP는 로컬 서버가 사용자 파일 시스템에 직접 액세스할 수 있도록 허용(동의 필요)하여 클라우드 API 없이도 개인 정보 보호에 민감한 통합을 구현할 수 있도록 합니다. Anthropic의 데스크톱 확장 기능은 로컬 컴퓨터에서 MCP 서버의 설치 ​​및 검색을 간소화하는 좋은 예입니다.

MCP 서버를 만드는 방법

시작하기 전에 필요한 것

  1. 클로드 데스크탑: OS에 맞는 최신 Claude Desktop 버전을 설치하고 설정에서 MCP/확장 기능 지원이 활성화되어 있는지 확인하세요. 일부 기능에는 유료 플랜(Claude Pro 또는 동급)이 필요할 수 있습니다.
  2. 현상기: Node.js(16/18 이상 권장) 또는 Python 3.10 이상, 그리고 테스트를 위해 로컬 서버를 인터넷에 노출하려면 ngrok 또는 로컬 터널링 솔루션이 필요합니다. 운영 환경에서는 TLS를 사용하세요.
  3. MCP 프로젝트는 주요 문서와 GitHub 저장소에서 SDK와 템플릿을 제공합니다. docs/repo의 공식 지침을 통해 Python 또는 Node SDK를 설치하세요.

옵션 A - 기존(예시) MCP 서버 설치

Anthropic은 메모리, 파일 시스템, 도구를 포함한 예제 서버를 제공합니다.

참조 서버를 복제합니다.

git clone https://github.com/modelcontextprotocol/servers.git
cd servers

내부에는 다음과 같은 폴더가 있습니다.

filesystem/
fetch/
memory/
weather/

예제 서버를 설치하려면:

cd memory
npm install
npm run dev

이렇게 하면 MCP 서버가 시작됩니다. 일반적으로 위치는 다음과 같습니다.

http://localhost:3000

매니페스트 엔드포인트가 작동하는지 확인하고 도구를 호출하면 올바르게 입력된 JSON이 반환되는지 확인합니다.

옵션 B - 자체 MCP 서버 생성(학습을 위해 권장)

1) 프로젝트 폴더 생성

mkdir my-mcp-server
cd my-mcp-server
npm init -y

2) MCP 서버 SDK 설치

npm install @modelcontextprotocol/server

3) 기본 서버 파일 생성

만들기 server.js:

touch server.js

최소 MCP 서버 구현을 붙여넣습니다.

import { createServer } from "@modelcontextprotocol/server";

const server = createServer({
  name: "my-custom-server",
  version: "0.1.0",

  tools: [
    {
      name: "hello_world",
      description: "Returns a simple greeting",
      input_schema: {
        type: "object",
        properties: {
          name: { type: "string" }
        },
        required: 
      },
      output_schema: {
        type: "object",
        properties: {
          message: { type: "string" }
        }
      },
      handler: async ({ name }) => {
        return { message: `Hello, ${name}!` };
      }
    }
  ]
});

server.listen(3000);
console.log("MCP server running on http://localhost:3000");

이것은 전체 MCP 서버 단일 도구 노출: hello_world.

Claude Desktop을 MCP 서버에 연결하는 방법은 무엇입니까?

다음은 간단한 MCP 서버를 생성하고 Claude Desktop에 등록하는 방법을 설명하는 실습 과정입니다. 이 섹션에서는 환경 설정, 서버 매니페스트 생성, 클라이언트가 기대하는 엔드포인트 노출, Claude Desktop에서 서버를 사용하도록 구성하는 방법을 다룹니다.

1) Claude Desktop 개발자 연결 영역을 엽니다.

클로드 데스크탑에서: 설정 → 개발자 (또는 설정 → 커넥터 클라이언트 빌드에 따라 다릅니다.) 원격/로컬 MCP 서버를 추가하거나 "커넥터 추가" 옵션을 사용할 수 있습니다. 정확한 UI는 릴리스마다 변경될 수 있습니다. 표시되지 않으면 데스크톱 "개발자" 메뉴 또는 최신 릴리스 노트를 확인하세요.

Claude Desktop의 MCP 서버

2) 로컬 서버를 구성하는 경우: 구성 파일을 만들거나 찾습니다.

Claude 데스크톱 애플리케이션을 실행하면 검색된 모든 MCP 서버가 ClaudeDesktopConfig.json이라는 파일에 자동으로 구성됩니다. 첫 번째 단계는 이 파일을 찾아 열거나, 파일이 없으면 새로 만드는 것입니다.

Windows 사용자의 경우 해당 파일은 “%APPDATA%\Claude\claude_desktop_config.json”에 있습니다.

Mac 사용자의 경우 해당 파일은 “~/Library/Application Support/Claude/claude_desktop_config.json”에 있습니다.

3) Claude Desktop에 서버 추가

Claude Desktop에 MCP 서버에 대한 정보를 알리는 데는 두 가지 UX 패턴이 있습니다.

데스크톱 확장 프로그램 / 원클릭 설치 프로그램: Anthropic은 사용자가 원클릭으로 서버를 추가할 수 있도록 매니페스트와 설치 프로그램을 패키징하는 "데스크톱 확장 프로그램"을 문서화했습니다(더 광범위한 배포에 권장). 간편한 설치를 위해 매니페스트와 서버 메타데이터를 패키징할 수 있습니다.

로컬 서버 등록(개발자 모드): 로컬 테스트의 경우:

  • 매니페스트를 잘 알려진 로컬 경로에 배치하거나 다음 위치에서 제공하십시오. https://localhost:PORT/.well-known/mcp-manifest.json.
  • Claude Desktop 설정에서 MCP/확장 패널을 열고 "로컬 서버 추가" 또는 "URL로 서버 추가"를 선택한 다음 매니페스트 URL이나 토큰을 붙여넣습니다.
  • 클라이언트가 요청하면 필요한 권한을 부여합니다. Claude는 서버 리소스를 열거하여 사용 가능한 도구/메모리로 표시합니다.

이제 로컬 MCP를 설치하기로 선택합니다.추가 mcpServers 섹션에 있어야 합니다. 서버 이름과 시작을 위한 절대 경로/명령어가 나열된 파일을 저장하고 Claude Desktop을 다시 시작하세요.

재시작 후 Claude의 UI에 MCP 도구(검색 및 도구 아이콘)가 표시되고 노출된 작업을 테스트할 수 있습니다(예: "새크라멘토의 날씨는 어때요?"). 호스트가 서버를 감지하지 못하는 경우 다음을 참조하세요. mcp.log 파일과 mcp-server-<name>.log STDERR 출력을 위해.

4) 통합 테스트

Claude 채팅에서 다음을 입력하세요.

Call the hello_world tool with name="Alice"

클로드는 MCP 서버를 호출하고 도구 출력을 사용하여 응답합니다.

MCP를 통해 메모리 서비스를 구현하려면 어떻게 해야 하나요?(고급 팁)

메모리 서비스는 세션 전반에 걸쳐 사용자 컨텍스트를 유지하고 표시하기 때문에 가장 강력한 MCP 서버 중 하나입니다. 다음 모범 사례와 구현 팁은 사양, Claude 문서 및 커뮤니티 패턴을 반영합니다.

메모리 데이터 모델 및 설계

  • 구조화된 vs. 구조화되지 않은: 구조화된 사실(예: 이름, 선호도 플래그)과 구조화되지 않은 대화 청크를 모두 저장합니다. 빠른 필터링을 위해 유형화된 메타데이터를 사용하세요.
  • 청킹 및 임베딩: 긴 문서나 대화를 의미적으로 응집력 있는 단위로 나누고 벡터 임베딩을 저장하여 유사성 검색을 지원합니다. 이를 통해 재현율을 향상시키고 검색 중 토큰 사용량을 줄일 수 있습니다.
  • 최근성 및 중요도 신호: 타임스탬프와 중요도 점수를 기록합니다. 최근 또는 중요도가 높은 기억을 선호하는 쿼리를 허용합니다.
  • 개인정보 보호 태그: 클라이언트가 동의를 구할 수 있도록 민감성 라벨(개인, 공유, 임시)을 항목에 태그로 지정합니다.

메모리 작업을 위한 API 패턴

최소한 세 가지 작업을 구현합니다.

  • write: 메타데이터가 있는 메모리 항목을 수락하고 확인 및 저장 ID를 반환합니다.
  • query: 자연어 쿼리나 구조화된 필터를 수락하고 상위 k 일치 메모리를 반환합니다(선택적으로 설명 가능 메타데이터 포함).
  • delete/update: 지원 수명 주기 작업과 사용자 명시적 요청을 잊어버립니다.

메모리의 출처(기억의 출처)와 신뢰도/유사성 점수를 포함하도록 응답을 설계하면 클라이언트와 모델이 메모리를 얼마나 적극적으로 사용할지 결정할 수 있습니다.

Claude를 위한 검색 증강 전략

  • 짧은 컨텍스트 창: 전체 문서 대신 간결한 기억 조각만 반환합니다. 필요한 경우 Claude가 전체 맥락을 요청하도록 합니다.
  • 요약 계층: 토큰을 줄이기 위해 각 메모리에 대한 간략한 요약을 선택적으로 저장합니다. 쓰기 작업에는 증분 요약을 사용합니다.
  • 제어된 주입: 클라이언트가 모델에 모든 것을 쏟아붓는 대신, 선택적으로 프롬프트에 주입할 수 있는 첨부 가능한 "컨텍스트 번들" 형태로 메모리를 제공합니다.

메모리 MCP의 안전 및 거버넌스

  • 동의 및 감사 추적: 메모리가 생성된 시점과 사용자가 모델과 메모리 공유에 동의했는지 여부를 기록합니다. Claude Desktop에서 메모리 검토 및 취소를 위한 명확한 UI 어포던스를 제공합니다.
  • 속도 제한 및 검증: 유형을 검증하고 서버에서 예상치 못한 코드 실행 요청을 허용하지 않음으로써 즉각적인 주입이나 유출을 방어합니다.
  • 저장 중 및 전송 중 암호화: 저장된 항목에는 강력한 암호화를 사용하고 모든 MCP 엔드포인트에는 TLS를 사용하세요. 클라우드 기반 저장소의 경우, 봉투 암호화 또는 고객 관리 키(가능한 경우)를 사용하세요.

결론: Claude Desktop에서 MCP 서버를 구축하는 방법

이 기사는 노트북에서 클로드와 메모리 서버를 작동시키는 방법을 설명하는 간결하고 실용적인 레시피입니다.

  • 워크플로 테스트: 클로드에게 짧은 사실을 "기억"하고 서버에 저장되었는지 확인하도록 요청하세요. 그런 다음 클로드에게 나중에 해당 사실을 다시 불러오도록 요청하세요. 로그를 관찰하고 검색 순위를 조정하세요.
  • 설치 필수 구성 요소: Node.js >= 18, Git, Claude Desktop(최신).
  • 참조 서버 복제: 포크하다 modelcontextprotocol/servers 예시 또는 GitHub의 커뮤니티 메모리 서버.
  • 설치 및 실행: npm installnpm run dev (또는 repo README를 따르세요). 매니페스트 엔드포인트를 확인하세요(예: http://localhost:3000/manifest) JSON을 반환합니다. ()
  • Claude Desktop에서 커넥터 등록: 설정 → 개발자/커넥터 → 커넥터 추가 → 가리킴 http://localhost:3000 범위를 승인합니다.

Claude(또는 다른 호스트)를 MCP 서버와 통합하면 커넥터를 한 번만 빌드하면 MCP 클라이언트(Claude Desktop, IDE 또는 기타 에이전트 프레임워크)에서 사용할 수 있으므로 유지 관리가 크게 줄어들고 도구 간 기능 동등성이 향상됩니다.

개발자는 Claude AI의 최신 API(본 기사 발행일 기준)에 다음과 같이 액세스할 수 있습니다. 클로드 소네 4.5 API클로드 오푸스 4.1 API CometAPI를 통해 최신 모델 버전 공식 웹사이트에서 항상 업데이트됩니다. 시작하려면 모델의 기능을 살펴보세요. 운동장 그리고 상담하십시오 API 가이드 자세한 내용은 CometAPI를 참조하세요. 접속하기 전에 CometAPI에 로그인하고 API 키를 발급받았는지 확인하세요. 코멧API 공식 가격보다 훨씬 낮은 가격을 제공하여 통합을 돕습니다.

출발 준비 되셨나요?→ 지금 CometAPI에 가입하세요 !

AI에 대한 더 많은 팁, 가이드 및 뉴스를 알고 싶다면 저희를 팔로우하세요. VKX 및  디스코드!

더 보기

하나의 API로 500개 이상의 모델

최대 20% 할인