mcpField
D
Dataproc MCP Server

Dataproc MCP Server

本地服务
github.com/dipseth云与基础设施970 周前更新

关于 Dataproc MCP Server

面向 Google Cloud Dataproc 的 MCP 服务,可管理集群、作业、配置档案并提供分析功能。它适用于 Roo、Claude 等 MCP 客户端用户,并支持参数默认值、语义搜索和多种认证方式。

主要功能

  1. 01提供 22 个 Dataproc 管理工具
  2. 02集群配置档案与智能默认值
  3. 03提交作业并监控状态
  4. 04支持可选 Qdrant 的语义搜索
  5. 05多种认证方式
  6. 06支持 HTTP、OAuth 和 WebSocket

适用场景

  1. 01根据配置档案或 YAML 创建集群
  2. 02提交并监控 Spark 或 Hive 作业
  3. 03搜索已存储的集群和作业信息
  4. 04通过 HTTPS 隧道连接 Claude.ai

MCP 相关

向 MCP 客户端提供 Dataproc 管理和分析工具,涵盖集群、作业、配置档案及查询操作。支持客户端命令配置,也支持供 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 操作的生产就绪型模型上下文协议(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 Web 应用兼容性

✅ 生产就绪:通过 HTTPS 隧道和 OAuth 实现与 Claude.ai 的完整集成

Dataproc MCP 服务现在提供完整的 Claude.ai Web 应用兼容性,包含可正常使用的解决方案,并提供全部 22 个 MCP 工具!

🚀 可用解决方案(已测试并验证)

终端 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。

✨ 功能

🎯 核心功能
  • 22 个生产就绪的 MCP 工具 - 完整的 Dataproc 管理套件
  • 🧠 知识库语义搜索 - 支持自然语言查询,可选集成 Qdrant
  • 🚀 响应优化 - 使用 Qdrant 存储可减少 60-96% 的 token
  • 🔄 通用类型转换系统 - 自动执行类型安全的数据转换
  • 减少 60-80% 的参数 - 智能注入默认值
  • 多环境支持 - 开发/预发布/生产环境配置
  • 服务账号模拟 - 企业级身份验证
  • 实时作业监控 - 全面的状态跟踪
🚀 响应优化
  • 减少 96.2% 的 token - list_clusters:7,651 → 292 个 token
  • 自动存储到 Qdrant - 完整保留数据并支持搜索
  • 资源 URI 访问 - dataproc://responses/clusters/list/abc123
  • 平滑回退 - 无需 Qdrant 也可运行,并回退到完整响应
  • 9.95 毫秒处理时间 - 优化速度极快,内存使用量低于 1 MB
🔄 通用类型转换系统
  • 减少 75% 的代码 - 消除各服务中的手动转换逻辑
  • 类型安全的转换 - 自动检测和映射字段
  • 智能压缩 - 支持配置阈值的字段级压缩
  • 0.50 毫秒转换时间 - 处理速度极快,压缩率达 100%
  • 零配置 - 自动适配现有 TypeScript 类型
  • 向后兼容 - 与现有功能无缝集成
� 企业级安全
  • 输入验证 - 为全部 16 个工具提供 Zod 模式
  • 速率限制 - 可配置的滥用防护
  • 凭据管理 - 安全处理和轮换凭据
  • 审计日志 - 全面跟踪安全事件
  • 威胁检测 - 防止注入攻击
📊 质量保障
  • 测试覆盖率达 90% 以上 - 全面的测试套件
  • 性能监控 - 可配置的阈值
  • 多环境测试 - 跨平台验证
  • 自动化质量门禁 - 集成 CI/CD
  • 安全扫描 - 漏洞管理
🚀 开发者体验
  • 5 分钟完成设置 - 快速入门指南
  • 交互式文档 - 含示例的 HTML 文档
  • 丰富的示例 - 多环境配置
  • 故障排除指南 - 常见问题及解决方案
  • IDE 集成 - 支持 TypeScript

🛠️ 完整的 MCP 工具套件(22 个工具)

🔄 通用类型转换增强:所有工具现在都支持自动、类型安全的数据转换,并具备智能压缩和字段映射功能。

🚀 集群管理(8 个工具)
工具描述智能默认值主要功能
start_dataproc_cluster创建并启动新集群✅ 参数减少 80%基于配置档案,自动配置
create_cluster_from_yaml根据 YAML 配置创建✅ 注入项目/区域模板驱动的设置
create_cluster_from_profile使用预定义配置档案创建✅ 参数减少 85%内置 8 个配置档案
list_clusters列出所有集群并进行筛选✅ 无需参数语义查询、分页
list_tracked_clusters列出由 MCP 创建的集群✅ 按配置档案筛选跟踪创建记录
get_cluster获取集群详细信息✅ 参数减少 75%语义数据提取
delete_cluster删除现有集群✅ 项目/区域默认值安全删除
get_zeppelin_url获取 Zeppelin 笔记本 URL✅ 自动发现Web 界面访问
💼 作业管理(7 个工具)
工具描述智能默认值主要功能
submit_hive_query向集群提交 Hive 查询✅ 参数减少 70%支持异步、超时
submit_dataproc_job提交 Spark/PySpark/Presto 作业✅ 参数减少 75%支持多种引擎、本地文件暂存
cancel_dataproc_job取消正在运行或等待中的作业✅ 只需 JobID紧急取消、成本控制
get_job_status获取作业执行状态✅ 只需 JobID实时监控
get_job_results获取作业输出和结果✅ 自动分页结果格式化
get_query_status获取 Hive 查询状态✅ 最少参数查询跟踪
get_query_results获取 Hive 查询结果✅ 智能分页增强的异步支持
📋 配置与配置文件(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 许可,详情请参阅 LICENSE 文件。

🆘 支持

🏆 致谢


为 MCP 和 Google Cloud 社区倾情打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。