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.

Servidor MCP Gemini

Una implementación de servidor del Protocolo de Contexto de Modelo (MCP) para permitir que los asistentes de IA como Claude interactúen con la API Gemini de Google.

Descripción general del proyecto

Este proyecto implementa un servidor que sigue el Protocolo de Contexto de Modelo (MCP), lo que permite a los asistentes de IA comunicarse con los modelos Gemini de Google. Con este servidor MCP, los asistentes de IA pueden solicitar la generación y el análisis de texto, y mantener conversaciones de chat a través de la API de Gemini.

Características

  • Comunicación cliente-servidor : implementa el protocolo MCP para el intercambio seguro de mensajes entre el cliente y el servidor.
  • Procesamiento de mensajes : maneja y procesa las solicitudes de los clientes, enviando respuestas apropiadas.
  • Manejo y registro de errores : registra las actividades del servidor y garantiza una recuperación sin problemas de errores.
  • Compatibilidad con variables de entorno : utiliza el archivo .env para almacenar información confidencial de forma segura.
  • Pruebas y depuración de API : admite pruebas manuales y automatizadas mediante Postman y scripts de prueba.

Instalación

Prerrequisitos

  • Python 3.7 o superior
  • Clave API de Google AI

Configuración

  1. Clonar este repositorio:
git clone https://github.com/yourusername/mcp-gemini-server.git cd mcp-gemini-server
  1. Crear un entorno virtual:
python -m venv venv
  1. Activar el entorno virtual:
    • Windows: venv\Scripts\activate
    • macOS/Linux: source venv/bin/activate
  2. Instalar dependencias:
pip install -r requirements.txt
  1. Cree un archivo .env en el directorio raíz con su clave API de Gemini:
GEMINI_API_KEY=your_api_key_here

Uso

  1. Iniciar el servidor:
python server.py
  1. El servidor se ejecutará en http://localhost:5000/ de forma predeterminada
  2. Envíe solicitudes MCP al punto final /mcp mediante el método POST

Ejemplo de solicitud

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())

Referencia de API

Puntos finales

  • GET /health : Comprueba si el servidor está en ejecución
  • GET /list-models : Lista de modelos Gemini disponibles
  • POST /mcp : Punto final principal para solicitudes MCP

Acciones del MCP

1. generar_texto

Genere contenido de texto con Gemini.

Parámetros:

  • prompt (obligatorio): el mensaje de texto para la generación
  • temperature (opcional): controla la aleatoriedad (0,0 a 1,0)
  • max_tokens (opcional): Máximo de tokens a generar

Ejemplo:

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

2. analizar_texto

Analizar el contenido del texto.

Parámetros:

  • text (obligatorio): El texto a analizar
  • analysis_type (opcional): Tipo de análisis ('sentimiento', 'resumen', 'palabras clave' o 'general')

Ejemplo:

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

3. chat

Ten una conversación con Géminis.

Parámetros:

  • messages (obligatorio): Matriz de objetos de mensaje con 'rol' y 'contenido'
  • temperature (opcional): controla la aleatoriedad (0,0 a 1,0)

Ejemplo:

{ "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 } }

Manejo de errores

El servidor devuelve códigos de estado HTTP y mensajes de error apropiados:

  • 200 : Solicitud exitosa
  • 400 : Solicitud incorrecta (parámetros faltantes o no válidos)
  • 500 : Error del servidor (problemas de API, etc.)

Pruebas

Utilice el script de prueba incluido para probar varias funcionalidades:

# 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

Especificación del protocolo MCP

El Protocolo de Contexto Modelo implementado aquí sigue estas especificaciones:

  1. Formato de solicitud :
    • action : cadena que especifica la operación
    • parameters : objeto que contiene parámetros específicos de la acción
  2. Formato de respuesta :
    • result : Objeto que contiene el resultado de la operación
    • error : Cadena que explica cualquier error (cuando corresponda)

Licencia

Licencia MIT

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

Un servidor que implementa el Protocolo de Contexto de Modelo que permite a los asistentes de IA como Claude interactuar con la API Gemini de Google para la generación de texto, el análisis de texto y las conversaciones de chat.

  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