node-llama-cpp와 커스텀 에이전트 루프를 활용한 로컬 우선 MCP 튜토리얼 저장소 제작
I made a local-first MCP tutorial repo with node-llama-cpp and a custom agent loop
핵심 요약
Node.js로 MCP의 기본 원리를 단계별로 학습하고 로컬 모델을 통합하는 튜토리얼 저장소를 공개함.
- MCP 학습 — Node.js 환경에서 MCP의 기본 개념과 도구, 프롬프트 활용법을 단계별로 구축함.
- 로컬 모델 통합 — node-llama-cpp와 GGUF 모델을 사용하여 로컬 환경에서 MCP를 구현함.
- 에이전트 루프 — 계획, 실행, 관찰로 이어지는 커스텀 에이전트 루프를 통해 로컬 모델의 활용성을 테스트함.
- 학습용 저장소 — 프로덕션 SDK가 아닌 MCP의 내부 동작 원리를 이해하려는 개발자를 위해 설계됨.
"MCP from Scratch"라는 저장소를 공개했습니다. Node.js로 MCP(Model Context Protocol)를 단계별로 구축하며 학습하는 내용입니다.
저장소의 대부분은 MCP 자체를 이해하는 데 집중되어 있지만, 후반부 모듈은 이곳의 주제와 관련이 있을 겁니다. node-llama-cpp, GGUF 모델, MCP 샘플링, 그리고 커스텀 plan -> act -> observe 에이전트 루프를 사용하는 로컬 우선 설정을 추가했습니다.
저장소는 다음 과정을 다룹니다:
- raw JSON-RPC 및 stdio 전송
- 도구/리소스/프롬프트를 갖춘 작동 가능한 MCP 서버
- 로컬 모델 통합
- 로컬 GGUF 모델과 MCP 도구를 사용하는 에이전트 루프
선택 사항으로 LangChain 예제도 포함되어 있지만, 기본 경로는 의도적으로 최소화하여 내부 메커니즘을 명확하게 보여주려 했습니다.
주요 포인트:
- 순수 Node.js, 최소한의 추상화
- 프로덕션 SDK가 아닌 학습용 저장소로 설계
- 후반부 모듈에 공유 로컬 GGUF 모델 사용
- MCP 도구가 내부적으로 어떻게 작동하는지 이해하고 싶은 사람들을 위해 제작
저장소: https://github.com/pguso/mcp-from-scratch
특히 로컬 추론 측면에서 이곳 사용자들의 피드백을 듣고 싶습니다:
- 모델 선택
- 에이전트 루프 예제가 유용한지, 아니면 너무 장난감 같은지

