BigQuery数据库查询服务

一个基于BigQuery的MCP服务器,提供数据库模式检查和SQL查询执行功能,适用于LLM访问结构化数据。

  • by codearranger
  • 本地部署
  • 更新于
在 GitHub 查看 codearranger/mcp-server-bigquery

使用说明

BigQuery MCP服务器

提供对BigQuery访问的模型上下文协议服务器。此服务器使LLM能够检查数据库模式并执行查询。

组件

工具

服务器实现了一个工具:

  • execute-query:使用BigQuery方言执行SQL查询
  • list-tables:列出BigQuery数据库中的所有表
  • describe-table:描述特定表的架构

配置

可以使用以下参数配置服务器:

  • --project (必填):GCP项目ID。
  • --location (必填):GCP位置(例如。 europe-west9).
  • --dataset (可选):仅考虑特定的BigQuery数据集。通过重复参数可以指定多个数据集(例如。 --dataset my_dataset_1 --dataset my_dataset_2).如果没有提供,将考虑项目中的所有数据集。
  • --key-file (可选):BigQuery服务帐户密钥文件的路径。如果没有提供,服务器将使用默认凭据。

快速启动

安装

通过Smithery安装

通过以下方式自动安装BigQuery Server for Claude Desktop 史密瑟里:

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

克劳德桌面

在MacOS上: ~/Library/Application\ Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

开发/未发布的服务器配置
"mcpServers": {
  "bigquery": {
    "command": "uv",
    "args": [
      "--directory",
      "{{PATH_TO_REPO}}",
      "run",
      "mcp-server-bigquery",
      "--project",
      "{{GCP_PROJECT_ID}}",
      "--location",
      "{{GCP_LOCATION}}"
    ]
  }
}
已发布的服务器配置
"mcpServers": {
  "bigquery": {
    "command": "uvx",
    "args": [
      "mcp-server-bigquery",
      "--project",
      "{{GCP_PROJECT_ID}}",
      "--location",
      "{{GCP_LOCATION}}"
    ]
  }
}

替换 {{PATH_TO_REPO}}, {{GCP_PROJECT_ID}},以及 {{GCP_LOCATION}} 具有适当的值。

发展

建筑与出版

准备分发包裹:

  1. 同步依赖关系并更新锁文件:
uv sync
  1. 构建包分发:
uv build

这将在 dist/ 目录。

  1. 发布到PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置PyPI凭据:

  • 令牌: --token 或 UV_PUBLISH_TOKEN
  • 或用户名/密码: --username/UV_PUBLISH_USERNAME 和 --password/UV_PUBLISH_PASSWORD

调试

由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.

您可以通过以下方式启动MCP检查器 npm 使用此命令:

npx @modelcontextprotocol/inspector uv --directory {{PATH_TO_REPO}} run mcp-server-bigquery

启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。