Gemini MCP Server
Provides tools for analyzing PDFs and images, generating and translating text, and reviewing code using Google Gemini AI models (flash and pro variants) with support for both CLI and API backends.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gemini MCP Serveranalyze this PDF and summarize the key findings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gemini-mcp
Claude Code에서 Google Gemini AI 기능을 사용하기 위한 MCP 서버
기능
도구 | 설명 |
| PDF 문서 분석 (URL/로컬 파일) |
| 이미지 분석 (스크린샷, 차트, 다이어그램) |
| 텍스트 생성/요약/번역 |
| 코드 리뷰/설명/개선 |
백엔드 선택
백엔드 | 쿼터 | 설명 |
| 60 RPM, 1000 RPD | Gemini CLI 사용, Google One 지원 |
| 5 RPM, 20 RPD | 직접 API 호출 |
Gemini CLI가 설치되어 있으면 자동으로 CLI 백엔드를 사용합니다.
설치
1. Gemini CLI 설치 (권장)
npm install -g @anthropic-ai/gemini-cli
gemini # 첫 실행 시 Google 계정 로그인2. Claude Code MCP 설정
~/.mcp.json:
{
"mcpServers": {
"gemini": {
"command": "node",
"args": ["/path/to/gemini-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}API 키는 CLI 사용 시 선택사항입니다.
API 키 발급 (API 백엔드용)
Google AI Studio에서 API 키 발급
~/.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"
)백엔드 직접 지정
generate_text(
prompt: "Hello",
provider: "api" # 또는 "cli"
)모델 선택
모델 | 설명 |
| 빠른 응답 |
| 심층 분석 |
쿼터 비교
백엔드 | RPM | RPD | 모델 |
API (Free) | 5 | 20 | gemini-2.5-flash |
CLI (Free) | 60 | 1,000 | gemini-2.5-pro |
CLI (Google One) | 더 높음 | 더 높음 | gemini-2.5-pro |
라이선스
MIT
Available Tools
4 toolsanalyze_codeB
코드를 분석합니다. 리뷰(review), 설명(explain), 개선(improve) 중 선택할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | 분석할 코드 | |
| language | No | 프로그래밍 언어 (예: javascript, python, typescript) | |
| task | No | 분석 유형: review(코드 리뷰), explain(코드 설명), improve(개선 제안) | review |
| prompt | No | 커스텀 프롬프트 (기본 프롬프트 대신 사용) | |
| model | No | 모델 선택 | flash |
| provider | No | 백엔드 선택: api(직접 API) 또는 cli(Gemini CLI, 높은 쿼터) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the three analysis types but doesn't describe what each type actually does, expected outputs, rate limits, authentication needs, or error conditions. The description is too vague about the tool's actual behavior beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with just two sentences. The first sentence states the core purpose, and the second sentence lists the available analysis types. There's no wasted verbiage, though it could be slightly more informative given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the different analysis types actually produce, how results are returned, or provide any guidance on the more complex parameters like provider, model, or prompt. The description leaves too much undefined for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it mentions the three task options but the schema already documents these with enum values and descriptions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '코드를 분석합니다' (analyzes code) and specifies the three analysis types available (review, explain, improve). It uses a specific verb ('분석합니다') with a clear resource ('코드'), but doesn't distinguish it from sibling tools like analyze_image or analyze_pdf beyond the code focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by listing the three analysis types (review, explain, improve), suggesting when different modes might be appropriate. However, it doesn't provide explicit guidance on when to choose this tool over alternatives like generate_text, nor does it mention any exclusions or prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_imageC
이미지를 분석합니다. 스크린샷, 차트, 다이어그램, 사진 등을 지원합니다. (JPEG, PNG, GIF, WebP)
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | 이미지 경로 (URL 또는 로컬 파일). 지원 포맷: JPEG, PNG, GIF, WebP | |
| prompt | Yes | 분석 프롬프트 | |
| model | No | 모델 선택 | flash |
| provider | No | 백엔드 선택: api(직접 API) 또는 cli(Gemini CLI, 높은 쿼터) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions supported image types and formats, but lacks critical behavioral details such as rate limits, authentication needs, output format, error handling, or whether the analysis is destructive. For a tool with no annotations, this leaves significant gaps in understanding its operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose ('이미지를 분석합니다'), followed by supporting details. It uses two sentences efficiently, though the second sentence could be more structured. There's no unnecessary repetition, making it appropriately concise for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool with 4 parameters. It covers the purpose and supported formats but misses behavioral context (e.g., how results are returned, limitations) and doesn't compensate for the lack of structured output information. This is inadequate for guiding an agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters (source, prompt, model, provider). The description adds minimal value beyond the schema, only reiterating supported image formats in Korean, which partially overlaps with the source parameter's description. Baseline 3 is appropriate as the schema handles most documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '이미지를 분석합니다' (analyzes images) with specific examples of supported image types (screenshots, charts, diagrams, photos) and formats (JPEG, PNG, GIF, WebP). It distinguishes from siblings like analyze_code and analyze_pdf by focusing on images, though it doesn't explicitly contrast with generate_text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description mentions supported image types and formats, but doesn't specify scenarios or prerequisites for choosing this over sibling tools like analyze_code or generate_text. Usage is implied through context rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_pdfC
PDF 문서를 분석합니다. URL 또는 로컬 파일 경로를 지원합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | PDF 경로 (URL 또는 로컬 파일) | |
| prompt | Yes | 분석 프롬프트 | |
| model | No | 모델 선택 | flash |
| provider | No | 백엔드 선택: api(직접 API) 또는 cli(Gemini CLI, 높은 쿼터) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions support for URL/local file inputs but doesn't describe what the analysis does, what the output looks like, whether it's a read-only operation, potential rate limits, authentication needs, or error conditions. For a tool with 4 parameters and no output schema, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences in Korean, with zero wasted words. It's appropriately sized for a basic tool description, though it could be more informative. The structure is straightforward but lacks front-loading of critical information about the analysis type.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no annotations, no output schema) and sibling tools requiring differentiation, the description is incomplete. It doesn't explain what analysis means, what results to expect, or how this differs from other analysis tools. For an analytical tool with multiple configuration options, this leaves too much undefined for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds marginal value by mentioning URL/local file support for the 'source' parameter, but doesn't provide additional context about parameter interactions, default behaviors, or practical examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'PDF 문서를 분석합니다' (analyzes PDF documents), which provides a basic verb+resource pairing. However, it doesn't specify what kind of analysis is performed (text extraction, structure analysis, content summarization, etc.) or how it differs from sibling tools like analyze_code or analyze_image. The purpose is clear but vague about the specific analytical function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'URL 또는 로컬 파일 경로를 지원합니다' (supports URL or local file paths), which provides some technical context about input types. However, it offers no guidance on when to use this tool versus analyze_code or analyze_image, nor does it mention any prerequisites, constraints, or typical use cases. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_textB
텍스트를 생성합니다. 요약, 번역, 창작 등에 활용할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | 생성 프롬프트 | |
| context | No | 추가 컨텍스트 (번역할 텍스트, 요약할 내용 등) | |
| model | No | 모델 선택 | flash |
| maxTokens | No | 최대 출력 토큰 | |
| provider | No | 백엔드 선택: api(직접 API) 또는 cli(Gemini CLI, 높은 쿼터) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While it states the tool generates text, it doesn't describe important behavioral traits such as rate limits, authentication requirements, potential costs, response formats, or error conditions. For a text generation tool with 5 parameters and no annotations, this represents a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two sentences that directly communicate the core functionality and use cases. Every word earns its place, and the information is front-loaded with the primary purpose stated immediately. No unnecessary elaboration or redundancy exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a text generation tool with 5 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, how to interpret results, error handling, or important behavioral constraints. The agent would need to guess about the output format and operational characteristics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all parameters are documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema. According to guidelines, when schema coverage is high (>80%), the baseline score is 3 even with no parameter information in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '텍스트를 생성합니다' (generates text) and provides specific use cases like summarization, translation, and creation. This distinguishes it from sibling tools (analyze_code, analyze_image, analyze_pdf) which are for analysis rather than generation. However, it doesn't explicitly differentiate from potential text-generation alternatives within the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage contexts ('요약, 번역, 창작 등에 활용할 수 있습니다' - can be used for summarization, translation, creation, etc.) but doesn't provide explicit guidance on when to use this tool versus alternatives. No exclusions or prerequisites are mentioned, leaving the agent to infer appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.0- First observed
analyze_code - First observed
analyze_image - First observed
analyze_pdf - First observed
generate_text
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose based on the input type: analyze_code for code, analyze_image for images, analyze_pdf for PDFs, and generate_text for text generation. There is no overlap in functionality, making it easy for an agent to select the correct tool without confusion.
All tool names follow a consistent verb_noun pattern with 'analyze_' or 'generate_' prefixes, using snake_case uniformly. This predictable naming scheme enhances readability and usability across the tool set.
With 4 tools, the server is well-scoped for a Gemini MCP server focused on analysis and generation tasks, though it might feel slightly thin if more specialized operations are needed. The count is reasonable and each tool earns its place.
The tool set covers core analysis and generation functions for code, images, PDFs, and text, with no obvious dead ends. Minor gaps might exist, such as lack of update or delete operations, but agents can work around these for the stated purpose.
Related MCP Connectors
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
- lightgenOAuthapp.lightgen
Generate and edit images and create short videos inside Claude. Prepaid credits, no subscription.
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Claude makes real phone calls for you — in many languages, with transcript and outcome back in chat.