본문으로 건너뛰기

동적 MCP 서버 구축: Claude가 스스로 도구를 생성하고 실행하는 방법

Claude가 런타임에 스스로 새로운 도구를 정의하고 Deno 샌드박스에서 즉시 실행할 수 있게 해주는 동적 MCP 서버 아키텍처를 소개한다.

실용적 조언

  • LLM용 코드 샌드박스 구축 시 Docker 대신 Deno를 사용하면 콜드 스타트 시간을 1/10 수준으로 단축할 수 있다.
  • 도구 코드를 데이터베이스에 저장하고 메타 도구(Run Tool)로 실행하면 재배포 없는 시스템 확장이 가능하다.

섹션별 상세

01
동적 MCP 서버의 핵심은 5가지 관리 도구(List, Get, Create, Update, Run)를 통해 Claude가 직접 도구 저장소를 제어하는 구조이다. Claude가 새로운 기능이 필요하다고 판단하면 'Create Tool'을 통해 MySQL 데이터베이스에 JS/TS 코드를 저장하고, 'Run Tool'을 호출하여 이를 즉시 활용한다. 이 과정은 개발자의 개입이나 서버 재시작 없이 실시간으로 이루어지며 시스템의 역량을 자율적으로 확장한다.
02
도구 실행을 위한 샌드박스 환경으로 Deno를 선택하여 보안과 성능을 동시에 확보했다. Deno는 세밀한 권한 제어(--allow-net, --deny-read 등)를 제공하며, Docker(500ms+) 대비 매우 빠른 약 50ms의 콜드 스타트 성능을 보여준다. 이를 통해 Claude가 생성한 신뢰할 수 없는 코드를 격리된 환경에서 안전하고 신속하게 실행할 수 있다.
03
도구 저장 및 관리 시스템은 n8n을 MCP 서버 기반으로 사용하고 MySQL을 백엔드 저장소로 활용한다. 저장된 도구 코드는 실행 시 컨텍스트 객체를 통해 파라미터를 전달받으며, fetch를 통한 외부 API 호출이나 npm 패키지 사용이 가능하다. 실제 운영 환경에서 수개월간 안정성을 검증하며 Claude의 도구 사용 루프를 완성했다.
javascript
const response = await fetch(`https://api.example.com/${context.city}`);
const data = await response.json();
return { temp: data.temp, conditions: data.weather[0].description };

Claude가 생성하여 동적으로 실행할 수 있는 JavaScript 도구 코드 예시

용어 해설

모델 컨텍스트 프로토콜(MCP)
Anthropic이 제안한 표준 규격으로, AI 모델이 외부 데이터 소스나 도구와 통신하는 방식을 규정한다. 이를 통해 서로 다른 AI 앱과 서버 간의 상호운용성을 확보하고 도구 사용의 효율성을 높인다.
디노(Deno)
보안을 최우선으로 설계된 JavaScript 및 TypeScript 런타임이다. 기본적으로 파일, 네트워크 등에 대한 접근 권한이 차단된 샌드박스 환경을 제공하며, 명시적인 플래그를 통해서만 권한을 부여할 수 있어 안전한 코드 실행에 적합하다.
샌드박스(Sandbox)
외부로부터 격리된 안전한 실행 환경을 의미한다. LLM이 생성한 코드와 같이 신뢰할 수 없는 프로그램을 시스템의 다른 부분에 영향을 주지 않고 실행하기 위해 필수적인 보안 기술이다.
콜드 스타트(Cold Start)
실행 중이지 않은 서비스나 프로세스가 요청을 받고 처음 구동될 때 발생하는 지연 시간이다. 서버리스 환경이나 컨테이너 기반 시스템에서 응답 속도에 결정적인 영향을 미치는 성능 지표이다.

언급된 도구

Deno추천

보안 샌드박스 내 도구 코드 실행 런타임

n8n추천

MCP 서버 구축을 위한 기본 인프라

MySQL중립

동적 도구 코드 및 정의 저장소

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 04. 04.수집 2026. 04. 04.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.