BigQuery模型上下文协议服务器

一个基于Go语言开发的轻量级MCP服务器,提供BigQuery表结构查询、SQL执行和成本预估功能。

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

使用说明

bigquery mcp服务器

此存储库提供了一个用Go编写的最小模型上下文协议(MCP)服务器。服务器公开了由Google BigQuery支持的工具:

  • schema –返回BigQuery表的模式
  • query –执行SQL查询并返回结果行
  • dryrun –执行BigQuery模拟运行以验证SQL并估算成本

需求

  • 转到1.21或更高版本
  • BigQuery访问的Google应用程序默认凭据

入门指南

安装依赖项并运行服务器:

go mod tidy
go run ./cmd/server

服务器正在监听 :8080 默认情况下。使用MCP客户端调用已注册的工具。

测试

运行单元测试:

go test ./...

E2E测试

端到端测试需要访问BigQuery,因此不在CI中执行。 要在本地运行它们,请执行以下操作:

  1. 确保配置了Google应用程序默认凭据,例如运行:

    gcloud auth application-default login
    
  2. 设置以下环境变量以指向测试数据集:

    export BQ_PROJECT=your-project-id
    export BQ_DATASET=your_dataset
    export BQ_TABLE=your_table
    export BQ_SQL='SELECT 1 as id'
    
  3. 执行辅助脚本:

    ./scripts/run_e2e.sh
    

脚本运行 go test -tags=e2e ./e2e 启动服务器并进行练习 这 schema 和 query 针对BigQuery数据的工具。