MCP Gemini API Server

Integrations

  • Implements a bridge to Google Gemini's API, enabling text generation with gemini-2.0-flash model, image generation/analysis, and multimodal content processing

  • Offers video content analysis functionality by processing YouTube videos and providing summaries or answers to queries about video content

MCP Gemini APIサーバー

CursorとClaude用のGoogle Gemini APIサーバー。テキスト生成、画像分析、ビデオ分析など、Geminiのさまざまな機能を提供します。

主な機能

  • テキスト生成(gemini-2.0-flashモデルを使用)
  • 画像の生成と分析
  • YouTubeビデオ分析
  • Web検索

始める

必須要件

  • Node.js 18.0.0以降
  • npmまたはyarn
  • Google APIキー(Gemini APIアクセス用)

インストール

# 저장소 클론 git clone https://github.com/techkwon/mcp-gemini.git cd mcp-gemini # 의존성 설치 npm install

環境設定

  1. config.tsファイルでGoogle APIキーを設定する:
export default { googleApiKey: "your_api_key_here", // 기타 설정... };

ビルドと実行

# TypeScript 빌드 npm run build # 서버 시작 (PM2 사용) npm start # 개발 모드로 실행 npm run dev

PM2サーバー管理

サーバーはPM2を介して自動的に管理されます。次のコマンドでサーバーを管理できます。

# 서버 상태 확인 npm run status # 서버 로그 확인 npm run logs # 서버 중지 npm run stop # 서버 재시작 npm run restart # 시스템 재시작 시 자동 실행 설정 pm2 startup pm2 save

Cursor/Claude 連動

MCP設定

~/.cursor/mcp.jsonファイルに次の設定を追加します。

{ "github.com/techkwon/mcp-gemini": { "command": "npm", "args": ["start"], "cwd": "<프로젝트_경로>", "env": { "NODE_ENV": "production" }, "disabled": false, "autoStart": true, "autoApprove": [ "gem-generate", "gem-generate-image", "gem-analyze-video", "gem-search" ] } }

API エンドポイント

  • /gem-generate : テキスト生成
  • /gem-generate-image : イメージの生成/分析
  • /gem-analyze-video :YouTubeビデオ分析
  • /gem-search search : Web 検索

主なアップデート

最新バージョン(2024-03)

  • PM2によるサーバー自動化の実装
  • gemini-2.0-flashモデルで統一
  • 自動再起動とエラー回復機能の追加
  • 環境設定の改善

以前のバージョン

  • YouTubeビデオ分析機能を追加
  • 画像生成/分析機能の改善
  • ウェブ検索機能の追加

トラブルシューティング

一般的な問題

  1. サーバーが起動しない場合
    # PM2 로그 확인 npm run logs # PM2 프로세스 상태 확인 npm run status
  2. API キーエラー
    • config.tsファイルでAPIキーが正しく設定されていることを確認する
    • Gemini API クォータと権限の確認
  3. メモリ使用量の問題
    • ecosystem.config.jsでメモリ制限設定を確認する
    • PM2モニタリングによるメモリ使用量の追跡

貢献する

  1. Fork the Project
  2. Create your Feature Branch ( git checkout -b feature/AmazingFeature )
  3. Commit your Changes ( git commit -m 'Add some AmazingFeature' )
  4. Push to the Branch ( git push origin feature/AmazingFeature )
  5. Open a Pull Request

ライセンス

このプロジェクトはMITライセンスに従います。詳細については、 LICENSEファイルを参照してください。

お問い合わせ

プロジェクトマネージャ:techkwon Eメール: techkwon@example.comプロジェクトリンク:https: //github.com/techkwon/mcp-gemini

主な依存性

  • @google/generative-ai: ^0.1.3 (Gemini API SDK)
  • @fastify/cors: ^8.5.0 (CORS サポート)
  • fastify: ^4.29.0 (ウェブサーバーフレームワーク)
  • googleapis: ^148.0.0 (Google API サポート)
  • typescript: ^5.0.0
  • zod: ^3.24.2 (データ検証)
  • pino: ^8.21.0 (ロギング)

Claude デスクトップアプリ統合ガイド

設定ファイルの場所

Claudeデスクトップアプリの設定ファイルは次のパスにあります。

  • Windows: %APPDATA%/Claude/config.json
  • macOS: ~/Library/Application Support/Claude/config.json

JSON設定の例

{ "apis": [ { "name": "MCP Gemini", "url": "http://localhost:8000", "methods": [ { "name": "텍스트 생성", "method": "gem-generate", "template": { "jsonrpc": "2.0", "id": "{uuid}", "method": "gem-generate", "params": { "prompt": "{input}" } } }, { "name": "이미지 생성", "method": "gem-generate-image", "template": { "jsonrpc": "2.0", "id": "{uuid}", "method": "gem-generate-image", "params": { "prompt": "{input}" } } }, { "name": "비디오 분석", "method": "gem-analyze-video", "template": { "jsonrpc": "2.0", "id": "{uuid}", "method": "gem-analyze-video", "params": { "videoUrl": "{input}", "query": "이 영상의 주요 내용을 요약해주세요" } } }, { "name": "웹 검색", "method": "gem-search", "template": { "jsonrpc": "2.0", "id": "{uuid}", "method": "gem-search", "params": { "query": "{input}" } } } ] } ] }

変数の説明

  • {uuid} : 自動生成される一意のリクエスト ID
  • {input} :Claudeチャットウィンドウに入力したテキスト

使用方法

  1. Claudeデスクトップアプリの設定ファイルを開きます。
  2. 上記のJSON設定を既存の設定に追加します。
  3. Claudeデスクトップアプリを再起動します。
  4. チャットウィンドウで次のように使用できます。
@MCP Gemini.텍스트 생성 한국의 전통 음식에 대해 설명해주세요 @MCP Gemini.이미지 생성 한옥마을의 아름다운 풍경 @MCP Gemini.비디오 분석 https://youtube.com/watch?v=VIDEO_ID @MCP Gemini.웹 검색 최신 인공지능 기술 동향

応答形式

すべてのAPIレスポンスは次の形式に従います。

{ "jsonrpc": "2.0", "id": "요청에서 보낸 ID", "result": { "content": "응답 내용" } }

エラー応答

エラーが発生した場合は、次の形式で応答します。

{ "jsonrpc": "2.0", "id": "요청에서 보낸 ID", "error": { "code": 오류코드, "message": "오류 메시지", "data": { "details": "상세 오류 정보" } } }

エラー処理

サーバーは、次の状況で適切なエラー応答を返します。

  • 400: 誤ったリクエスト形式
  • 401:認証エラー(APIキー関連)
  • 500: サーバー内部エラー

セキュリティに関する考慮事項

  • APIキーは必ず環境変数で管理してください
  • 本番環境では、適切なセキュリティ設定を追加してください
  • 機密情報はログに記録しないように注意してください

トラブルシューティング

ポートの競合

すでに8000番ポートが使用されている場合:

# 기존 Node.js 프로세스 종료 pkill -f "node"

サーバーの信頼性

サーバーが予期せず終了した場合:

  • PM2または他のプロセスマネージャの使用を検討してください
  • ログを確認して終了の原因を特定してください

開発ガイド

ロギング

  • Pinoロガーを使用して構造化ロギングを実装しました
  • 開発環境では、pino-prettyを介して読みやすいログが出力されます

タイプ安定性

  • TypeScriptとZodを使用してランタイムタイプの安定性を確保
  • APIリクエスト/レスポンスのスキーマ検証が実装されています

CLINE MCPマーケットプレイス登録ガイド

事前準備

  1. GitHubリポジトリが公開されている必要があります
  2. README.mdファイルに明確なインストールと設定方法が含まれている必要があります
  3. (オプション) llms-install.mdファイルを使用してAIエージェント用の追加インストールガイドを提供できます。

登録手順

  1. CLINE MCPマーケットプレイスストアに新しい問題を作成します
  2. 問題には次の情報が含まれています。
    • GitHubリポジトリURL: https://github.com/techkwon/mcp-gemini
    • ロゴ画像: 400×400サイズのPNGファイル
    • **追加の理由:**このMCPサーバーがCLINEユーザーに提供できる価値の例:GXP12
  3. CLINEがREADME.mdだけでサーバーを正常にインストールできるかどうかをテストします

承認手続き

  1. CLINEチームが送信したMCPサーバーを確認します
  2. セキュリティと信頼性の検証を進める
  3. 承認されると、マーケットプレイスに登録され、すべてのCLINEユーザーがアクセスできるようになります。

設置ガイドの最適化

llms-install.mdファイルを生成して、AIエージェント用の追加インストールガイドを提供できます。

# MCP Gemini 서버 설치 가이드 (AI 에이전트용) ## 환경 요구사항 - Node.js 18.0.0 이상 - npm 또는 yarn - Google AI Studio API 키 ## 설치 단계 1. 저장소 클론 2. 의존성 설치: `npm install` 3. 환경 변수 설정: GOOGLE_API_KEY 추가 4. 빌드: `npm run build` 5. 서버 실행: `npm run start` ## 설정 검증 - 8000번 포트 사용 가능 여부 확인 - API 키 유효성 검증 - CORS 설정 확인 ## 문제 해결 - 포트 충돌 시 해결 방법 - API 키 오류 해결 방법 - 일반적인 설치 문제 해결 가이드
ID: vuqk58ui8u