Skip to main content
Glama
ogoldberg

Gemini Context MCP Server

by ogoldberg

Gemini Context MCP 서버

Gemini의 컨텍스트 관리 및 캐싱 기능을 활용하는 강력한 MCP(Model Context Protocol) 서버 구현입니다. 이 서버는 Gemini의 2M 토큰 컨텍스트 윈도우의 가치를 극대화하는 동시에 대규모 컨텍스트의 효율적인 캐싱을 위한 도구를 제공합니다.

🚀 특징

컨텍스트 관리

  • 최대 2M 토큰 컨텍스트 창 지원 - Gemini의 광범위한 컨텍스트 기능 활용

  • 세션 기반 대화 - 여러 상호 작용에서 대화 상태 유지

  • 스마트 컨텍스트 추적 - 메타데이터를 사용하여 컨텍스트 추가, 검색 및 검색

  • 의미 검색 - 의미 유사성을 사용하여 관련 컨텍스트 찾기

  • 자동 컨텍스트 정리 - 세션 및 컨텍스트가 자동으로 만료됩니다.

API 캐싱

  • 대용량 프롬프트 캐싱 - 대용량 시스템 프롬프트 및 지침을 효율적으로 재사용

  • 비용 최적화 - 자주 사용되는 컨텍스트에 대한 토큰 사용 비용 절감

  • TTL 관리 - 캐시 만료 시간 제어

  • 자동 정리 - 만료된 캐시는 자동으로 제거됩니다.

Related MCP server: MCP Gemini Server

🏁 빠른 시작

필수 조건

설치

지엑스피1

기본 사용법

# Build the server
npm run build

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

MCP 클라이언트 통합

이 MCP 서버는 다양한 MCP 호환 클라이언트와 통합될 수 있습니다.

  • Claude Desktop - Claude 설정에서 MCP 서버로 추가

  • 커서 - 커서의 AI/MCP 설정에서 구성

  • VS Code - MCP 호환 확장 프로그램과 함께 사용

각 클라이언트와의 자세한 통합 지침은 MCP 설명서의 MCP 클라이언트 구성 가이드를 참조하세요.

빠른 클라이언트 설정

간소화된 클라이언트 설치 명령을 사용하세요.

# 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

각 명령은 적절한 구성 파일을 설정하고 통합을 완료하기 위한 지침을 제공합니다.

💻 사용 예시

초보자를 위한

서버를 직접 사용하는 경우:

  1. 서버를 시작합니다:

    node dist/mcp-server.js
  2. 제공된 테스트 스크립트를 사용하여 상호 작용하세요.

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

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

전문 사용자를 위한

사용자 정의 구성 사용:

// 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);

비용 최적화를 위한 캐싱 시스템 사용:

// 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);

🔌 MCP 도구(커서 등)와 함께 사용

이 서버는 MCP(모델 컨텍스트 프로토콜)를 구현하여 커서나 기타 AI 기반 개발 환경과 같은 도구와 호환됩니다.

사용 가능한 MCP 도구

  1. 컨텍스트 관리 도구:

    • generate_text - 컨텍스트를 포함한 텍스트 생성

    • get_context - 세션의 현재 컨텍스트를 가져옵니다.

    • clear_context - 세션 컨텍스트 지우기

    • add_context - 특정 컨텍스트 항목 추가

    • search_context - 의미적으로 관련 컨텍스트 찾기

  2. 캐싱 도구:

    • mcp_gemini_context_create_cache - 대규모 컨텍스트에 대한 캐시 생성

    • mcp_gemini_context_generate_with_cache - 캐시된 컨텍스트로 생성

    • mcp_gemini_context_list_caches - 사용 가능한 모든 캐시 나열

    • mcp_gemini_context_update_cache_ttl - 캐시 TTL 업데이트

    • mcp_gemini_context_delete_cache - 캐시 삭제

커서로 연결하기

Cursor 와 함께 사용하면 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"
}

MCP 도구에 대한 자세한 사용 지침은 README-MCP.md를 참조하세요.

⚙️ 구성 옵션

환경 변수

다음 옵션을 사용하여 .env 파일을 만듭니다.

# 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

🧪 개발

# Build TypeScript files
npm run build

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

# Run tests
npm test

📚 추가 자료

  • MCP 관련 사용법은 README-MCP.md를 참조하세요.

  • 사용 가능한 도구를 이해하려면 mcp-manifest.json 의 매니페스트를 탐색하세요.

  • 사용 패턴을 알아보려면 저장소의 예제 스크립트를 확인하세요.

📋 향후 개선 사항

  • 컨텍스트 및 캐시에 대한 데이터베이스 지속성

  • 캐시 크기 관리 및 제거 정책

  • 벡터 기반 의미 검색

  • 분석 및 메트릭 추적

  • 벡터 저장소와의 통합

  • 컨텍스트 관리를 위한 일괄 작업

  • 하이브리드 캐싱 전략

  • 자동 프롬프트 최적화

📄 라이센스

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