The ultimate open-source server for advanced Gemini API interaction with MCP, intelligently selects models.
Professional Gemini API integration for Claude and all MCP-compatible hosts with intelligent model selection and advanced file handling
Evolved from the geminiserchMCP project with enhanced capabilities
Installation • Features • Usage • Examples • Models • Contributing
GemSuite (Model Context Protoco) MCP is the ultimate Gemini API integration interface for MCP hosts, intelligently selecting models for the task at hand—delivering optimal performance, minimal token cost, and seamless integration. It enables any MCP-compatible host (Claude, Cursor, Replit, etc.) to seamlessly leverage Gemini's capabilities with a focus on:
Whether you're analyzing documents, solving complex problems, processing large text files, or searching for information, GemSuite MCP provides the right tools with the right models for the job.
Unlike other Gemini MCP servers that offer limited functionality, GemSuite MCP provides:
✅ Intelligent Model Selection: Automatically selects the optimal Gemini model based on task ✅ Unified File Handling: Seamlessly processes various file types with automatic format detection ✅ Comprehensive Tool Suite: Four specialized tools covering search, reasoning, processing, and analysis ✅ Production-Ready: Deployed and validated on Smithery.ai, MCP.so, and Glama.io
# Install directly via Smithery CLI
npx -y @smithery/cli@latest install @PV-Bhat/gemsuite-mcp --client claude
# Clone the repository
git clone https://github.com/PV-Bhat/gemsuite-mcp.git
cd gemsuite-mcp
# Install dependencies
npm install
# Set your Gemini API key
echo "GEMINI_API_KEY=your_api_key_here" > .env
# Build the project
npm run build
# Start the server
npm start
export GEMINI_API_KEY=your_api_key_here
or create a .env
file in the project root:
GEMINI_API_KEY=your_api_key_here
file_path
parameterGemSuite MCP automatically selects the most appropriate Gemini model based on:
This intelligence ensures optimal performance while minimizing token usage.
graph TD
A[Task Request] --> B{Task Type}
B -->|Search| C[Gemini Flash]
B -->|Reasoning| D[Gemini Flash Thinking]
B -->|Processing| E[Gemini Flash-Lite]
B -->|Analysis| F{File Type}
F -->|Image| G[Gemini Flash]
F -->|Code| H[Gemini Flash Thinking]
F -->|Text| I[Gemini Flash-Lite]
C & D & E & G & H & I --> J[Execute Request]
Tool | Purpose | Model | Use Cases |
---|---|---|---|
gem_search | Information retrieval with search integration | Gemini Flash | Factual questions, current information, grounded responses |
gem_reason | Complex reasoning with step-by-step analysis | Gemini Flash Thinking | Math, science, coding problems, logical analysis |
gem_process | Fast, efficient content processing | Gemini Flash-Lite | Summarization, extraction, high-volume operations |
gem_analyze | Intelligent file analysis with auto-model selection | Auto-selected | Document analysis, code review, image understanding |
When using GemSuite MCP with Claude or other MCP-compatible hosts, the tools will be available directly in the assistant's toolkit. Simply call the appropriate tool for your needs:
gem_search
: For factual questions requiring search integrationgem_reason
: For complex problems requiring step-by-step reasoninggem_process
: For efficient processing of text or files (most token-efficient)gem_analyze
: For detailed analysis of files with automatic model selection// Summarize a large document
const response = await gem_process({
file_path: "/path/to/your/large_document.pdf",
operation: "summarize"
});
// Extract specific information
const response = await gem_process({
file_path: "/path/to/your/report.docx",
operation: "extract",
content: "Extract all financial data and metrics from this document."
});
// Analyze an image
const response = await gem_analyze({
file_path: "/path/to/your/image.jpg",
instruction: "Describe what you see in this image in detail."
});
// Analyze code
const response = await gem_analyze({
file_path: "/path/to/your/code.py",
instruction: "Identify potential bugs and suggest optimizations."
});
// Solve a complex problem with step-by-step reasoning
const response = await gem_reason({
problem: "Analyze this code and suggest improvements:",
file_path: "/path/to/your/code.js",
show_steps: true
});
// Mathematical problem solving
const response = await gem_reason({
problem: "Solve this differential equation: dy/dx = 2xy with y(0) = 1",
show_steps: true
});
// Answer questions about a document with search integration
const response = await gem_search({
query: "What companies are mentioned in this document?",
file_path: "/path/to/your/document.pdf"
});
// Factual questions with search
const response = await gem_search({
query: "What are the latest developments in quantum computing?",
enable_thinking: true
});
GemSuite MCP leverages three primary Gemini models, intelligently selecting the optimal model for each task:
// 1. Get a high-level summary (most efficient)
const summary = await gem_process({
file_path: "/path/to/large_document.pdf",
operation: "summarize"
});
// 2. Extract specific information
const keyPoints = await gem_process({
file_path: "/path/to/large_document.pdf",
operation: "extract",
content: "Extract the key findings and recommendations"
});
// 3. Answer specific questions with search integration
const answers = await gem_search({
query: "Based on this document, what are the implications for market growth?",
file_path: "/path/to/large_document.pdf"
});
// 4. Claude synthesizes the processed information
// This approach is dramatically more token-efficient than having
// Claude process the entire document directly
// 1. Get code overview
const overview = await gem_analyze({
file_path: "/path/to/code.js",
instruction: "Provide an overview of this code's structure and purpose"
});
// 2. Identify potential issues
const issues = await gem_reason({
problem: "Analyze this code for bugs, security vulnerabilities, and performance issues",
file_path: "/path/to/code.js",
show_steps: true
});
// 3. Generate improvements
const improvements = await gem_reason({
problem: "Suggest specific improvements to make this code more efficient and maintainable",
file_path: "/path/to/code.js",
show_steps: true
});
// 4. Claude provides a comprehensive code review synthesis
GemSuite MCP works with any MCP-compatible host:
You can override the automatic model selection by specifying the model_id
parameter:
// Force the use of Gemini Flash Thinking for a processing task
const response = await gem_process({
file_path: "/path/to/document.pdf",
operation: "analyze",
model_id: "models/gemini-2.0-flash-thinking"
});
gem_process
summarize
: Create a concise summaryextract
: Extract specific informationrestructure
: Reorganize content into a more useful formatsimplify
: Make complex content easier to understandexpand
: Add detail or context to contentcritique
: Provide critical analysisfeedback
: Offer constructive feedbackanalyze
: General analysis of contentContributions are welcome! Here's how to get started:
git checkout -b feature/my-new-feature
npm test
git commit -m 'Add my new feature'
git push origin feature/my-new-feature
For major changes, please open an issue first to discuss what you'd like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
Retrieving and analyzing issues from Sentry.io
Create crafted UI components inspired by the best 21st.dev design engineers.
ALAPI MCP Tools,Call hundreds of API interfaces via MCP
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.
Flag features, manage company data, and control feature access using Bucket
Enable AI Agents to fix build failures from CircleCI.
Query and analyze your Opik logs, traces, prompts and all other telemtry data from your LLMs in natural language.
Run code in secure sandboxes hosted by E2B
Tool platform by IBM to build, test and deploy tools for any data source
Run Python in a code sandbox.