← 首页

C3DB

从浏览器、终端或你自己的 AI 查询攀岩赛事数据仓库。

在浏览器里查询

浏览器里的 SQL 与自然语言查询工作台,无需安装。

打开网页版 console →

1. 写 SQL

装好客户端,登录一次,然后发送只读 SQL,返回一张表。

pip install c3db
c3db login
c3db query "SELECT * FROM event_standings WHERE final_rank = 1 LIMIT 5"
在浏览器里创建 / 管理密钥 →

2. 在 ChatGPT、Gemini 或 Claude 里用

不用装任何东西,也不用复制密钥。你只需要把一个地址填进应用,按提示登录 C3DB,然后用日常语言提问。应用会自己读取数据库结构并写出 SQL。

要粘贴的地址:

https://c3db-mcp-rt24zk2pna-uc.a.run.app/mcp

需要一个免费的 C3DB 账号。下面的步骤中途会打开登录页,没有账号就在那里注册。

Claude,网址 claude.ai

  1. 打开 claude.ai 并登录。
  2. 点击左下角你的名字,选 Settings,再选 Connectors。
  3. 点击 Add custom connector。
  4. 把上面的地址粘进 URL 输入框,点 Add。
  5. 在 C3DB 那一行点 Connect,登录 C3DB,然后点 Allow。
  6. 回到对话,点 + 按钮,打开 Connectors,把 C3DB 打开。

Team 和 Enterprise 套餐需要管理员先在 Admin settings 里添加,其他人再点 Connect。

ChatGPT,网址 chatgpt.com

  1. 打开 chatgpt.com 并登录。
  2. 进入 Settings,选 Connectors,再选 Advanced,打开 Developer mode。
  3. 回到 Connectors,点 Create。
  4. 名字填 C3DB,把上面的地址粘进 server URL,点 Create。
  5. 登录 C3DB,然后点 Allow。
  6. 开一个新对话,点 +,选 More,再选 Developer mode,把 C3DB 打开。

Developer mode 需要付费套餐(Pro、Business、Enterprise 或 Edu)。每开一个新对话都要重新打开这个连接器。

Gemini,网址 gemini.google.com

  1. 打开 gemini.google.com,用个人 Google 账号登录。
  2. 在底部打开 Settings & help,再选 Connected Apps。如果没看到,先点 Personal Intelligence。
  3. 在 Custom apps for Spark 下面点 Add a custom app。
  4. 粘贴上面的地址,点 Next。
  5. 登录 C3DB,然后点 Allow。
  6. 写提问时输入 @ 并选择 C3DB,Gemini 才会用它。

Google 限定:需有 Gemini Spark 权限、年满 18 岁、身在美国、使用个人账号,并开启 Keep Activity。

3. 在编程 agent 里用

一条命令就把仓库注册进 Claude Code 或 Cursor。你的 agent 自己读 schema、自己写 SQL,不需要 model key。先按第 1 步装好客户端。

c3db connect claude
c3db connect cursor

已支持 Claude Code 和 Cursor。Codex 即将支持。

4. 以上都不行时:c3db ask

你自己的模型写 SQL,再由 C3DB 执行。Claude 用你的 `ant auth login` 登录;OpenAI、DeepSeek、GLM 则设置 provider key 或运行 `c3db model set <provider>`。

pip install "c3db[ask]"
c3db ask "who has the most World Cup golds in lead?"

🔒 你的模型 API key 只存在你本机(环境变量或 ~/.config/c3db),从不发送给 C3DB。

Python SDK

Client().query() 返回 pandas DataFrame;Client().ask() 让你自己的模型来写 SQL。

from c3db import Client

df = Client().query("SELECT athlete_name, count(*) AS golds "
                    "FROM event_standings WHERE final_rank = 1 "
                    "GROUP BY 1 ORDER BY 2 DESC")

# or let your own model write the SQL:
df = Client().ask("who has the most World Cup golds in lead?")

命令

命令作用
c3db login验证并存储你的 C3DB 数据密钥。
c3db query "<sql>"运行只读 SQL 查询(-f 文件 / stdin;--format table|csv|json)。
c3db ask "<question>"用自然语言提问;由你自己的模型写 SQL。需要 pip install "c3db[ask]"。
c3db connect claude把托管 MCP 注册进 Claude Code 或 Cursor。
c3db schema打印查询约定与权威的 BigQuery DDL。