mcpField
D
Dataproc MCP Server

Dataproc MCP Server

ローカル
github.com/dipsethクラウド・インフラ970 週間前に更新

Dataproc MCP Server について

Google Cloud Dataprocのクラスター、ジョブ、プロファイル、分析を扱うMCPサーバーです。RooやClaudeなどのMCPクライアント向けに、パラメーターのデフォルト設定、セマンティック検索、複数の認証方式を備えています。

主な機能

  1. 01Dataproc管理ツール22種類
  2. 02クラスターのプロファイルとデフォルト値
  3. 03ジョブの送信と状態監視
  4. 04Qdrant対応のセマンティック検索
  5. 05複数の認証方式
  6. 06HTTP、OAuth、WebSocket対応

活用シーン

  1. 01プロファイルやYAMLからクラスターを作成
  2. 02SparkまたはHiveジョブを送信・監視
  3. 03保存済みのクラスターやジョブ情報を検索
  4. 04HTTPSトンネル経由でClaude.aiに接続

MCP 対応

クラスター、ジョブ、プロファイル、クエリ操作など、Dataproc管理・分析ツールをMCPクライアントに提供します。クライアント設定による起動に加え、Claude.ai向けのHTTP/OAuth構成にも対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"dataproc": {
"command": "npx",
"args": [
"-y",
"@dipseth/dataproc-mcp-server"
]
}
}
}
起動コマンドnpx -y @dipseth/dataproc-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dipseth/dataproc-mcp-server

ツール

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

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

詳細

Dataproc MCP サーバー

npm version npm downloads Build Status Release Status Coverage Status License: MIT Node.js Version TypeScript MCP Compatible semantic-release

Google Cloud Dataproc の操作に対応した、本番環境対応の Model Context Protocol(MCP)サーバーです。インテリジェントなパラメーター注入、エンタープライズグレードのセキュリティ、包括的なツールを備えています。**Roo(VS Code)**とのシームレスな統合を想定して設計されています。

🚀 クイックスタート

推奨:Roo(VS Code)との統合

以下を Roo の MCP 設定に追加します。

{
  "mcpServers": {
    "dataproc": {
      "command": "npx",
      "args": ["@dipseth/dataproc-mcp-server@latest"],
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}
カスタム設定ファイルを使用する場合
{
  "mcpServers": {
    "dataproc": {
      "command": "npx",
      "args": ["@dipseth/dataproc-mcp-server@latest"],
      "env": {
        "LOG_LEVEL": "info",
        "DATAPROC_CONFIG_PATH": "/path/to/your/config.json"
      }
    }
  }
}
別の方法:グローバルインストール
# Install globally
npm install -g @dipseth/dataproc-mcp-server

# Start the server
dataproc-mcp-server

# Or run directly
npx @dipseth/dataproc-mcp-server@latest
5 分でセットアップ
  1. パッケージをインストールします:

    npm install -g @dipseth/dataproc-mcp-server@latest
    
  2. セットアップを実行します:

    dataproc-mcp --setup
    
  3. 認証を設定します:

    # Edit the generated config file
    nano config/server.json
    
  4. サーバーを起動します:

    dataproc-mcp
    
🌐 Claude.ai ウェブアプリとの互換性

✅ 本番環境対応:HTTPS トンネリングと OAuth による完全な Claude.ai 統合

Dataproc MCP サーバーは、22 個すべての MCP ツールを利用できる、動作確認済みのソリューションにより、Claude.ai ウェブアプリとの完全な互換性を提供するようになりました。

動作するソリューション(テスト・検証済み)

ターミナル 1 — MCP サーバーを起動:

DATAPROC_CONFIG_PATH=config/github-oauth-server.json npm start -- --http --oauth --port 8080

ターミナル 2 — Cloudflare トンネルを起動:

cloudflared tunnel --url https://localhost:8443 --origin-server-name localhost --no-tls-verify

結果:Claude.ai ですべてのツールを問題なく表示し、使用できます!🎉

主な機能:
  • ✅ すべてのツールにアクセス — Claude.ai で 22 個すべての MCP ツールを利用可能
  • ✅ HTTPS トンネリング — 安全な外部アクセスを実現する Cloudflare トンネル
  • ✅ OAuth 認証 — 安全な認証のための GitHub OAuth
  • ✅ 信頼された証明書 — ブラウザーの警告や接続の問題がありません
  • ✅ WebSocket サポート — Claude.ai との完全な WebSocket 互換性
  • ✅ 本番環境対応 — 動作確認済みのソリューション
クイックセットアップ:
  1. GitHub OAuth を設定(5 分)
  2. SSL 証明書を生成:npm run ssl:generate
  3. サービスを起動(上記のとおり 2 つのターミナルを使用)
  4. Claude.ai をトンネル URL に接続

📖 完全ガイド: 詳細なセットアップ手順、トラブルシューティング、高度な機能については、docs/claude-ai-integration.mdを参照してください。

📖 証明書のセットアップ: SSL 証明書の設定については、docs/trusted-certificates.mdを参照してください。

✨ 機能

🎯 主な機能
  • 本番環境対応の MCP ツール 22 種 - Dataproc 管理の包括的なツールセット
  • 🧠 ナレッジベースのセマンティック検索 - Qdrant との連携をオプションで利用できる自然言語クエリ
  • 🚀 レスポンスの最適化 - Qdrant ストレージを使用してトークンを 60~96%削減
  • 🔄 汎用型変換システム - 自動で型安全なデータ変換
  • パラメーターを 60~80%削減 - インテリジェントなデフォルト値の注入
  • 複数環境のサポート - 開発/ステージング/本番環境の構成
  • サービスアカウントの偽装 - エンタープライズ認証
  • リアルタイムのジョブ監視 - 包括的なステータス追跡
🚀 レスポンスの最適化
  • トークンを 96.2%削減 - list_clusters:7,651 → 292 トークン
  • Qdrant への自動保存 - すべてのデータを保持し、検索可能
  • リソース URI へのアクセス - dataproc://responses/clusters/list/abc123
  • フォールバック処理 - Qdrant がなくても動作し、完全なレスポンスにフォールバック
  • 処理時間 9.95ms - 1MB 未満のメモリ使用量で超高速に最適化
🔄 汎用型変換システム
  • コードを 75%削減 - サービス全体の手動変換ロジックを排除
  • 型安全な変換 - フィールドの検出とマッピングを自動化
  • インテリジェントな圧縮 - 設定可能なしきい値によるフィールド単位の圧縮
  • 変換時間 0.50ms - 圧縮率 100%で超高速に処理
  • 設定不要 - 既存の TypeScript 型で自動的に動作
  • 後方互換性 - 既存機能にシームレスに統合
� エンタープライズセキュリティ
  • 入力検証 - 16 個すべてのツールに Zod スキーマを使用
  • レート制限 - 設定可能な不正利用防止機能
  • 認証情報の管理 - 安全な取り扱いとローテーション
  • 監査ログ - セキュリティイベントを包括的に追跡
  • 脅威の検出 - インジェクション攻撃を防止
📊 品質保証
  • テストカバレッジ 90%以上 - 包括的なテストスイート
  • パフォーマンス監視 - しきい値を設定可能
  • 複数環境でのテスト - クロスプラットフォーム検証
  • 品質ゲートの自動化 - CI/CD との統合
  • セキュリティスキャン - 脆弱性管理
🚀 開発者エクスペリエンス
  • 5 分でセットアップ - クイックスタートガイド
  • インタラクティブなドキュメント - サンプル付き HTML ドキュメント
  • 充実したサンプル - 複数環境の構成
  • トラブルシューティングガイド - よくある問題と解決策
  • IDE との統合 - TypeScript のサポート

🛠️ MCP ツールの完全なセット(22 種)

🔄 汎用型変換で強化:すべてのツールで、インテリジェントな圧縮とフィールドマッピングを備えた、自動かつ型安全なデータ変換を利用できます。

🚀 クラスター管理(8 種)
ツール説明スマートデフォルト主な機能
start_dataproc_cluster新しいクラスターを作成して起動✅ パラメーターを 80%削減プロファイルベース、自動構成
create_cluster_from_yamlYAML 構成から作成✅ プロジェクト/リージョンを注入テンプレート駆動のセットアップ
create_cluster_from_profile定義済みプロファイルを使用して作成✅ パラメーターを 85%削減組み込みプロファイル 8 種
list_clustersフィルタリングしてすべてのクラスターを一覧表示✅ パラメーター不要セマンティッククエリ、ページネーション
list_tracked_clustersMCP が作成したクラスターを一覧表示✅ プロファイルでフィルタリング作成状況を追跡
get_clusterクラスターの詳細情報を取得✅ パラメーターを 75%削減セマンティックなデータ抽出
delete_cluster既存のクラスターを削除✅ プロジェクト/リージョンのデフォルト値安全な削除
get_zeppelin_urlZeppelin ノートブックの URL を取得✅ 自動検出ウェブインターフェースへのアクセス
💼 ジョブ管理(7 ツール)
ツール説明スマートデフォルト主な機能
submit_hive_queryクラスターに Hive クエリを送信します✅ パラメーターを70%削減非同期処理のサポート、タイムアウト
submit_dataproc_jobSpark/PySpark/Presto ジョブを送信します✅ パラメーターを75%削減複数エンジンのサポート、ローカルファイルのステージング
cancel_dataproc_job実行中または保留中のジョブをキャンセルします✅ JobID のみが必要緊急キャンセル、コスト管理
get_job_statusジョブの実行ステータスを取得します✅ JobID のみが必要リアルタイム監視
get_job_resultsジョブの出力と結果を取得します✅ ページネーションを自動実行結果のフォーマット
get_query_statusHive クエリのステータスを取得します✅ 最小限のパラメータークエリの追跡
get_query_resultsHive クエリの結果を取得します✅ スマートページネーション非同期処理の強化
📋 設定とプロファイル(3 ツール)
ツール説明スマートデフォルト主な機能
list_profiles利用可能なクラスターのプロファイルを一覧表示します✅ カテゴリーによるフィルタリング8つの本番環境向けプロファイル
get_profileプロファイル設定の詳細を取得します✅ プロファイル ID のみテンプレートへのアクセス
query_cluster_data保存されたクラスターのデータを検索します✅ 自然言語セマンティック検索
📊 分析とインサイト(4 ツール)
ツール説明スマートデフォルト主な機能
check_active_jobsすべてのアクティブなジョブのステータスをすばやく確認します✅ パラメーター不要複数プロジェクトの表示
get_cluster_insightsクラスターの包括的な分析情報を取得します✅ 自動検出マシンタイプ、コンポーネント
get_job_analyticsジョブのパフォーマンスを分析します✅ 成功率エラーパターン、メトリクス
query_knowledge包括的なナレッジベースを検索します✅ 自然言語クラスター、ジョブ、エラー
🎯 主な機能
  • 🧠 セマンティック検索:Qdrant との統合による自然言語クエリ
  • ⚡ スマートデフォルト:インテリジェントな値の自動設定により、パラメーターを60~80%削減
  • 📊 レスポンスの最適化:データを完全に保持しながら、トークン数を96%削減
  • 🔄 非同期処理のサポート:ブロッキングなしのジョブ送信と監視
  • 🏷️ プロファイルシステム:本番環境ですぐに使える8つのクラスター用テンプレート
  • 📈 分析:包括的なインサイトとパフォーマンスの追跡

📋 設定

プロジェクトベースの設定

このサーバーは、プロジェクトベースの設定形式に対応しています。

# profiles/@analytics-workloads.yaml
my-company-analytics-prod-1234:
  region: us-central1
  tags:
    - DataProc
    - analytics
    - production
  labels:
    service: analytics-service
    owner: data-team
    environment: production
  cluster_config:
    # ... cluster configuration
認証方法
  1. サービスアカウントの偽装(推奨)
  2. サービスアカウントキーの直接指定
  3. アプリケーションのデフォルト認証情報
  4. フォールバック付きハイブリッド認証

📚 ドキュメント

🔧 MCP クライアントとの連携

Claude Desktop
{
  "mcpServers": {
    "dataproc": {
      "command": "npx",
      "args": ["@dataproc/mcp-server"],
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}
Roo(VS Code)
{
  "mcpServers": {
    "dataproc-server": {
      "command": "npx",
      "args": ["@dataproc/mcp-server"],
      "disabled": false,
      "alwaysAllow": [
        "list_clusters",
        "get_cluster",
        "list_profiles"
      ]
    }
  }
}

🏗️ アーキテクチャ

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCP Client    │────│  Dataproc MCP    │────│  Google Cloud   │
│  (Claude/Roo)   │    │     Server       │    │    Dataproc     │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                              │
                       ┌──────┴──────┐
                       │   Features  │
                       ├─────────────┤
                       │ • Security  │
                       │ • Profiles  │
                       │ • Validation│
                       │ • Monitoring│
                       │ • Generic    │
                       │   Converter  │
                       └─────────────┘
🔄 汎用型変換システムのアーキテクチャ
┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│  Source Types   │────│ Generic Converter │────│ Qdrant Payloads │
│ • ClusterData   │    │    System        │    │ • Compressed    │
│ • QueryResults  │    │                  │    │ • Type-Safe     │
│ • JobData       │    │ ┌──────────────┐ │    │ • Optimized     │
└─────────────────┘    │ │Field Analyzer│ │    └─────────────────┘
                       │ │Transformation│ │
                       │ │Engine        │ │
                       │ │Compression   │ │
                       │ │Service       │ │
                       │ └──────────────┘ │
                       └──────────────────┘

🚦 パフォーマンス

応答時間の達成状況
  • スキーマ検証:約2ms(目標:<5ms)✅
  • パラメーターの注入:約1ms(目標:<2ms)✅
  • 汎用型の変換:約0.50ms(目標:<2ms)✅
  • 認証情報の検証:約25ms(目標:<50ms)✅
  • MCP ツール呼び出し:約50ms(目標:<100ms)✅
スループットの達成状況
  • スキーマ検証:約2000 ops/sec ✅
  • パラメーターの注入:約5000 ops/sec ✅
  • 汎用型の変換:約2000 ops/sec ✅
  • 認証情報の検証:約200 ops/sec ✅
  • MCP ツール呼び出し:約100 ops/sec ✅
圧縮の達成状況
  • フィールドレベルの圧縮:圧縮率最大100% ✅
  • メモリの最適化:メモリ使用量を30~60%削減 ✅
  • 型安全性:自動検証により実行時の型エラーはゼロ ✅

🧪 テスト

# Run all tests
npm test

# Run specific test suites
npm run test:unit
npm run test:integration
npm run test:performance

# Run with coverage
npm run test:coverage

🤝 コントリビューション

皆さまからのコントリビューションを歓迎します!詳細はコントリビューションガイドをご覧ください。

開発環境のセットアップ
# Clone the repository
git clone https://github.com/dipseth/dataproc-mcp.git
cd dataproc-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

# Start development server
npm run dev

📄 ライセンス

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

🆘 サポート

🏆 謝辞

  • Model Context Protocol - これを可能にするプロトコル
  • Google Cloud Dataproc - 統合対象のサービス
  • Qdrant - セマンティック検索とナレッジのインデックス作成を支える、高性能なベクトルデータベース
  • TypeScript - 型安全性と開発者体験を実現する言語

MCP と Google Cloud のコミュニティに ❤️ を込めて

コメント

MCP は初めてですか?

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

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