MCP 서버는 클로드가 런타임에 맞춤형 도구를 생성하고 실행할 수 있도록 합니다

한 개발자가 Claude가 런타임에 재배포 없이도 새로운 도구를 생성, 업데이트, 실행할 수 있는 MCP 서버를 구축했습니다. 배포 시점에 도구가 고정되는 표준 MCP 설정과 달리, 이 시스템은 동적 도구 생성을 가능하게 합니다.
핵심 아키텍처
서버는 5가지 핵심 MCP 도구를 구현합니다:
- 도구 목록 조회 — 사용 가능한 도구 목록 반환
- 도구 정보 가져오기 — 코드를 포함한 전체 도구 정의 조회
- 도구 생성 — 데이터베이스 레지스트리에 새 도구 저장
- 도구 업데이트 — 기존 도구 수정
- 도구 실행 — 저장된 도구를 이름으로 실행
도구 실행 프로세스
Run Tool 메타 도구는 다음과 같이 작동합니다:
- 요청된 도구를 MySQL 테이블에서 조회
- 해당 코드를 가져옴
- 매개변수를 컨텍스트로 전달
- 제한된 권한으로 Deno 하위 프로세스에서 실행
- 결과 반환
샌드박스 구현
개발자는 샌드박싱을 위해 Node VM, isolated-vm, Docker를 평가한 후 Deno를 선택했습니다. Deno가 선택된 이유는:
- 세분화된 네트워크/파일시스템/하위 프로세스 제어를 포함한 깔끔한 권한 모델
- 네이티브 npm 지원
- 내장 TypeScript
- Docker의 500ms+ 대비 약 50ms의 콜드 스타트
샌드박스는 다음 플래그를 사용합니다: --allow-net --deny-read --deny-write --deny-run --deny-ffi. 이를 통해 도구 코드가 HTTP 요청을 만들고 npm 패키지를 사용할 수 있지만, 파일 시스템 접근이나 프로세스 생성은 방지됩니다.
도구 코드 형식
도구 코드는 매개변수를 위한 컨텍스트 객체를 받는 JavaScript/TypeScript입니다. 소스의 예시:
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가 필요한 기능을 식별 → 도구 생성 → 즉시 사용 → 결과가 적절하지 않으면 업데이트. 이를 통해 개발자 개입 없이도 시스템이 시간이 지남에 따라 더욱 능력 있게 발전할 수 있습니다.
구현은 MCP 서버로 n8n을, 도구 저장소로 MySQL을 사용하며, 몇 달 동안 프로덕션 환경에서 운영되고 있습니다.
📖 Read the full source: r/ClaudeAI
👀 See Also

Codesight CLI는 코드베이스를 스캔하여 AI 코딩 에이전트의 토큰 사용량을 줄입니다.
Codesight는 제로 의존성 CLI 도구로, TypeScript, Python, Go 프로젝트를 스캔하여 간결한 컨텍스트 파일을 생성합니다. 실제 프로덕션 코드베이스 벤치마크에 따르면, Claude Code 탐색 토큰을 평균 12.3배 줄여줍니다.

100개의 인기 앱을 역설계한 마크다운 디자인 사양서: 클로드 UI 클로닝용
오픈소스 저장소는 인기 iOS 앱 100개의 구조화된 마크다운 디자인 스펙을 제공하며, Claude가 일관되게 UI를 복제하도록 최적화되어 있습니다. 주요 기술: 정확한 색상 값, 상태 커버리지, 간격 척도, 내비게이션 그래프.

OpenClaw 2026.3.23은 DeepSeek 제공자 추가, Qwen 종량제, 그리고 Chrome MCP 개선 사항을 포함합니다.
OpenClaw v2026.3.23은 DeepSeek 제공자 플러그인, Qwen 종량제 가격 책정, Anthropic 사고 순서를 지원하는 OpenRouter 자동 가격 책정, Chrome MCP 탭 대기 기능, 그리고 Discord/Slack/Matrix 및 웹 UI 수정 사항을 도입합니다.

릴레이를 통해 클로드 코드 세션이 알트탭 없이 서로 메시지를 주고받을 수 있습니다
Relay라는 플러그인은 Claude Code의 채널 기능을 사용하여 병렬 세션 간에 직접 통신할 수 있게 해주어, 백엔드와 프론트엔드 리포지토리 간에 컨텍스트를 수동으로 복사-붙여넣기할 필요가 없습니다.