Skip to main content
Glama
amitsh06

MCP Gemini Server

by amitsh06

MCP 제미니 서버

클로드와 같은 AI 도우미가 Google의 Gemini API와 상호 작용할 수 있도록 하는 MCP(Model Context Protocol)의 서버 구현입니다.

프로젝트 개요

이 프로젝트는 모델 컨텍스트 프로토콜(MCP)을 따르는 서버를 구현하여 AI 비서가 Google Gemini 모델과 통신할 수 있도록 합니다. 이 MCP 서버를 통해 AI 비서는 Gemini API를 통해 텍스트 생성, 텍스트 분석을 요청하고 채팅 대화를 유지할 수 있습니다.

Related MCP server: Gemini MCP Server

특징

  • 클라이언트-서버 통신 : 클라이언트와 서버 간의 안전한 메시지 교환을 위해 MCP 프로토콜을 구현합니다.

  • 메시지 처리 : 클라이언트 요청을 처리하고 적절한 응답을 보냅니다.

  • 오류 처리 및 로깅 : 서버 활동을 기록하고 원활한 오류 복구를 보장합니다.

  • 환경 변수 지원 : .env 파일을 사용하여 중요한 정보를 안전하게 저장합니다.

  • API 테스트 및 디버깅 : Postman과 테스트 스크립트를 사용하여 수동 및 자동 테스트를 지원합니다.

설치

필수 조건

  • Python 3.7 이상

  • Google AI API 키

설정

  1. 이 저장소를 복제하세요:

지엑스피1

  1. 가상 환경 만들기:

python -m venv venv
  1. 가상 환경을 활성화합니다.

    • Windows: venv\Scripts\activate

    • macOS/Linux: source venv/bin/activate

  2. 종속성 설치:

pip install -r requirements.txt
  1. Gemini API 키로 루트 디렉토리에 .env 파일을 만듭니다.

GEMINI_API_KEY=your_api_key_here

용법

  1. 서버를 시작합니다:

python server.py
  1. 서버는 기본적으로 http://localhost:5000/ 에서 실행됩니다.

  2. POST 메서드를 사용하여 /mcp 엔드포인트에 MCP 요청 보내기

예제 요청

import requests

url = 'http://localhost:5000/mcp'
payload = {
    'action': 'generate_text',
    'parameters': {
        'prompt': 'Write a short poem about AI',
        'temperature': 0.7
    }
}

response = requests.post(url, json=payload)
print(response.json())

API 참조

엔드포인트

  • GET /health : 서버가 실행 중인지 확인

  • GET /list-models : 사용 가능한 Gemini 모델 목록

  • POST /mcp : MCP 요청의 주요 엔드포인트

MCP 작업

1. 텍스트 생성

Gemini를 사용하여 텍스트 콘텐츠를 생성하세요.

매개변수:

  • prompt (필수): 생성을 위한 텍스트 프롬프트

  • temperature (선택 사항): 무작위성(0.0~1.0)을 제어합니다.

  • max_tokens (선택 사항): 생성할 최대 토큰 수

예:

{
  "action": "generate_text",
  "parameters": {
    "prompt": "Write a short story about a robot",
    "temperature": 0.8,
    "max_tokens": 500
  }
}

2. 텍스트 분석

텍스트 내용을 분석합니다.

매개변수:

  • text (필수): 분석할 텍스트

  • analysis_type (선택 사항): 분석 유형('감정', '요약', '키워드' 또는 '일반')

예:

{
  "action": "analyze_text",
  "parameters": {
    "text": "The weather today is wonderful! I love how the sun is shining.",
    "analysis_type": "sentiment"
  }
}

3. 채팅

쌍둥이자리와 대화를 나눠보세요.

매개변수:

  • messages (필수): '역할'과 '내용'을 포함하는 메시지 객체 배열

  • temperature (선택 사항): 무작위성(0.0~1.0)을 제어합니다.

예:

{
  "action": "chat",
  "parameters": {
    "messages": [
      {"role": "user", "content": "Hello, how are you?"},
      {"role": "assistant", "content": "I'm doing well! How can I help?"},
      {"role": "user", "content": "Tell me about quantum computing"}
    ],
    "temperature": 0.7
  }
}

오류 처리

서버는 적절한 HTTP 상태 코드와 오류 메시지를 반환합니다.

  • 200 : 요청 성공

  • 400 : 잘못된 요청(매개변수가 누락되었거나 잘못됨)

  • 500 : 서버 오류(API 문제 등)

테스트

포함된 테스트 스크립트를 사용하여 다양한 기능을 테스트하세요.

# Test all functionalities
python test_client.py

# Test specific functionality
python test_client.py text     # Test text generation
python test_client.py analyze  # Test text analysis
python test_client.py chat     # Test chat functionality

MCP 프로토콜 사양

여기에 구현된 모델 컨텍스트 프로토콜은 다음 사양을 따릅니다.

  1. 요청 형식 :

    • action : 작업을 지정하는 문자열

    • parameters : 작업별 매개변수를 포함하는 객체

  2. 응답 형식 :

    • result : 작업 결과를 담고 있는 객체

    • error : 오류를 설명하는 문자열(해당되는 경우)

특허

MIT 라이센스

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A Model Context Protocol server that enables Claude to collaborate with Google's Gemini AI models, providing tools for question answering, code review, brainstorming, test generation, and explanations.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude to interact with Google's Gemini AI models, allowing users to ask Gemini questions directly from Claude.
    2
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A server that allows interaction with Google's Gemini AI through the Gemini CLI tool using the Model Context Protocol, providing a standardized interface for querying Gemini with various options and configurations.
    -

Appeared in Searches