Labsco
dipseth logo

Dataproc MCP Server

β˜… 10

from dipseth

An MCP server for managing Google Cloud Dataproc operations and big data workflows, with seamless integration for VS Code.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

Dataproc MCP Server

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

A production-ready Model Context Protocol (MCP) server for Google Cloud Dataproc operations with intelligent parameter injection, enterprise-grade security, and comprehensive tooling. Designed for seamless integration with Roo (VS Code).

✨ Features

🎯 Core Capabilities

  • 22 Production-Ready MCP Tools - Complete Dataproc management suite
  • 🧠 Knowledge Base Semantic Search - Natural language queries with optional Qdrant integration
  • πŸš€ Response Optimization - 60-96% token reduction with Qdrant storage
  • πŸ”„ Generic Type Conversion System - Automatic, type-safe data transformations
  • 60-80% Parameter Reduction - Intelligent default injection
  • Multi-Environment Support - Dev/staging/production configurations
  • Service Account Impersonation - Enterprise authentication
  • Real-time Job Monitoring - Comprehensive status tracking

πŸš€ Response Optimization

  • 96.2% Token Reduction - list_clusters: 7,651 β†’ 292 tokens
  • Automatic Qdrant Storage - Full data preserved and searchable
  • Resource URI Access - dataproc://responses/clusters/list/abc123
  • Graceful Fallback - Works without Qdrant, falls back to full responses
  • 9.95ms Processing - Lightning-fast optimization with <1MB memory usage

πŸ”„ Generic Type Conversion System

  • 75% Code Reduction - Eliminates manual conversion logic across services
  • Type-Safe Transformations - Automatic field detection and mapping
  • Intelligent Compression - Field-level compression with configurable thresholds
  • 0.50ms Conversion Times - Lightning-fast processing with 100% compression ratios
  • Zero-Configuration - Works automatically with existing TypeScript types
  • Backward Compatible - Seamless integration with existing functionality

οΏ½ Enterprise Security

  • Input Validation - Zod schemas for all 16 tools
  • Rate Limiting - Configurable abuse prevention
  • Credential Management - Secure handling and rotation
  • Audit Logging - Comprehensive security event tracking
  • Threat Detection - Injection attack prevention

πŸ“Š Quality Assurance

  • 90%+ Test Coverage - Comprehensive test suite
  • Performance Monitoring - Configurable thresholds
  • Multi-Environment Testing - Cross-platform validation
  • Automated Quality Gates - CI/CD integration
  • Security Scanning - Vulnerability management

πŸš€ Developer Experience

  • 5-Minute Setup - Quick start guide
  • Interactive Documentation - HTML docs with examples
  • Comprehensive Examples - Multi-environment configs
  • Troubleshooting Guides - Common issues and solutions
  • IDE Integration - TypeScript support

πŸ› οΈ Complete MCP Tools Suite (22 Tools)

πŸ”„ Enhanced with Generic Type Conversion: All tools now benefit from automatic, type-safe data transformations with intelligent compression and field mapping.

πŸš€ Cluster Management (8 Tools)

ToolDescriptionSmart DefaultsKey Features
start_dataproc_clusterCreate and start new clustersβœ… 80% fewer paramsProfile-based, auto-config
create_cluster_from_yamlCreate from YAML configurationβœ… Project/region injectionTemplate-driven setup
create_cluster_from_profileCreate using predefined profilesβœ… 85% fewer params8 built-in profiles
list_clustersList all clusters with filteringβœ… No params neededSemantic queries, pagination
list_tracked_clustersList MCP-created clustersβœ… Profile filteringCreation tracking
get_clusterGet detailed cluster informationβœ… 75% fewer paramsSemantic data extraction
delete_clusterDelete existing clustersβœ… Project/region defaultsSafe deletion
get_zeppelin_urlGet Zeppelin notebook URLβœ… Auto-discoveryWeb interface access

πŸ’Ό Job Management (7 Tools)

ToolDescriptionSmart DefaultsKey Features
submit_hive_querySubmit Hive queries to clustersβœ… 70% fewer paramsAsync support, timeouts
submit_dataproc_jobSubmit Spark/PySpark/Presto jobsβœ… 75% fewer paramsMulti-engine support, Local file staging
cancel_dataproc_jobCancel running or pending jobsβœ… JobID only neededEmergency cancellation, cost control
get_job_statusGet job execution statusβœ… JobID only neededReal-time monitoring
get_job_resultsGet job outputs and resultsβœ… Auto-paginationResult formatting
get_query_statusGet Hive query statusβœ… Minimal paramsQuery tracking
get_query_resultsGet Hive query resultsβœ… Smart paginationEnhanced async support

πŸ“‹ Configuration & Profiles (3 Tools)

ToolDescriptionSmart DefaultsKey Features
list_profilesList available cluster profilesβœ… Category filtering8 production profiles
get_profileGet detailed profile configurationβœ… Profile ID onlyTemplate access
query_cluster_dataQuery stored cluster dataβœ… Natural languageSemantic search

πŸ“Š Analytics & Insights (4 Tools)

ToolDescriptionSmart DefaultsKey Features
check_active_jobsQuick status of all active jobsβœ… No params neededMulti-project view
get_cluster_insightsComprehensive cluster analyticsβœ… Auto-discoveryMachine types, components
get_job_analyticsJob performance analyticsβœ… Success ratesError patterns, metrics
query_knowledgeQuery comprehensive knowledge baseβœ… Natural languageClusters, jobs, errors

🎯 Key Capabilities

  • 🧠 Semantic Search: Natural language queries with Qdrant integration
  • ⚑ Smart Defaults: 60-80% parameter reduction through intelligent injection
  • πŸ“Š Response Optimization: 96% token reduction with full data preservation
  • πŸ”„ Async Support: Non-blocking job submission and monitoring
  • 🏷️ Profile System: 8 production-ready cluster templates
  • πŸ“ˆ Analytics: Comprehensive insights and performance tracking

πŸ“š Documentation

πŸ”§ MCP Client Integration

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"
      ]
    }
  }
}

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   MCP Client    │────│  Dataproc MCP    │────│  Google Cloud   β”‚
β”‚  (Claude/Roo)   β”‚    β”‚     Server       β”‚    β”‚    Dataproc     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                       β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”
                       β”‚   Features  β”‚
                       β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
                       β”‚ β€’ Security  β”‚
                       β”‚ β€’ Profiles  β”‚
                       β”‚ β€’ Validationβ”‚
                       β”‚ β€’ Monitoringβ”‚
                       β”‚ β€’ Generic    β”‚
                       β”‚   Converter  β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ Generic Type Conversion System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Source Types   │────│ Generic Converter │────│ Qdrant Payloads β”‚
β”‚ β€’ ClusterData   β”‚    β”‚    System        β”‚    β”‚ β€’ Compressed    β”‚
β”‚ β€’ QueryResults  β”‚    β”‚                  β”‚    β”‚ β€’ Type-Safe     β”‚
β”‚ β€’ JobData       β”‚    β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚    β”‚ β€’ Optimized     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚ β”‚Field Analyzerβ”‚ β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ β”‚Transformationβ”‚ β”‚
                       β”‚ β”‚Engine        β”‚ β”‚
                       β”‚ β”‚Compression   β”‚ β”‚
                       β”‚ β”‚Service       β”‚ β”‚
                       β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🚦 Performance

Response Time Achievements

  • Schema Validation: ~2ms (target: <5ms) βœ…
  • Parameter Injection: ~1ms (target: <2ms) βœ…
  • Generic Type Conversion: ~0.50ms (target: <2ms) βœ…
  • Credential Validation: ~25ms (target: <50ms) βœ…
  • MCP Tool Call: ~50ms (target: <100ms) βœ…

Throughput Achievements

  • Schema Validation: ~2000 ops/sec βœ…
  • Parameter Injection: ~5000 ops/sec βœ…
  • Generic Type Conversion: ~2000 ops/sec βœ…
  • Credential Validation: ~200 ops/sec βœ…
  • MCP Tool Call: ~100 ops/sec βœ…

Compression Achievements

  • Field-Level Compression: Up to 100% compression ratios βœ…
  • Memory Optimization: 30-60% reduction in memory usage βœ…
  • Type Safety: Zero runtime type errors with automatic validation βœ…

πŸ§ͺ Testing

# 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

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# 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

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

πŸ† Acknowledgments


Made with ❀️ for the MCP and Google Cloud communities