mcp-sage
다른 LLM(현재 Gemini 2.5 Pro만 지원)으로 프롬프트를 전송하는 도구를 제공하는 MCP(Model Context Protocol) 서버입니다. 이 서버에서는 참조된 모든 파일 경로(폴더에 대해 재귀적으로)를 프롬프트에 포함합니다. 방대한 컨텍스트를 정확하게 처리할 수 있는 모델에서 다른 의견이나 자세한 코드 검토를 받는 데 유용합니다.
이론적 해석
저는 Claude Code를 많이 사용합니다. 제 워크플로에 잘 맞는 훌륭한 제품입니다. 하지만 컨텍스트가 풍부한 최신 모델들은 더 많은 컨텍스트가 필요한 더 복잡한 코드베이스를 다룰 때 정말 유용해 보입니다. 덕분에 Claude Code를 개발 도구로 계속 사용하면서 Gemini 2.5 Pro의 풍부한 컨텍스트를 활용하여 Claude Code의 제한된 컨텍스트를 보완할 수 있습니다.
영감
이 프로젝트는 두 가지 다른 오픈 소스 프로젝트에서 영감을 얻었습니다.
- 파일 압축을 위한 simonw/files-to-prompt
- 아이디어와 전체 리포를 Gemini에 보내어 도매 편집 제안을 받도록 촉구하는 asadm/vibemode
개요
이 프로젝트는 두 가지 도구를 노출하는 MCP 서버를 구현합니다.
second-opinion
- 프롬프트와 파일/디렉토리 경로 목록을 입력으로 받습니다.
- 파일을 구조화된 XML 형식으로 압축합니다.
- 결합된 콘텐츠가 Gemini의 토큰 한도(1M 토큰) 내에 있는지 확인합니다.
- 결합된 프롬프트 + 컨텍스트를 Gemini 2.5 Pro로 전송합니다.
- 모델의 응답을 반환합니다.
expert-review
- 코드 변경에 대한 지침과 파일/디렉토리 경로 목록을 입력으로 받습니다.
- 파일을 구조화된 XML 형식으로 압축합니다.
- 결합된 콘텐츠가 Gemini의 토큰 한도(1M 토큰) 내에 있는지 확인합니다.
- SEARCH/REPLACE 블록을 사용하여 모델에 응답 형식을 지정하도록 지시하는 특수 프롬프트를 생성합니다.
- 결합된 컨텍스트 + 지침을 Gemini 2.5 Pro로 전송합니다.
- 쉬운 구현을 위해 SEARCH/REPLACE 블록으로 포맷된 편집 제안을 반환합니다.
필수 조건
- Node.js(v18 이상)
- Google Gemini API 키
설치
지엑스피1
환경 변수
다음 환경 변수를 설정하세요.
GEMINI_API_KEY
: Google Gemini API 키
용법
npm run build
로 빌드한 후 MCP 구성에 다음을 추가합니다.
격려
무언가에 대해 다른 사람의 의견을 듣고 싶다면 그냥 다른 사람의 의견을 요청하면 됩니다.
코드 검토를 받으려면 코드 검토나 전문가 검토를 요청하세요.
두 가지 모두 컨텍스트에 포함하려는 파일 경로를 제공하는 이점이 있지만, 생략하면 호스트 LLM이 포함할 내용을 추론할 가능성이 높습니다.
디버깅 및 모니터링
서버는 MCP 로깅 기능을 통해 자세한 모니터링 정보를 제공합니다. 이러한 로그에는 다음이 포함됩니다.
- 토큰 사용 통계(사용된 토큰 대비 토큰 제한)
- 요청에 포함된 파일 및 문서 수
- 요청 처리 시간 측정 항목
- 토큰 제한을 초과했을 때의 오류 정보
로그는 MCP 프로토콜의 notifications/message
방식을 통해 전송되므로 JSON-RPC 통신을 방해하지 않습니다. 로깅을 지원하는 MCP 클라이언트는 이러한 로그를 적절하게 표시합니다.
로그 항목 예시:
도구 사용
두 번째 의견 도구
second-opinion
도구는 다음과 같은 매개변수를 허용합니다.
prompt
(문자열, 필수): Gemini에 보낼 프롬프트paths
(문자열 배열, 필수): 컨텍스트로 포함할 파일 경로 목록
MCP 도구 호출 예(JSON-RPC 2.0 사용):
전문가 리뷰 도구
expert-review
도구는 다음과 같은 매개변수를 허용합니다.
instruction
(문자열, 필수): 필요한 특정 변경 사항 또는 개선 사항paths
(문자열 배열, 필수): 컨텍스트로 포함할 파일 경로 목록
MCP 도구 호출 예(JSON-RPC 2.0 사용):
응답에는 제안된 변경 사항을 구현하는 데 사용할 수 있는 SEARCH/REPLACE 블록이 포함됩니다.
테스트 실행
도구를 테스트하려면:
프로젝트 구조
src/index.ts
: 도구 정의를 포함한 주요 MCP 서버 구현src/pack.ts
: 구조화된 XML 형식으로 파일을 압축하기 위한 도구src/tokenCounter.ts
: 프롬프트에서 토큰을 계산하기 위한 유틸리티src/gemini.ts
: Gemini API 클라이언트 구현test/run-test.js
: second-opinion 도구 테스트test/test-expert.js
: 전문가 리뷰 도구 테스트
특허
아이에스씨
This server cannot be installed
Gemini 2.5 Pro에서 파일 내용을 프롬프트에 내장하여 다른 사람의 의견이나 자세한 코드 검토를 얻을 수 있는 도구를 제공하는 MCP 서버로, 광범위한 컨텍스트를 가진 대규모 코드베이스를 처리할 수 있습니다.