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
Node.js 18+ instalado
Clave API de Gemini ( Obtén una aquí )
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_hereUso básico
# Build the server
npm run build
# Start the server
node dist/mcp-server.jsIntegració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:vscodeCada 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:
Iniciar el servidor:
node dist/mcp-server.jsInteractú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
Herramientas de gestión de contexto:
generate_text- Generar texto con contextoget_context- Obtener el contexto actual de una sesiónclear_context- Borrar el contexto de la sesiónadd_context- Agregar entradas de contexto específicassearch_context- Encuentra contexto relevante semánticamente
Herramientas de almacenamiento en caché:
mcp_gemini_context_create_cache: crea un caché para contextos grandesmcp_gemini_context_generate_with_cache- Generar con contexto en cachémcp_gemini_context_list_caches: enumera todos los cachés disponiblesmcp_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)
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.