Skip to main content
Glama
ogoldberg

Gemini Context MCP Server

by ogoldberg

Servidor MCP de contexto Gemini

Una potente implementación de servidor MCP (Protocolo de Contexto de Modelo) que aprovecha las capacidades de Gemini para la gestión y el almacenamiento en caché de contextos. Este servidor maximiza el valor de la ventana de contexto de 2 M de tokens de Gemini, a la vez que proporciona herramientas para el almacenamiento en caché eficiente de contextos extensos.

🚀 Características

Gestión del contexto

  • Compatibilidad con ventanas de contexto de hasta 2 millones de tokens : aproveche las amplias capacidades de contexto de Gemini

  • Conversaciones basadas en sesiones : mantenga el estado de la conversación en múltiples interacciones

  • Seguimiento de contexto inteligente : agregue, recupere y busque contexto con metadatos

  • Búsqueda semántica : encuentre contexto relevante mediante similitud semántica

  • Limpieza automática del contexto : las sesiones y el contexto expiran automáticamente

Almacenamiento en caché de API

  • Almacenamiento en caché de avisos de gran tamaño : reutilice de forma eficiente avisos e instrucciones del sistema de gran tamaño

  • Optimización de costos : reduzca los costos de uso de tokens para contextos de uso frecuente

  • Gestión de TTL : controle los tiempos de expiración de la caché

  • Limpieza automática : los cachés caducados se eliminan automáticamente

Related MCP server: MCP Gemini Server

🏁 Inicio rápido

Prerrequisitos

Instalación

# Clone the repository
git clone https://github.com/ogoldberg/gemini-context-mcp-server
cd gemini-context-mcp-server

# Install dependencies
npm install

# Copy environment variables example
cp .env.example .env

# Add your Gemini API key to .env file
# GEMINI_API_KEY=your_api_key_here

Uso básico

# Build the server
npm run build

# Start the server
node dist/mcp-server.js

Integración de clientes MCP

Este servidor MCP se puede integrar con varios clientes compatibles con MCP:

  • Claude Desktop : agregar como servidor MCP en la configuración de Claude

  • Cursor : configurar en la configuración AI/MCP del cursor

  • VS Code : Úselo con extensiones compatibles con MCP

Para obtener instrucciones detalladas de integración con cada cliente, consulte la Guía de configuración del cliente MCP en la documentación de MCP.

Configuración rápida del cliente

Utilice nuestros comandos de instalación de cliente simplificados:

# Install and configure for Claude Desktop
npm run install:claude

# Install and configure for Cursor
npm run install:cursor

# Install and configure for VS Code
npm run install:vscode

Cada comando configura los archivos de configuración apropiados y proporciona instrucciones para completar la integración.

💻 Ejemplos de uso

Para principiantes

Usando directamente el servidor:

  1. Iniciar el servidor:

    node dist/mcp-server.js
  2. Interactúe utilizando los scripts de prueba proporcionados:

    # Test basic context management
    node test-gemini-context.js
    
    # Test caching features
    node test-gemini-api-cache.js

Usando en su aplicación Node.js:

import { GeminiContextServer } from './src/gemini-context-server.js';

async function main() {
  // Create server instance
  const server = new GeminiContextServer();
  
  // Generate a response in a session
  const sessionId = "user-123";
  const response = await server.processMessage(sessionId, "What is machine learning?");
  console.log("Response:", response);
  
  // Ask a follow-up in the same session (maintains context)
  const followUp = await server.processMessage(sessionId, "What are popular algorithms?");
  console.log("Follow-up:", followUp);
}

main();

Para usuarios avanzados

Usando configuraciones personalizadas:

// Custom configuration
const config = {
  gemini: {
    apiKey: process.env.GEMINI_API_KEY,
    model: 'gemini-2.0-pro',
    temperature: 0.2,
    maxOutputTokens: 1024,
  },
  server: {
    sessionTimeoutMinutes: 30,
    maxTokensPerSession: 1000000
  }
};

const server = new GeminiContextServer(config);

Utilizando el sistema de almacenamiento en caché para la optimización de costos:

// Create a cache for large system instructions
const cacheName = await server.createCache(
  'Technical Support System',
  'You are a technical support assistant for a software company...',
  7200 // 2 hour TTL
);

// Generate content using the cache
const response = await server.generateWithCache(
  cacheName,
  'How do I reset my password?'
);

// Clean up when done
await server.deleteCache(cacheName);

🔌 Uso con herramientas MCP (como Cursor)

Este servidor implementa el Protocolo de Contexto de Modelo (MCP), lo que lo hace compatible con herramientas como Cursor u otros entornos de desarrollo mejorados con IA.

Herramientas MCP disponibles

  1. Herramientas de gestión de contexto:

    • generate_text - Generar texto con contexto

    • get_context - Obtener el contexto actual de una sesión

    • clear_context - Borrar el contexto de la sesión

    • add_context - Agregar entradas de contexto específicas

    • search_context - Encuentra contexto relevante semánticamente

  2. Herramientas de almacenamiento en caché:

    • mcp_gemini_context_create_cache : crea un caché para contextos grandes

    • mcp_gemini_context_generate_with_cache - Generar con contexto en caché

    • mcp_gemini_context_list_caches : enumera todos los cachés disponibles

    • mcp_gemini_context_update_cache_ttl - Actualizar el TTL de la caché

    • mcp_gemini_context_delete_cache - Eliminar un caché

Conectando con el cursor

Cuando se utiliza con Cursor , puede conectarse a través de la configuración de MCP:

{
  "name": "gemini-context",
  "version": "1.0.0",
  "description": "Gemini context management and caching MCP server",
  "entrypoint": "dist/mcp-server.js",
  "capabilities": {
    "tools": true
  },
  "manifestPath": "mcp-manifest.json",
  "documentation": "README-MCP.md"
}

Para obtener instrucciones de uso detalladas de las herramientas MCP, consulte README-MCP.md .

⚙️ Opciones de configuración

Variables de entorno

Crea un archivo .env con estas opciones:

# Required
GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-2.0-flash

# Optional - Model Settings
GEMINI_TEMPERATURE=0.7
GEMINI_TOP_K=40
GEMINI_TOP_P=0.9
GEMINI_MAX_OUTPUT_TOKENS=2097152

# Optional - Server Settings
MAX_SESSIONS=50
SESSION_TIMEOUT_MINUTES=120
MAX_MESSAGE_LENGTH=1000000
MAX_TOKENS_PER_SESSION=2097152
DEBUG=false

🧪 Desarrollo

# Build TypeScript files
npm run build

# Run in development mode with auto-reload
npm run dev

# Run tests
npm test

📚 Lectura adicional

  • Para el uso específico de MCP, consulte README-MCP.md

  • Explora el manifiesto en mcp-manifest.json para comprender las herramientas disponibles

  • Consulte los scripts de ejemplo en el repositorio para conocer los patrones de uso

📋 Mejoras futuras

  • Persistencia de la base de datos para contexto y cachés

  • Gestión del tamaño de caché y políticas de desalojo

  • Búsqueda semántica basada en vectores

  • Seguimiento de análisis y métricas

  • Integración con tiendas vectoriales

  • Operaciones por lotes para la gestión del contexto

  • Estrategias de almacenamiento en caché híbrido

  • Optimización automática de indicaciones

📄 Licencia

Instituto Tecnológico de Massachusetts (MIT)

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ogoldberg/gemini-context-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server