Dataproc MCP Server
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).
🚀 Quick Start
Recommended: Roo (VS Code) Integration
Add this to your Roo MCP settings:
{
"mcpServers": {
"dataproc": {
"command": "npx",
"args": ["@dipseth/dataproc-mcp-server@latest"],
"env": {
"LOG_LEVEL": "info"
}
}
}
}
With Custom Config File
{
"mcpServers": {
"dataproc": {
"command": "npx",
"args": ["@dipseth/dataproc-mcp-server@latest"],
"env": {
"LOG_LEVEL": "info",
"DATAPROC_CONFIG_PATH": "/path/to/your/config.json"
}
}
}
}
📋 Configuration
Project-Based Configuration
The server supports a project-based configuration format:
# 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
Authentication Methods
For detailed information on authentication methods, refer to the Authentication Implementation Guide.
Environment Variables
Variable | Description | Default |
---|---|---|
DATAPROC_CONFIG_PATH |
Path to configuration file | config/server.json |
LOG_LEVEL |
Logging level (debug, info, warn, error) | info |
GOOGLE_APPLICATION_CREDENTIALS |
Path to service account key | - |
DATAPROC_PROJECT_ID |
Default GCP project ID | - |
DATAPROC_REGION |
Default Dataproc region | us-central1 |
Configuration File Structure
{
"projectId": "your-gcp-project",
"region": "us-central1",
"authentication": {
"type": "service_account_impersonation",
"serviceAccountEmail": "dataproc-service@project.iam.gserviceaccount.com",
"impersonationChain": ["intermediate@project.iam.gserviceaccount.com"]
},
"defaultParameters": {
"numWorkers": 2,
"machineType": "n1-standard-4",
"diskSize": 100
},
"profiles": {
"development": {
"numWorkers": 2,
"machineType": "n1-standard-2"
},
"production": {
"numWorkers": 10,
"machineType": "n1-standard-8"
}
}
}
🔧 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"],
"env": {
"LOG_LEVEL": "info",
"DATAPROC_CONFIG_PATH": "./config/server.json"
}
}
}
}
📚 Documentation
- Quick Start Guide - Get started in 5 minutes
- API Reference - Complete tool documentation
- Configuration Examples - Real-world configurations
- Security Guide - Best practices and compliance
- Installation Guide - Detailed setup instructions
🛠️ Key Features
- 🎯 60-80% Parameter Reduction - Intelligent default injection
- 🔐 Enterprise Security - Service account impersonation, credential management
- 📊 Multi-Environment Support - Dev/staging/production configurations
- ⚡ Async Query Tracking - Real-time job monitoring and results
- 🔄 Auto-Cleanup - Intelligent resource management
- 📈 Performance Monitoring - Built-in metrics and health checks
🤝 Support
- GitHub Issues: Report bugs and request features
- Documentation: Complete documentation
- NPM Package: Package information
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ for the Model Context Protocol ecosystem.