GeminiDesktop MCP 서버 2026: Claude Code / Cursor에서 Gemini 네이티브 도구 호출
GeminiDesktop MCP 서버 2026: Claude Code / Cursor에서 Gemini 네이티브 도구 호출
결론부터 말하면: GeminiDesktop은 Gemini 생태계에서 가장 가치 있는 9가지 네이티브 능력(chat / generate_image / generate_video / generate_music / tts / embed / generate_audio_overview / rag_index / rag_query)을 단일 stdio MCP 서버로 노출합니다. GeminiDesktop.app을 설치했다면 CLI와 MCP 서버가 이미 들어 있는 상태입니다. npm publish 불필요, pip install 불필요, 글루 코드도 없습니다. Claude Code는 claude mcp add 한 줄로 바로 Gemini Nano Banana 2에 커버 이미지를 만들게 하거나 로컬 RAG를 조회하게 할 수 있습니다.
한 줄 요약: 하나의 Rust 바이너리, 세 가지 진입 모드(GUI / CLI / MCP). Rust + rmcp + stdio가 지금 기준으로 가장 가벼운 구현입니다. BYOK는 환경 변수 우선, Tauri store가 폴백. Claude Code와 Cursor가 REST 래퍼가 아닌 진짜 Gemini 네이티브 도구를 갖게 됩니다.
2026년 MCP 생태계: 누가 서버를 내놓고 누가 안 내놨나
Anthropic이 2024년 말 MCP(Model Context Protocol)를 오픈소스로 공개한 이후, 생태계는 3개 층으로 정착됐습니다.
- 공식 레퍼런스 층: Anthropic이
modelcontextprotocol/servers에서 filesystem / github / slack / puppeteer를 유지. 품질은 높지만 커버리지가 좁다. - 커뮤니티 래퍼 층: 개인 개발자들이
@modelcontextprotocol/sdk로 REST API를 감싼다. 품질이 제각각이며 Gemini, Claude, OpenAI는 아직도 first-party MCP 서버를 내놓지 않았다. - 제품 내장 층: Linear, Sentry 같은 SaaS 벤더가 자사 앱에 MCP 서버를 박아 두고 있어, 설치만 하면 이미 존재한다.
GeminiDesktop은 세 번째 길을 택했습니다. 앱을 설치하면 /Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop mcp가 자동으로 엔트리 포인트로 존재합니다. Claude Code / Cursor 사용자 입장에서 가장 마찰이 적은 연결 방식입니다.
왜 Rust + rmcp + stdio인가
MCP 서버 구현의 현실적인 3가지 스택:
| 스택 | 콜드 스타트 | 바이너리 크기 | 재사용성 | 적합한 용도 |
|---|---|---|---|---|
Node + @modelcontextprotocol/sdk |
300-800ms(Node 부팅 포함) | 별도 패키지 ~50MB | 독립 | 프로토타입, 독립 서버 |
Python + mcp |
500-1000ms | 별도 배포 | 독립 | 데이터 사이언스 계열 |
Rust + rmcp crate + stdio |
< 50ms | GUI 바이너리 재사용, 추가 0 | GUI/CLI와 동일 프로세스·동일 코드 | 제품 내장형 MCP |
GeminiDesktop은 애초에 Tauri 2.x + Rust 데스크톱 앱입니다. rmcp crate(공식 Rust SDK)를 도입하고 main.rs에 mcp 서브커맨드 분기를 하나만 추가하면, Gemini API 호출 로직이 GUI와 공유됩니다. 버그를 한 번 고치면 세 진입점에 동시 반영됩니다.
stdio 전송 방식도 자연스럽습니다. Claude Code, Cursor, Continue 같은 주요 MCP 클라이언트는 모두 자식 프로세스를 spawn해서 stdio로 통신하기 때문에 HTTP 포트나 OAuth가 필요 없습니다.
단일 바이너리: GeminiDesktop.app을 설치하면 이미 들어 있음
전통적인 방식은 “GUI 다운로드 + 별도로 npm install @xxx/mcp-server“입니다. 사용자가 두 번 설치, 두 번 업데이트, 두 번 API 키 설정을 해야 합니다. GeminiDesktop의 방식은 다릅니다.
# GeminiDesktop.app 설치 후, 같은 바이너리가 세 개의 진입 모드를 제공합니다
/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop # GUI 모드
/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop chat # CLI 모드
/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop mcp # MCP 모드
세 모드가 공유하는 것:
- 설정: 동일한 Tauri store(
~/Library/Application Support/app.geminidesktop.desktop/) - API 키: GUI에서 한 번 설정하면 CLI와 MCP가 그대로 사용
- 캐시: Gemini 모델 목록, embedding 캐시, RAG 인덱스도 공유
- 업그레이드: Tauri updater가 GUI를 업데이트하면 CLI와 MCP도 같이 업데이트
사용자 관점: 한 번 설치하면 셋 다 동작. npm publish 없고, 버전 불일치도 없습니다.
노출되는 9가지 도구
| 도구명 | 기능 | 전형적 용도 |
|---|---|---|
chat |
일반 Gemini 대화 | Claude가 쓴 코드의 세컨드 오피니언 리뷰 |
generate_image |
Imagen / Nano Banana 2 이미지 생성 | 블로그 집필 중 커버 이미지 |
generate_video |
Veo 3 텍스트→동영상 | 제품 데모 클립, 히어로 영상 |
generate_music |
Lyria 사운드트랙 생성 | 팟캐스트 인트로, 동영상 BGM |
tts |
Gemini TTS(다양한 음색, 다국어) | 기사→팟캐스트, 음성 데모 |
embed |
gemini-embedding-001(768차원) | 클라이언트 측 RAG 전처리 |
generate_audio_overview |
NotebookLM 스타일 듀얼 호스트 팟캐스트 | 긴 글을 10분 출퇴근 팟캐스트로 |
rag_index |
파일/폴더를 로컬 sqlite-vec에 인덱스 | Claude가 편집 중인 코드베이스 인덱스 |
rag_query |
로컬 sqlite-vec에서 top-k 검색 | “내 노트에서 XXX 구현 방법 찾아줘” |
앞 7개는 Gemini 클라우드 능력이고 뒤 2개는 GeminiDesktop 전용 로컬 RAG입니다. 업로드 없이 전부 로컬 SQLite 파일에 저장됩니다. 구현 세부 사항은 로컬 sqlite-vec RAG: 50만 자 노트를 200 MB 파일로 인덱싱을 참고하세요.
Claude Code: 한 줄 설치
Claude Code 0.6+는 claude mcp add로 커맨드라인에서 서버를 등록할 수 있습니다.
# macOS
claude mcp add geminidesktop -- /Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop mcp
# Windows
claude mcp add geminidesktop -- "C:\Program Files\GeminiDesktop\GeminiDesktop.exe" mcp
# 검증
claude mcp list
# geminidesktop (stdio) - 9 tools available 이 나오면 성공
그다음 아무 Claude Code 대화창에서:
> 방금 쓴 README용 커버 이미지 만들어줘, 1600x900 가로.
Claude가 자동으로 generate_image를 선택하고 뒤에서 Nano Banana 2를 호출, 파일을 프로젝트에 저장하고 경로를 돌려줍니다. 터미널을 떠날 필요가 없습니다.
Cursor settings.json 한 블록
Cursor 0.46+는 MCP를 네이티브로 지원합니다. ~/.cursor/settings.json에 다음을 추가:
{
"mcp": {
"servers": {
"geminidesktop": {
"command": "/Applications/GeminiDesktop.app/Contents/MacOS/GeminiDesktop",
"args": ["mcp"],
"env": {}
}
}
}
}
Claude Code와 차이:
- Claude Code: CLI 구동(
claude mcp add),~/.claude/mcp.json에 저장 - Cursor: 수동 JSON 편집, 관리 CLI 아직 없음
- 공통: stdio 전송, 동일 바이너리, 공유 API 키
Cursor Composer(Cmd+I)에서 “generate an image of…“라고만 말하면 자동으로 해당 MCP 도구를 선택합니다.
BYOK 우선순위: 환경 변수 > Tauri store
GeminiDesktop이 API 키를 해석하는 순서:
GEMINI_API_KEY환경 변수(최우선) — CI, 일회성 오버라이드, 프로젝트별 키에 적합- Tauri store(
~/Library/Application Support/app.geminidesktop.desktop/config.json) — GUI에서 설정한 영구 키 - 에러 — Google이 호스팅하는 공유 키로 폴백하지 않음(할당량 유출 방지)
이 순서의 장점:
- 프로젝트별 다른 키를 쓰고 싶을 때
export GEMINI_API_KEY=xxx후 Claude Code / Cursor 실행하면 끝 - CI/팀 공유 러너: Tauri store에 키를 쓰지 않음(rsync되거나 실수로 커밋될 위험) — env로 주입
- 개인 사용자: GUI에서 한 번 설정, CLI/MCP가 그대로 상속, 제로 컨피그
실전: Claude Code에서 Gemini로 커버 이미지 + 로컬 RAG 조회
전형적인 블로그 집필 루프:
[you] "React Server Components로 AI 챗 만들기" 블로그 초안 쓰는 중.
먼저 ~/notes에서 RSC 관련 예전 노트 찾아줘.
[claude] geminidesktop.rag_query 호출 중...
상위 3개:
1. 2025-11-20-rsc-streaming.md (score 0.89)
2. 2025-09-03-ai-chat-patterns.md (score 0.84)
3. 2026-02-14-use-server-actions.md (score 0.78)
이 노트들을 바탕으로 아웃라인:...
[you] 좋아, H2 섹션마다 커버 이미지 한 장씩.
[claude] geminidesktop.generate_image x 5 호출 중...
./images/에 5장 저장했습니다.
Claude가 로컬 컨텍스트(RAG)와 멀티모달 생성(Gemini)을 동시에 얻으며, 이 모든 것은 하나의 MCP 바이너리를 통해 이뤄집니다. 별도 브라우저 탭, 키 전환, 글루 코드가 필요 없습니다.
더 자세한 엔지니어링 노트는 geminidesktop.app과 Claude Code Skills를 GeminiDesktop에 마이그레이션하는 방법을 참고하세요.
자주 묻는 질문
Q1: Gemini REST API를 직접 호출하는 것과 뭐가 다른가요?
A: REST는 fetch를 작성하고 auth를 처리하고 rate limit을 관리해야 합니다. MCP는 이것들을 “도구”로 캡슐화해서 Claude Code / Cursor가 대화 맥락에 따라 자동 호출합니다. 코드 불필요, 글루 레이어 불필요.
Q2: GeminiDesktop을 설치하지 않고 이 MCP 서버만 쓸 수 있나요?
A: 현재는 불가. 설계상 “GUI + CLI + MCP가 하나의 바이너리를 공유”하도록 해서 설정과 캐시를 최대한 재사용하게 했습니다. 반드시 headless만 필요하다면 GitHub release의 headless 빌드를 쓸 수 있지만 auto-update는 없습니다.
Q3: Windows / Linux 지원은?
A: macOS와 Windows는 first-class. Linux는 커뮤니티가 유지하는 AppImage로 MCP 모드도 동일하게 사용 가능합니다.
지금 시작하기
- 공식 사이트: https://geminidesktop.app
- BibiGPT: https://bibigpt.co
- 데스크톱 다운로드: https://bibigpt.co/download/desktop
- 더 많은 기능: https://bibigpt.co/features