mcpField
G
Google Drive MCP Server

Google Drive MCP Server

ローカル
github.com/danfederファイル・ストレージ074 週間前に更新

Google Drive MCP Server について

Google Drive MCP Server は、Google Drive のファイル管理、内容分析、整理状況の分析機能を MCP クライアントに提供します。AI ワークフローで Drive のファイルを扱うチーム向けで、OAuth 2.0 による接続に加え、検索、要約、分類、重複検出を行えます。

主な機能

  1. 01フィルターとページネーション付きのファイル一覧
  2. 02関連度スコア付き全文検索
  3. 03ファイル内容とメタデータの取得
  4. 04要約、分類、キーワード抽出
  5. 05重複検出とフォルダー構成の分析
  6. 06OAuth 2.0 認証

活用シーン

  1. 01種類やフォルダーで Drive ファイルを検索
  2. 02文書の内容を取得して要約
  3. 03重複ファイルを確認しフォルダー構成を整理

MCP 対応

ファイル一覧、内容取得、検索、内容分析、整理状況の分析ツールを MCP クライアントに公開します。Google Drive へのアクセスには Google OAuth 2.0 を使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Google Drive MCP サーバー

Model Context Protocol(MCP)を介した AI を活用した Google Drive 連携により、インテリジェントなファイル管理、コンテンツ分析、整理に関するインサイトを提供します。

🚀 特長

MCP の主要なツール
  • list_files - 高度なフィルタリングとページネーションを使用して、ファイルとフォルダーを一覧表示します
  • get_file_content - メタデータとともにファイルの内容を抽出・取得します
  • search_files - 関連度スコアリングとフィルタリングに対応した全文検索を行います
  • analyze_content - 要約と分類を行う、AI を活用したコンテンツ分析を提供します
  • get_organization_insights - 実行可能な推奨事項を提示し、Drive の整理状況を分析します
主な機能
  • 🔐 Google Drive API を使用した安全な OAuth2 認証
  • 📊 コンテンツ分析 - AI を活用した要約、分類、キーワード抽出
  • 🔍 高度な検索 - 関連度スコアリングとフィルタリングに対応した全文検索
  • 📁 整理に関するインサイト - 重複の検出と構成の最適化
  • ⚡ パフォーマンスの最適化 - インテリジェントなキャッシュとレート制限
  • 🛡️ 本番環境対応 - 包括的なエラー処理とロギング

📋 前提条件

  • Node.js 18.0.0 以降
  • Drive API を有効にした Google Cloud プロジェクト
  • Google Cloud Console から取得した OAuth2 認証情報

🛠️ インストール

1. クローンと依存関係のインストール
git clone <repository-url>
cd gdrive-sparc-mcp
npm install
2. Google Cloud の設定
  1. Google Cloud プロジェクトを作成

    • Google Cloud Console にアクセスします
    • 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
  2. Google Drive API を有効化

    # Using gcloud CLI
    gcloud services enable drive.googleapis.com
    
  3. OAuth2 認証情報を作成

    • APIs & Services > Credentials に移動します
    • 「Create Credentials」>「OAuth 2.0 Client IDs」をクリックします
    • アプリケーションの種類:「Web application」
    • 承認済みのリダイレクト URI を追加します:http://localhost:3000/auth/callback
    • 認証情報の JSON をダウンロードします
3. 環境設定

テンプレートから .env ファイルを作成します:

cp .env.example .env

必要な環境変数を設定します:

# Google OAuth Configuration (Required)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/callback

# Session Configuration (Required)
SESSION_SECRET=your-secure-session-secret-at-least-32-characters

# Optional Configuration
NODE_ENV=production
LOG_LEVEL=info
CACHE_TTL=300
CACHE_MAX_SIZE=1000
RATE_LIMIT_WINDOW=60000
RATE_LIMIT_MAX_REQUESTS=100
4. ビルドと起動
# Build TypeScript
npm run build

# Start server
npm start

# Or for development
npm run dev

🔧 設定

環境変数
変数必須デフォルト説明
GOOGLE_CLIENT_ID✅-Google OAuth2 クライアント ID
GOOGLE_CLIENT_SECRET✅-Google OAuth2 クライアントシークレット
GOOGLE_REDIRECT_URI✅-OAuth2 リダイレクト URI
SESSION_SECRET✅-セッション暗号化シークレット(32 文字以上)
NODE_ENV❌development環境モード
LOG_LEVEL❌infoログレベル(error、warn、info、debug)
CACHE_TTL❌300キャッシュの TTL(秒)
CACHE_MAX_SIZE❌1000キャッシュエントリの最大数
RATE_LIMIT_WINDOW❌60000レート制限の期間(ミリ秒)
RATE_LIMIT_MAX_REQUESTS❌100期間あたりの最大リクエスト数
Google Drive API のスコープ

サーバーは次の OAuth2 スコープを要求します:

  • https://www.googleapis.com/auth/drive.readonly - Google Drive ファイルへの読み取りアクセス
  • https://www.googleapis.com/auth/userinfo.profile - 基本的なプロフィール情報

📖 使用方法

MCP クライアントとの連携

MCP クライアントの設定に追加します:

{
  "mcpServers": {
    "gdrive-sparc-mcp": {
      "command": "node",
      "args": ["path/to/gdrive-sparc-mcp/dist/server.js"]
    }
  }
}
ツールの使用例
ファイルの一覧表示
{
  "name": "list_files",
  "arguments": {
    "folderId": "optional-folder-id",
    "recursive": true,
    "maxResults": 50,
    "orderBy": "modifiedTime"
  }
}
ファイルの検索
{
  "name": "search_files",
  "arguments": {
    "query": "project proposal",
    "filters": {
      "mimeTypes": ["application/pdf", "application/vnd.google-apps.document"]
    },
    "options": {
      "maxResults": 20,
      "includeSnippets": true
    }
  }
}
コンテンツの分析
{
  "name": "analyze_content",
  "arguments": {
    "fileIds": ["file-id-1", "file-id-2"],
    "analysisOptions": {
      "enableSummarization": true,
      "enableCategorization": true,
      "enableKeywordExtraction": true
    }
  }
}
整理に関するインサイトの取得
{
  "name": "get_organization_insights",
  "arguments": {
    "scope": {
      "folderId": "optional-folder-id",
      "includeSubfolders": true,
      "fileLimit": 1000
    },
    "analysisOptions": {
      "enableDuplicateDetection": true,
      "enableStructureAnalysis": true
    }
  }
}

🧪 テスト

テストの実行
# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run specific test suite
npm test -- tests/auth/auth-service.test.ts

# Run integration tests
npm test -- tests/integration/
サーバーのテスト

MCP サーバーの機能をテストします:

# Test server startup and tool listing
node test-server.js

🚀 デプロイ

Docker によるデプロイ
  1. Docker イメージをビルド

    docker build -t gdrive-sparc-mcp .
    
  2. コンテナを実行

    docker run -d \
      --name gdrive-mcp \
      -p 3000:3000 \
      --env-file .env \
      gdrive-sparc-mcp
    
本番環境へのデプロイ
  1. 環境設定

    # Set production environment
    export NODE_ENV=production
    export LOG_LEVEL=warn
    
    # Configure production secrets
    export SESSION_SECRET="your-production-session-secret"
    export GOOGLE_CLIENT_ID="your-production-client-id"
    export GOOGLE_CLIENT_SECRET="your-production-client-secret"
    
  2. プロセス管理

    # Using PM2
    npm install -g pm2
    pm2 start dist/server.js --name gdrive-mcp
    pm2 save
    pm2 startup
    
  3. ヘルスモニタリング

    # Check server health
    curl -X POST http://localhost:3000 \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
    

🔍 モニタリングとロギング

ログレベル
  • error - エラー状態のみ
  • warn - 警告とエラーの状態
  • info - 情報、警告、エラーのメッセージ(デフォルト)
  • debug - デバッグ情報を含むすべてのメッセージ
パフォーマンス指標
  • リクエスト/レスポンス時間
  • キャッシュのヒット率/ミス率
  • レート制限の統計
  • 認証の成功率/失敗率
ヘルスチェック
  • 設定の検証
  • Google API への接続性
  • キャッシュシステムの状態
  • メモリおよびパフォーマンスの指標

🛡️ セキュリティ

認証
  • Google との安全な OAuth2 フロー
  • セッションベースの認証
  • トークンの自動更新
  • 認証情報の安全な保存
データ保護
  • ユーザーデータを永続的に保存しません
  • 暗号化されたセッション管理
  • レート制限と不正利用の防止
  • 入力の検証とサニタイズ
ベストプラクティス
  • 定期的なセキュリティ更新
  • 環境変数の保護
  • 安全な通信(本番環境では HTTPS)
  • セキュリティイベントの監査ログ記録

🐛 トラブルシューティング

よくある問題
設定エラー
# Check configuration validation
npm run build && node dist/server.js
認証の問題
  • Google Cloud の認証情報を確認してください
  • OAuth2 リダイレクト URI の設定を確認してください
  • Drive API が有効になっていることを確認してください
パフォーマンスの問題
  • キャッシュヒット率を監視してください
  • レート制限の設定を確認してください
  • ログレベルと出力を確認してください
接続の問題
  • ネットワーク接続を確認してください
  • ファイアウォールの設定を確認してください
  • 環境変数を検証してください
デバッグモード
# Enable debug logging
export LOG_LEVEL=debug
npm start
サポート

📚 ドキュメント

🤝 コントリビューション

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

📄 ライセンス

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

🙏 謝辞


バージョン: 1.0.0
最終更新日: 2025-01-30
メンテナー: SPARC Development Team

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。