BigQuery MCP Server

BigQuery MCP Server

镜子 (jìng zi)

MCP-Mirror

研究与数据
访问服务器

README

BigQuery MCP 服务器

smithery badge <div align="center"> <img src="assets/mcp-bigquery-server-logo.png" alt="BigQuery MCP Server Logo" width="400"/> </div>

这是什么? 🤔

这是一个让你的 LLM(例如 Claude)直接与你的 BigQuery 数据对话的服务器! 可以把它想象成一个友好的翻译器,位于你的 AI 助手和你的数据库之间,确保它们可以安全有效地聊天。

快速示例

你:“上个月我们排名前 10 的客户是谁?”
Claude:*查询你的 BigQuery 数据库,并用简单的英语给你答案*

无需再手动编写 SQL 查询 - 只需以自然的方式与你的数据聊天!

它如何工作? 🛠️

此服务器使用模型上下文协议 (MCP),它就像 AI 数据库通信的通用翻译器。 虽然 MCP 旨在与任何 AI 模型一起使用,但目前它在 Claude Desktop 中以开发者预览版提供。

以下是您需要做的:

  1. 设置身份验证(见下文)
  2. 将您的项目详细信息添加到 Claude Desktop 的配置文件
  3. 开始以自然的方式与您的 BigQuery 数据聊天!

它可以做什么? 📊

  • 只需用简单的英语提问即可运行 SQL 查询
  • 访问数据集中的表和物化视图
  • 使用资源类型的清晰标签(表与视图)浏览数据集模式
  • 在安全限制内分析数据(默认情况下为 1GB 查询限制)
  • 确保您的数据安全(只读访问)

快速开始 🚀

前提条件

  • Node.js 14 或更高版本
  • 启用了 BigQuery 的 Google Cloud 项目
  • 已安装 Google Cloud CLI 或服务帐户密钥文件
  • Claude Desktop(目前唯一支持的 LLM 界面)

选项 1:通过 Smithery 快速安装(推荐)

要通过 Smithery 为 Claude Desktop 自动安装 BigQuery MCP Server,请在您的终端中运行以下命令:

npx @smithery/cli install @ergut/mcp-bigquery-server --client claude

安装程序将提示您:

  • 您的 Google Cloud 项目 ID
  • BigQuery 位置(默认为 us-central1)

配置完成后,Smithery 将自动更新您的 Claude Desktop 配置并重新启动应用程序。

选项 2:手动设置

如果您喜欢手动配置或需要更多控制:

  1. 使用 Google Cloud 进行身份验证(选择一种方法):

    • 使用 Google Cloud CLI(非常适合开发):
      gcloud auth application-default login
      
    • 使用服务帐户(推荐用于生产):
      # 保存您的服务帐户密钥文件并使用 --key-file 参数
      # 记住要保护您的服务帐户密钥文件,并且永远不要将其提交到版本控制
      
  2. 添加到您的 Claude Desktop 配置 将此添加到您的 claude_desktop_config.json

    • 基本配置:

      {
        "mcpServers": {
          "bigquery": {
            "command": "npx",
            "args": [
              "-y",
              "@ergut/mcp-bigquery-server",
              "--project-id",
              "your-project-id",
              "--location",
              "us-central1"
            ]
          }
        }
      }
      
    • 使用服务帐户:

      {
        "mcpServers": {
          "bigquery": {
            "command": "npx",
            "args": [
              "-y",
              "@ergut/mcp-bigquery-server",
              "--project-id",
              "your-project-id",
              "--location",
              "us-central1",
              "--key-file",
              "/path/to/service-account-key.json"
            ]
          }
        }
      }
      
  3. 开始聊天! 打开 Claude Desktop 并开始询问有关您数据的问题。

命令行参数

服务器接受以下参数:

  • --project-id:(必需)您的 Google Cloud 项目 ID
  • --location:(可选)BigQuery 位置,默认为“us-central1”
  • --key-file:(可选)服务帐户密钥 JSON 文件的路径

使用服务帐户的示例:

npx @ergut/mcp-bigquery-server --project-id your-project-id --location europe-west1 --key-file /path/to/key.json

需要的权限

您需要以下权限之一:

  • roles/bigquery.user(推荐)
  • 或两者:
    • roles/bigquery.dataViewer
    • roles/bigquery.jobUser

开发者设置(可选) 🔧

想要自定义或贡献? 以下是如何在本地设置它:

# 克隆并安装
git clone https://github.com/ergut/mcp-bigquery-server
cd mcp-bigquery-server
npm install

# 构建
npm run build

然后更新您的 Claude Desktop 配置以指向您的本地构建:

{
  "mcpServers": {
    "bigquery": {
      "command": "node",
      "args": [
        "/path/to/your/clone/mcp-bigquery-server/dist/index.js",
        "--project-id",
        "your-project-id",
        "--location",
        "us-central1",
        "--key-file",
        "/path/to/service-account-key.json"
      ]
    }
  }
}

当前限制 ⚠️

  • MCP 支持目前仅在 Claude Desktop(开发者预览版)中可用
  • 连接仅限于在同一台机器上运行的本地 MCP 服务器
  • 查询是只读的,具有 1GB 的处理限制
  • 虽然支持表和视图,但某些复杂的视图类型可能存在限制

支持与资源 💬

许可证 📝

MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。

作者 ✍️

Salih Ergüt

赞助

该项目由以下机构自豪地赞助:

<div align="center"> <a href="https://www.oredata.com"> <img src="assets/oredata-logo-nobg.png" alt="OREDATA" width="300"/> </a> </div>

版本历史 📋

有关更新和版本历史,请参阅 CHANGELOG.md

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python