# gemini-mcp
Claude Code에서 Google Gemini AI 기능을 사용하기 위한 MCP 서버
## 기능
| 도구 | 설명 |
|------|------|
| `analyze_pdf` | PDF 문서 분석 (URL/로컬 파일, 표/차트/이미지 포함) |
| `analyze_image` | 이미지 분석 (스크린샷, 차트, 다이어그램) |
| `generate_text` | 텍스트 생성/요약/번역 |
| `analyze_code` | 코드 리뷰/설명/개선 |
| `gemini_chat` | 세션 기반 멀티턴 대화 (CLI 전용) |
| `gemini_sessions` | 대화 세션 목록 조회 (CLI 전용) |
## 백엔드 선택
| 백엔드 | 쿼터 | 설명 |
|--------|------|------|
| `cli` (기본) | 60 RPM, 1000 RPD | Gemini CLI 사용, Google One 지원 |
| `api` | 5 RPM, 20 RPD | 직접 API 호출 |
**Gemini CLI가 설치되어 있으면 자동으로 CLI 백엔드를 사용합니다.**
## 설치
### 1. Gemini CLI 설치 (권장)
```bash
npm install -g @google/gemini-cli
gemini # 첫 실행 시 Google 계정 로그인
```
### 2. Claude Code MCP 설정
`~/.mcp.json`:
```json
{
"mcpServers": {
"gemini": {
"command": "node",
"args": ["/path/to/gemini-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
```
> API 키는 CLI 사용 시 선택사항입니다.
### API 키 발급 (API 백엔드용)
1. [Google AI Studio](https://aistudio.google.com/app/apikey)에서 API 키 발급
2. `~/.mcp.json`에 설정
## 사용 예시
### PDF 분석
```
analyze_pdf(
source: "https://example.com/report.pdf",
prompt: "이 보고서의 핵심 내용을 요약해주세요"
)
```
### 이미지 분석
```
analyze_image(
source: "~/screenshots/error.png",
prompt: "이 에러 메시지를 분석해주세요"
)
```
### 텍스트 생성
```
generate_text(
prompt: "다음을 영어로 번역해주세요",
context: "안녕하세요, 반갑습니다."
)
```
### 코드 분석
```
analyze_code(
code: "function add(a, b) { return a + b; }",
language: "javascript",
task: "review"
)
```
### 세션 기반 대화 (CLI 전용)
```
# 새 대화 시작
gemini_chat(message: "이 코드 리뷰해줘")
# 이전 대화 이어가기
gemini_chat(message: "더 자세히 설명해줘", resume: "latest")
# 특정 세션 재개
gemini_chat(message: "계속해서...", resume: 1)
# 세션 목록 조회
gemini_sessions()
```
### 백엔드/모델 직접 지정
```
generate_text(
prompt: "Hello",
provider: "api",
model: "pro"
)
```
## 모델 선택
| 파라미터 | 모델 | 설명 |
|----------|------|------|
| `flash` (기본) | gemini-3-flash-preview | 최신, 가장 빠름 |
| `pro` | gemini-3-pro-preview | 최신, 복잡한 추론 |
| `flash-2.5` | gemini-2.5-flash | 레거시 |
| `pro-2.5` | gemini-2.5-pro | 레거시 |
| `flash-lite` | gemini-2.5-flash-lite | 저비용/대량 처리 |
## 로깅
모든 요청/응답이 로그로 기록됩니다.
| 환경변수 | 기본값 | 설명 |
|----------|--------|------|
| `GEMINI_LOG_LEVEL` | `info` | 로그 레벨 (debug, info, warn, error, none) |
| `GEMINI_LOG_DIR` | `~/.gemini-mcp/logs` | 로그 디렉토리 |
로그 파일:
- `~/.gemini-mcp/logs/gemini-mcp-YYYY-MM-DD.log` - 전체 로그
- `~/.gemini-mcp/logs/gemini-mcp-YYYY-MM-DD-error.log` - 에러 로그
## 쿼터 비교
| 백엔드 | RPM | RPD | 기본 모델 |
|--------|-----|-----|----------|
| API (Free) | 5 | 20 | gemini-3-flash-preview |
| CLI (Free) | 60 | 1,000 | gemini-3-flash-preview |
| CLI (Google One) | 더 높음 | 더 높음 | gemini-3-flash-preview |
## 라이선스
MIT