BigQuery数据库查询服务

BigQuery MCP Server是一个允许LLM(如Claude)直接与BigQuery数据库交互的服务器,充当AI助手与数据库之间的安全高效翻译器,支持通过自然语言查询数据而无需手动编写SQL。

  • by kitae-kim-Edwin
  • 本地部署
  • 更新于
在 GitHub 查看 positivewith/mcp-bigquery-server

使用说明

BigQuery MCP服务器

这是什么? 🤔

这是一个让你的LLM(如Claude)直接与你的BigQuery数据通信的服务器!把它想象成一个友好的翻译器,坐在你的人工智能助手和数据库之间,确保他们可以安全有效地聊天。

快速示例

You: "What were our top 10 customers last month?"
Claude: *queries your BigQuery database and gives you the answer in plain English*

不再需要手工编写SQL查询,只需与您的数据自然聊天即可!

它是如何工作的? 🛠️

该服务器使用模型上下文协议(MCP),它就像人工智能数据库通信的通用翻译器。虽然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快速安装(推荐)

通过以下方式自动安装适用于Claude Desktop的BigQuery MCP服务器 史密瑟里,在终端中运行以下命令:

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
      
    • 使用服务帐户(建议用于生产):
      # Save your service account key file and use --key-file parameter
      # Remember to keep your service account key file secure and never commit it to version control
      
  2. 添加到您的Claude桌面配置 将此添加到您的 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. 开始聊天! 打开克劳德桌面,开始询问有关数据的问题。

命令行参数

服务器接受以下参数:

  • --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

开发人员设置(可选)🔧

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

# Clone and install
git clone https://github.com/ergut/mcp-bigquery-server
cd mcp-bigquery-server
npm install

# Build
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许可证-请参阅 许可证 文件以获取详细信息。

作者✍️

萨利赫·埃尔古特

赞助

该项目由以下机构赞助:

版本历史记录📋

看 更改日志.md 用于更新和版本历史记录。