Apidog

올인원 협업 API 개발 플랫폼

API 설계

API 문서

API 디버깅

API 모킹

API 자동화 테스트

오픈 소스 자체 호스팅 MCP 서버 구축 방법

Young-jae

Young-jae

Updated on April 2, 2025

안녕하세요, 동료 개발자 여러분! 자신의 AI 명령 센터를 갖는 꿈을 꿔본 적이 있나요? 다양한 AI 모델과 애플리케이션 간의 상호 작용을 조율하고, 모든 데이터를 안전하게 보호하며, 완전히 제어할 수 있는 장소가 말이죠? 그럼, 기대하세요! 이 글에서는 guMCPGumloop의 통합 모델 컨텍스트 프로토콜을 사용하여 자신의 자체 호스팅 MCP 서버를 만드는 방법을 다룰 것입니다.

MCP란 정확히 무엇일까요? 그것은 AI를 위한 보편적인 언어라고 할 수 있습니다. 다양한 AI 모델과 애플리케이션이 정보를 소통하고 공유할 수 있도록 정형화된 방식입니다. 즉, 다양한 AI 모델이 작업의 서로 다른 부분을 처리하는 복잡한 워크플로를 구성할 수 있으며, 이 모든 것이 매끄럽게 협력하게 됩니다. 그리고 guMCP를 사용하면 자신의 MCP 서버를 놀라울 정도로 쉽게 구축할 수 있습니다.

💡
시작하기 전에 간단한 팁을 드리겠습니다: Apidog 를 무료로 받으세요! 이것은 개발자들이 MCP를 단순화하고 AI 모델(특히 LLMs)을 테스트하며 API 테스트를 간소화할 수 있는 강력한 도구입니다. 오늘 무료로 사용해 보세요!
button

처음에는 좀 겁이 날 수도 있지만, 저를 믿으세요, 생각보다 훨씬 쉽습니다. 우리가 단계별로 나누어 설명할 것이므로, 경험이 많은 DevOps 전문가가 아니어도 따라갈 수 있습니다. 자, 시작해보죠!

Gumloop 통합 모델 컨텍스트 프로토콜(guMCP)이란?

guMCP는 자신의 자체 호스팅 MCP 서버를 쉽게 구축하고 배포할 수 있도록 설계된 모델 컨텍스트 프로토콜의 오픈 소스 구현입니다. AI 모델과 애플리케이션을 연결할 수 있는 유연한 프레임워크를 제공하여 강력한 AI 기반 워크플로를 생성할 수 있습니다.

gumcp display image

왜 자체 호스팅을 선택할까요? 자체 호스팅은 데이터와 인프라를 완전히 제어할 수 있게 해주므로, 개인 정보가 민감한 애플리케이션이나 특정 요구 사항에 맞게 MCP 서버를 사용자화할 필요가 있는 상황에 이상적입니다. 또한, 훌륭한 학습 기회를 제공합니다!

왜 자신만의 MCP 서버를 구축해야 할까요?

자, 그럼 "왜 자신만의 MCP 서버를 구축해야 하나요? 비슷한 일을 하는 클라우드 기반 솔루션이 있지 않나요?"라고 궁금하실 수 있습니다. 이는 유효한 질문입니다! 다음은 자체 호스팅이 게임 체인저가 될 수 있는 이유입니다:

  1. 데이터 개인 정보 및 보안: 이는 아주 중요합니다. 자체 호스팅을 하면 데이터가 자신의 서버에 머무릅니다. 민감한 정보를 보호하기 위해 제3자에게 의존하지 않으므로 개인 데이터, 재무 정보 또는 독점 알고리즘을 다루는 프로젝트에는 필수적입니다.
  2. 사용자화 및 제어: 클라우드 기반 솔루션은 종종 한계가 있습니다. 자체 호스팅을 통해 정확한 요구 사항에 맞게 MCP 서버를 조정할 수 있습니다. 사용자 지정 기능을 추가하고, 특정 API와 통합하고, 특정 워크플로에 최적화할 수 있도록 성능을 조정할 수 있습니다.
  3. 비용 효율성: 사용 패턴에 따라, 자체 호스팅은 클라우드 제공업체에 의존하는 것보다 더 비용 효과적일 수 있습니다. 특히 기존 인프라와 전문 지식이 있는 경우 더욱 그렇습니다.
  4. 학습 및 실험: 자신만의 MCP 서버를 구축하는 것은 AI 인프라, 네트워킹 및 서버 관리에 대해 배우는 훌륭한 방법입니다. 이는 기술을 확장하고 이러한 시스템이 작동하는 방식에 대한 더 깊은 이해를 얻는 훌륭한 기회입니다.

guMCP의 필수 조건

설치 과정을 시작하기 전에 필요한 모든 것이 준비되어 있는지 확인해 보겠습니다. 걱정 마세요, 긴 목록이 아닙니다!

  • Python 3.11: 이 프로젝트는 Python 3.11 이상이 필요합니다. 최신 버전은 공식 파이썬 웹사이트에서 다운로드할 수 있습니다.
download python
  • Git: Git은 리포지토리를 복제하는 데 사용됩니다. Git이 설치되어 있지 않다면 공식 Git 웹사이트에서 다운로드할 수 있습니다.
download git
  • Windows 사용자: bash 호환 셸을 권장합니다. 이는 Git Bash(Windows 용 Git에 포함됨) 또는 Windows Subsystem for Linux (WSL)일 수 있습니다. 이렇게 하면 이 튜토리얼의 명령을 따르기가 더 쉬워집니다.

guMCP 설치 가이드

자, 이제 시작해 볼까요! 이 단계를 주의 깊게 따라 하면 guMCP 서버를 빠르게 구축할 수 있습니다.

1단계: guMCP 리포지토리 클론하기

먼저 guMCP 코드를 머신에 가져와야 합니다. 터미널을 열고 (Windows 사용자는 Git Bash를 열고) 다음 명령어를 실행하세요:

git clone https://github.com/gumloop/guMCP.git
cd guMCP

이 명령어는 GitHub에서 guMCP 리포지토리를 다운로드하고 현재 디렉토리를 guMCP 폴더로 변경합니다.

git clone gumcp project files

2단계: guMCP를 위한 가상 환경 설정

가상 환경은 Python 프로젝트를 위한 샌드박스와 같습니다. 이는 프로젝트의 종속성을 시스템의 Python 설치와 분리하여 충돌을 방지하고 프로젝트가 올바르게 작동하도록 보장합니다. Python 개발의 모범 사례입니다.

가상 환경을 만들려면 다음 명령어를 실행하세요:

python -m venv venv

이 명령은 venv라는 폴더에 새 가상 환경을 생성합니다. 이제 가상 환경을 활성화해야 합니다. 활성화 명령은 운영 체제에 따라 다릅니다:

Unix/macOS에서:

source venv/bin/activate

Windows (명령 프롬프트)에서:

venv\Scripts\activate

Windows (PowerShell)에서:

.\venv\Scripts\Activate.ps1

Windows (Git Bash)에서:

source venv/Scripts/activate

가상 환경이 활성화되면 명령 프롬프트의 시작 부분에 (venv)가 표시됩니다. 이는 격리된 환경 내부에서 작업 중임을 나타냅니다.

verify virtual env confiiguration

3단계: guMCP 종속성 설치

이제 가상 환경이 활성화되었으므로 프로젝트의 종속성을 설치할 수 있습니다. 이는 guMCP가 올바르게 작동하는 데 필요한 라이브러리와 패키지입니다.

핵심 종속성을 설치하려면 다음 명령을 실행하세요:

pip install -r requirements.txt

이 명령은 pip (Python 패키지 설치 관리자)를 사용하여 requirements.txt 파일을 읽고 나열된 모든 패키지를 설치합니다.

guMCP 프로젝트에 기여할 계획이라면 (정말 멋진 일입니다!), 개발 종속성도 설치하고 싶을 것입니다:

pip install -r requirements-dev.txt

이 종속성은 테스트, 린팅 및 다른 개발 관련 작업에 사용됩니다.

4단계: guMCP를 위한 환경 변수 구성

환경 변수는 응용 프로그램이 액세스해야 하는 구성 설정을 저장하는 데 사용됩니다. 예를 들면 API 키, 데이터베이스 자격 증명 및 기타 민감한 정보들이 있습니다. 이는 코드를 깨끗하게 유지하고 비밀을 응용 프로그램에 직접 하드코딩하는 것을 피할 수 있게 해줍니다.

guMCP는 .env 파일을 사용하여 환경 변수를 관리합니다. 로컬 환경 파일을 생성하려면 다음 명령어를 실행하세요:

cp .env.example .env

이 명령은 .env.example 파일을 .env라는 새 파일로 복사합니다. .env.example 파일은 guMCP가 요구하는 환경 변수에 대한 템플릿을 포함합니다.

이제 좋아하는 텍스트 편집기(예: VS Code)에서 .env 파일을 열고 필요에 따라 값을 업데이트하세요.

# VS Code로 열고 편집하기
code .env

# Cursor로 열고 편집하기
cursor .env
open .env file in cursor

.env 파일에는 다음에 대한 구성 설정이 포함되어 있습니다:

  • 서비스 통합을 위한 API 키: OpenAI 또는 다른 AI 모델 제공업체와 통합할 계획이라면 .env 파일에 해당 API 키를 제공해야 합니다.
  • 인증 설정: MCP 서버에 대한 접근을 제어하기 위해 인증 설정을 구성할 수 있습니다. 이는 서버와 상호 작용하려는 클라이언트에 대한 사용자 이름, 비밀번호 또는 API 키를 설정하는 것을 포함할 수 있습니다.
  • 서버 구성 옵션: .env 파일에는 서버의 구성과 관련된 설정도 포함될 수 있습니다. 여기에는 대기 중인 포트 번호, 호스트 이름 및 기타 서버 특정 매개변수가 포함됩니다.
  • 개발 환경 설정: 일부 설정은 디버깅 플래그 또는 로깅 수준과 같이 개발 환경에 특정적일 수 있습니다.
.env file structure

환경에 맞는 올바른 값으로 .env 파일을 주의 깊게 검토하고 업데이트하세요. 절대 .env 파일을 버전 관리에 커밋하지 마세요! 이 파일은 공개적으로 공유해서는 안 되는 민감한 정보를 포함하고 있습니다.

guMCP 사용하기

이제 guMCP를 설치하고 구성했으므로 어떻게 사용하는지 살펴보겠습니다! guMCP는 두 가지 주요 유형의 서버를 지원합니다: SSE (서버 전송 이벤트) 서버와 Stdio 서버입니다. 각각을 살펴봅시다.

guMCP SSE 서버 실행하기

SSE 서버는 서버에서 클라이언트로 데이터를 스트리밍하는 간단하고 효율적인 방법을 제공합니다. guMCP의 맥락에서 이는 실시간 업데이트 및 알림을 위해 자주 사용됩니다.

guMCP는 로컬에서 SSE 개발 서버를 시작하는 편리한 스크립트를 제공합니다. 이 서버는 모든 사용 가능한 서버를 단일 URL 아래에서 호스팅합니다. SSE 개발 서버를 시작하려면 다음 명령어를 실행하세요:

./start_sse_dev_server.sh

이 스크립트는 서버를 시작하고 URL을 콘솔에 인쇄합니다. 기본적으로 서버는 포트 8000에서 실행됩니다. 따라서 URL은 다음과 같은 형식이 될 것입니다: http://localhost:8000/simple-tools-server/local

running gumcp sse servers

원격 MCP 테스트 클라이언트 사용하기

guMCP는 또한 SSE 서버에 연결하기 위한 경량 MCP 클라이언트를 제공합니다. 이 클라이언트는 서버와 상호작용하고 테스트하는 데 유용합니다. 클라이언트를 사용하려면 다음 명령어를 실행하세요:

python tests/clients/RemoteMCPTestClient.py --endpoint=http://localhost:8000/simple-tools-server/local

http://localhost:8000/simple-tools-server/local를 실제 SSE 서버의 URL로 변경하세요.

gumcp remote mcp test client

이 명령은 MCP 클라이언트를 시작하고 지정된 SSE 서버에 연결합니다. 그런 다음 클라이언트를 사용하여 서버에 명령을 보내고 응답을 받을 수 있습니다.

gumcp query and response

guMCP Stdio 서버 실행하기

Stdio 서버는 표준 입력 및 출력 스트림을 통해 클라이언트와 통신합니다. 이는 명령어 도구 및 애플리케이션에서 자주 사용되는 전통적인 서버 통신 방식입니다.

Stdio 서버를 시작하려면 다음 명령어를 실행하세요:

python src/servers/local.py --server=simple-tools-server

simple-tools-server를 실행할 서버의 이름으로 바꾸세요.

guMCP 로컬 MCP 테스트 클라이언트 사용하기

guMCP는 stdio 서버에 연결하기 위한 경량 MCP 클라이언트를 제공합니다. 클라이언트를 사용하려면 다음 명령어를 실행하세요:

python tests/clients/LocalMCPTestClient.py --server=simple-tools-server

simple-tools-server를 실행할 서버의 이름으로 바꾸세요.

이 명령은 MCP 클라이언트를 시작하고 지정된 Stdio 서버에 연결합니다. 그런 다음 클라이언트를 사용하여 서버에 명령을 보내고 응답을 받을 수 있습니다.

guMCP 서버 구성 이해하기

--server 플래그는 MCP 서버가 노출하는 도구와 기능을 선택하는 열쇠입니다. 이는 AI 명령 센터에 로드할 모듈을 선택하는 것과 같습니다. 제공된 예제에서는 simple-tools-server가 사용되고 있으며, 이는 테스트 및 시연을 위한 기본 도구 세트를 제공할 가능성이 높습니다. 그러나 guMCP는 모듈화되도록 설계되었으므로, 더 특수한 기능을 포함하도록 서버 구성을 생성하거나 확장할 수 있습니다.

src/servers 디렉터리를 살펴보면 서로 다른 서버 구성을 정의하는 Python 파일을 찾을 수 있습니다. 이 파일들은 어떤 도구가 사용 가능한지, 이를 MCP를 통해 어떻게 노출하는지 및 어떤 특정 종속성이 필요한지를 지정합니다. 이 파일들을 살펴보면 서버를 사용자화하고 AI 기반 도구를 통합하는 방법에 대한 감을 잡을 수 있습니다.

gumcp source folder

guMCP 툴킷 확장: 자신만의 MCP 도구 만들기

guMCP의 진정한 힘은 자신만의 사용자 정의 도구로 확장할 수 있는 능력에 있습니다. 특정 AI 모델을 사용하여 텍스트를 요약하는 도구를 만들거나 특정 API와 상호 작용하는 도구를 만들고 싶다고 상상해 보세요. guMCP는 이 과정을 매우 간단하게 만들어 줍니다.

사용자 정의 도구 생성에 대한 전체 심층 탐색은 이 소개 가이드의 범위를 넘어가지만, 그 과정의 맛보기는 다음과 같습니다:

  1. 도구 정의: 도구의 기능을 개요하십시오. 어떤 입력이 필요하고 어떤 출력을 생성합니까?
  2. 로직 구현: 원하는 작업을 수행하는 Python 코드를 작성합니다. 이는 AI 모델의 API를 호출하거나 데이터를 처리하거나 외부 서비스와 상호작용하는 것을 포함할 수 있습니다.
  3. guMCP와 통합: guMCP의 API를 사용하여 도구를 등록하고 MCP를 통해 접근이 가능하게 만듭니다. 이 과정에서는 도구의 이름, 입력 매개변수 및 출력 형식을 정의해야 합니다.
  4. 서버 구성 설정: 새 도구를 포함하도록 서버 구성 파일을 수정합니다. 이는 MCP 서버가 클라이언트에 도구를 로드하고 노출하도록 지시합니다.

자신만의 도구를 생성함으로써 guMCP를 특정 요구에 맞추고 실제 문제를 해결하는 강력한 AI 기반 워크플로를 구축할 수 있습니다.

결론: AI 오케스트레이션으로의 여정이 시작됩니다

축하합니다! guMCP를 사용하여 자신의 자체 호스팅 MCP 서버를 성공적으로 구축했습니다. 이는 프로젝트에서 AI의 전체 잠재력을 열기 위한 중요한 단계입니다.

이것은 시작에 불과합니다. guMCP 문서를 탐색하고 다양한 서버 구성으로 실험하며 자신만의 사용자 정의 도구를 만들어 보세요. 가능성은 무궁무진합니다.

자체 호스팅 MCP 서버를 통해 데이터에 대한 완전한 제어를 얻고 워크플로를 사용자화하며 AI 인프라에서 귀중한 경험을 쌓을 수 있습니다. AI 환경이 계속 발전함에 따라 MCP 및 자체 호스팅에 대한 확고한 토대를 갖는 것은 귀중한 자산이 될 것입니다. 그러니 나아가 여러분의 AI 꿈을 오케스트레이션하세요!

button
Apidog Ui image