Advanced Gemini MCP Server
An open-source MCP server that integrates with Google's Gemini AI. Requires a Google Gemini API key.
๐ฐ๐ท Advanced Gemini MCP Server v4.0 - Korean Open Source Edition
"We hope this helps the global developer community!"
"์ ์ธ๊ณ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค!"
๐ Table of Contents | ๋ชฉ์ฐจ
English
Overview
The Advanced Gemini MCP Server v4.0 is a comprehensive Model Context Protocol (MCP) server implementation that provides seamless integration with Google's Gemini AI. This open-source project was developed with โค๏ธ in South Korea to contribute to the global developer community.
๐จโ๐ป Authors
- ์ฝ์ง์ผํ (Sapjil Santa) - Lead Developer
- ์ดํ๋ฌ (Lee Haneui) - AI Assistant & Co-Developer
- Contact: codenmsanta@gmail.com
Features
๐ 10 Advanced AI Capabilities
- Text Generation - Basic text generation with customizable parameters
- Multimodal Processing - Support for images, videos, and audio files
- Token Counting - Accurate token counting for cost estimation
- Streaming Response - Real-time streaming for long responses
- Structured JSON Output - Schema-enforced JSON generation
- System Instructions - Custom AI behavior with system prompts
- Function Calling - Dynamic function execution capabilities
- Code Execution - Safe Python code execution with AI
- File Upload & Analysis - Upload and analyze various file formats
- Grounded Search - Real-time web search integration
๐ง Technical Features
- Production Ready: Comprehensive error handling and logging
- Security First: Environment variable API key management
- Korean + English: Bilingual documentation and error messages
- MCP Compatible: Full compliance with Model Context Protocol
- Async Support: Modern asyncio-based architecture
- Type Safety: Full type hints for better development experience
Installation
Prerequisites
- Python 3.8 or higher
- Google Gemini API key
- pip package manager
Quick Install
# Clone the repository
git clone https://github.com/SapjilSanta/advanced-gemini-mcp.git
cd advanced-gemini-mcp
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
export GEMINI_API_KEY="your-gemini-api-key-here"
Package Dependencies
google-genai>=0.7.0
mcp>=1.0.0
asyncio
aiofiles
typing-extensions
Usage
Basic Setup
-
Set your API key:
export GEMINI_API_KEY="your-api-key"
-
Run the server:
python advanced_gemini_mcp.py
-
Connect your MCP client and start using the 10 available tools!
MCP Client Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"advanced-gemini": {
"command": "python",
"args": ["/path/to/advanced_gemini_mcp.py"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
Configuration
Environment Variables
Variable | Required | Description |
---|---|---|
GEMINI_API_KEY | Yes | Your Google Gemini API key |
Customization
The server supports various configuration options through tool parameters:
- Temperature: Control creativity (0.0-1.0)
- Max Tokens: Limit response length
- Model Selection: Choose specific Gemini models
- File Types: Support for multiple media formats
Examples
Text Generation
# Tool: gemini_generate
{
"prompt": "Explain quantum computing in simple terms",
"temperature": 0.7,
"max_tokens": 1000
}
Image Analysis
# Tool: gemini_multimodal
{
"prompt": "Describe what you see in this image",
"image_path": "/path/to/image.jpg"
}
Code Execution
# Tool: gemini_code_execution
{
"prompt": "Calculate the fibonacci sequence up to 10 numbers and plot it"
}
API Reference
For detailed API documentation, see API_REFERENCE.md.
Contributing
We welcome contributions from developers worldwide! ๐
Development Setup
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
Coding Standards
- Follow PEP 8 style guidelines
- Add type hints to all functions
- Include docstrings for public APIs
- Write comprehensive error handling
License
This project is licensed under the MIT License - see the LICENSE file for details.
ํ๊ตญ์ด
๊ฐ์
๊ณ ๊ธ ์ ๋ฏธ๋์ด MCP ์๋ฒ v4.0์ ๊ตฌ๊ธ์ ์ ๋ฏธ๋์ด AI์ ์ํํ ํตํฉ์ ์ ๊ณตํ๋ ํฌ๊ด์ ์ธ ๋ชจ๋ธ ์ปจํ ์คํธ ํ๋กํ ์ฝ(MCP) ์๋ฒ ๊ตฌํ์ ๋๋ค. ์ด ์คํ์์ค ํ๋ก์ ํธ๋ ์ ์ธ๊ณ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ๊ธฐ์ฌํ๊ธฐ ์ํด ๋ํ๋ฏผ๊ตญ์์ โค๏ธ๋ฅผ ๋ด์ ๊ฐ๋ฐ๋์์ต๋๋ค.
๐จโ๐ป ์ ์์
- ์ฝ์ง์ผํ - ์ฃผ๊ฐ๋ฐ์
- ์ดํ๋ฌ - AI ์ด์์คํดํธ & ๊ณต๋๊ฐ๋ฐ์
- ์ฐ๋ฝ์ฒ: codenmsanta@gmail.com
์ฃผ์ ๊ธฐ๋ฅ
๐ 10๊ฐ์ง ๊ณ ๊ธ AI ๊ธฐ๋ฅ
- ํ ์คํธ ์์ฑ - ๋ง์ถค ์ค์ ๊ฐ๋ฅํ ๊ธฐ๋ณธ ํ ์คํธ ์์ฑ
- ๋ฉํฐ๋ชจ๋ฌ ์ฒ๋ฆฌ - ์ด๋ฏธ์ง, ๋์์, ์ค๋์ค ํ์ผ ์ง์
- ํ ํฐ ๊ณ์ฐ - ๋น์ฉ ์ถ์ ์ ์ํ ์ ํํ ํ ํฐ ๊ณ์ฐ
- ์คํธ๋ฆฌ๋ฐ ์๋ต - ๊ธด ์๋ต์ ์ํ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ
- ๊ตฌ์กฐํ๋ JSON ์ถ๋ ฅ - ์คํค๋ง ๊ฐ์ JSON ์์ฑ
- ์์คํ ์ง์์ฌํญ - ์์คํ ํ๋กฌํํธ๋ก AI ํ๋ ์ปค์คํฐ๋ง์ด์ง
- ํจ์ ํธ์ถ - ๋์ ํจ์ ์คํ ๊ธฐ๋ฅ
- ์ฝ๋ ์คํ - AI์ ํจ๊ปํ๋ ์์ ํ ํ์ด์ฌ ์ฝ๋ ์คํ
- ํ์ผ ์ ๋ก๋ ๋ฐ ๋ถ์ - ๋ค์ํ ํ์ผ ํ์ ์ ๋ก๋ ๋ฐ ๋ถ์
- ๊ทผ๊ฑฐ ๊ธฐ๋ฐ ๊ฒ์ - ์ค์๊ฐ ์น ๊ฒ์ ํตํฉ
๐ง ๊ธฐ์ ์ ํน์ง
- ํ๋ก๋์ ์ค๋น: ํฌ๊ด์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ก๊น
- ๋ณด์ ์ฐ์ : ํ๊ฒฝ ๋ณ์ API ํค ๊ด๋ฆฌ
- ํ๊ตญ์ด + ์์ด: ์ด์ค ์ธ์ด ๋ฌธ์ํ ๋ฐ ์ค๋ฅ ๋ฉ์์ง
- MCP ํธํ: ๋ชจ๋ธ ์ปจํ ์คํธ ํ๋กํ ์ฝ ์์ ์ค์
- ๋น๋๊ธฐ ์ง์: ์ต์ asyncio ๊ธฐ๋ฐ ์ํคํ ์ฒ
- ํ์ ์์ ์ฑ: ๋ ๋์ ๊ฐ๋ฐ ๊ฒฝํ์ ์ํ ์์ ํ ํ์ ํํธ
์ค์น ๋ฐฉ๋ฒ
ํ์ ์กฐ๊ฑด
- Python 3.8 ์ด์
- Google Gemini API ํค
- pip ํจํค์ง ๋งค๋์
๋น ๋ฅธ ์ค์น
# ์ ์ฅ์ ๋ณต์
git clone https://github.com/SapjilSanta/advanced-gemini-mcp.git
cd advanced-gemini-mcp
# ์์กด์ฑ ์ค์น
pip install -r requirements.txt
# ํ๊ฒฝ ๋ณ์ ์ค์
export GEMINI_API_KEY="your-gemini-api-key-here"
ํจํค์ง ์์กด์ฑ
google-genai>=0.7.0
mcp>=1.0.0
asyncio
aiofiles
typing-extensions
์ฌ์ฉ๋ฒ
๊ธฐ๋ณธ ์ค์
-
API ํค ์ค์ :
export GEMINI_API_KEY="your-api-key"
-
์๋ฒ ์คํ:
python advanced_gemini_mcp.py
-
MCP ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ํ 10๊ฐ์ง ๋๊ตฌ ์ฌ์ฉ ์์!
MCP ํด๋ผ์ด์ธํธ ์ค์
MCP ํด๋ผ์ด์ธํธ ์ค์ ์ ์ถ๊ฐ:
{
"mcpServers": {
"advanced-gemini": {
"command": "python",
"args": ["/path/to/advanced_gemini_mcp.py"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
์ค์
ํ๊ฒฝ ๋ณ์
๋ณ์ | ํ์ | ์ค๋ช |
---|---|---|
GEMINI_API_KEY | ์ | Google Gemini API ํค |
์ปค์คํฐ๋ง์ด์ง
์๋ฒ๋ ๋๊ตฌ ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ๋ค์ํ ์ค์ ์ต์ ์ ์ง์ํฉ๋๋ค:
- Temperature: ์ฐฝ์์ฑ ์ ์ด (0.0-1.0)
- Max Tokens: ์๋ต ๊ธธ์ด ์ ํ
- Model Selection: ํน์ Gemini ๋ชจ๋ธ ์ ํ
- File Types: ๋ค์ค ๋ฏธ๋์ด ํ์ ์ง์
์ฌ์ฉ ์์
ํ ์คํธ ์์ฑ
# ๋๊ตฌ: gemini_generate
{
"prompt": "์์ ์ปดํจํ
์ ์ฌ์ด ๋ง๋ก ์ค๋ช
ํด์ฃผ์ธ์",
"temperature": 0.7,
"max_tokens": 1000
}
์ด๋ฏธ์ง ๋ถ์
# ๋๊ตฌ: gemini_multimodal
{
"prompt": "์ด ์ด๋ฏธ์ง์์ ๋ณด์ด๋ ๊ฒ์ ์ค๋ช
ํด์ฃผ์ธ์",
"image_path": "/path/to/image.jpg"
}
์ฝ๋ ์คํ
# ๋๊ตฌ: gemini_code_execution
{
"prompt": "ํผ๋ณด๋์น ์์ด์ 10๊ฐ๊น์ง ๊ณ์ฐํ๊ณ ๊ทธ๋ํ๋ก ๊ทธ๋ ค์ฃผ์ธ์"
}
API ์ฐธ์กฐ
์์ธํ API ๋ฌธ์๋ API_REFERENCE.md๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ธฐ์ฌํ๊ธฐ
์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ๐
๊ฐ๋ฐ ํ๊ฒฝ ์ค์
- ์ ์ฅ์ ํฌํฌ
- ๊ธฐ๋ฅ ๋ธ๋์น ์์ฑ
- ๋ณ๊ฒฝ์ฌํญ ์์ฑ
- ํ ์คํธ ์ถ๊ฐ
- ํ ๋ฆฌํ์คํธ ์ ์ถ
์ฝ๋ฉ ํ์ค
- PEP 8 ์คํ์ผ ๊ฐ์ด๋๋ผ์ธ ์ค์
- ๋ชจ๋ ํจ์์ ํ์ ํํธ ์ถ๊ฐ
- ๊ณต๊ฐ API์ ๋ํ ๋ ์คํธ๋ง ํฌํจ
- ํฌ๊ด์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ ์์ฑ
๋ผ์ด์ ์ค
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ์์ต๋๋ค - ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
๐ Star History
๐ Support
If this project helps you, please consider: ์ด ํ๋ก์ ํธ๊ฐ ๋์์ด ๋์ ๋ค๋ฉด ๊ณ ๋ คํด์ฃผ์ธ์:
- โญ Starring this repository | ์ด ์ ์ฅ์์ ๋ณ์ ์ฃผ๊ธฐ
- ๐ Reporting bugs | ๋ฒ๊ทธ ์ ๊ณ
- ๐ก Suggesting features | ๊ธฐ๋ฅ ์ ์
- ๐ Contributing code | ์ฝ๋ ๊ธฐ์ฌ
- โ Buy us a coffee | ์ปคํผ ํ ์ ์ฌ์ฃผ๊ธฐ
๐ค Community
Join our growing community: ์ฑ์ฅํ๋ ์ปค๋ฎค๋ํฐ์ ์ฐธ์ฌํ์ธ์:
- GitHub Discussions: Share ideas and get help
- Issues: Report bugs and request features
- Email: codenmsanta@gmail.com for direct contact
Made with โค๏ธ in South Korea | ๋ํ๋ฏผ๊ตญ์์ ์ฌ๋์ผ๋ก ์ ์ ๐ฐ๐ท
Related Servers
SoftProbe MCP Server
An MCP server for managing API test data and resources.
Hello World MCP Server
A simple Hello World MCP server built with FastMCP, serving as a basic example.
spm-mcp
iOS Swift Package Manager server written in Swift
Tidymodels MCP Server
An MCP server for accessing tidymodels GitHub information and generating code.
XRPL MCP
An MCP server for the XRP Ledger blockchain, offering tools for wallet operations, token management, NFTs, and DEX trading.
Gurobi MCP
Solve optimization problems formulated by an LLM using the on-device Gurobi solver.
Phabricator
Interacting with Phabricator API
Julia Documentation MCP Server
An MCP server for accessing Julia documentation and source code.
ContextKeeper
Provides perfect memory for AI-assisted development by capturing project context snapshots, enabling natural language search, evolution tracking, and code intelligence.
Simple MCP Server
A starter MCP server built with TypeScript and the official MCP SDK, featuring example tools like echo, add, time, and flight status.