MCP Gemini Server

by amitsh06
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports environment variables through .env file for storing sensitive information like API keys securely.

  • Provides repository access through GitHub for cloning and installing the server.

  • Enables interaction with Google's Gemini API, allowing text generation, text analysis, and chat conversations through the Gemini models.

MCP 제미니 서버

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

프로젝트 개요

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

특징

  • 클라이언트-서버 통신 : 클라이언트와 서버 간의 안전한 메시지 교환을 위해 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 라이센스

-
security - not tested
F
license - not found
-
quality - not tested

클로드와 같은 AI 어시스턴트가 Google의 Gemini API와 상호 작용하여 텍스트 생성, 텍스트 분석, 채팅 대화를 수행할 수 있도록 하는 모델 컨텍스트 프로토콜을 구현한 서버입니다.

  1. Project Overview
    1. Features
      1. Installation
        1. Prerequisites
        2. Setup
      2. Usage
        1. Example Request
      3. API Reference
        1. Endpoints
        2. MCP Actions
      4. Error Handling
        1. Testing
          1. MCP Protocol Specification
            1. License
              ID: 6zwht8u0yo