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

Eden AI: AI 모델을 위한 유럽 API 허브 – OpenRouter의 대안으로 전환
Eden AI는 스마트 라우팅, 폴백 메커니즘 및 지역 제어 기능을 통해 500개 이상의 AI 모델(LLM, 비전, OCR, 음성)에 접근할 수 있는 단일 통합 API를 제공합니다. OpenRouter의 유럽 대안으로 자리매김하고 있습니다.

인간 창의성 벤치마크: AI 창의성 평가에서 수렴과 발산의 분리
Contra Labs는 생성형 AI의 창의적 작업 평가에서 객관적으로 검증 가능한 기준(예: 프롬프트 준수)과 주관적 취향(예: 시각적 매력)을 분리하는 프레임워크인 인간 창의성 벤치마크(HCB)를 소개합니다. 이 벤치마크는 현재 어떤 모델도 신뢰할 수 있을 정도로 정확하면서도 조종 가능하지 않다는 것을 밝히며, 모드 붕괴와 차별화된 출력의 필요성을 다룹니다.

AI 지원 콘텐츠를 위한 자동 업데이트 글쓰기 스타일 가이드 구축
Noren이라는 음성 추출 플랫폼을 구축하는 팀이 모든 게시물 이후 스스로를 재작성하는 117줄의 마크다운 스타일 가이드를 개발했습니다. 이 가이드는 Claude를 사용하여 규칙을 적용하고 'cadence', 'optimize'와 같은 AI스러운 단어를 금지합니다.

re_gent: AI 코딩 에이전트를 위한 Git – 에이전트 활동의 버전 관리
re_gent는 AI 에이전트 세션에 버전 관리를 제공하는 오픈소스 도구로, 모든 도구 호출을 추적하고 프롬프트와 파일 차이를 저장하며 `rgt log`, `rgt blame`, `rgt rewind`(출시 예정) 같은 명령을 지원합니다.