Quorum

ai.quorumdb由 quorumdb.ai 发布v4.0.0更新于 Nov 2, 2026

Database tools for AI clients through the Quorum app: reads, masking, approved writes.

概览

AI 生成的概览

Quorum 的本地 MCP 服务器让 AI 客户端通过 Quorum 桌面应用读取已共享的数据库,支持脱敏与人工审批的写入。

可以做什么
  • 发现与查看数据库:列出已共享的连接、读取 schema 树、描述表、按名称搜索表和列、读取团队数据字典
  • 读取数据:执行只读 SQL、抽样最多 100 行、仅用 EXPLAIN 查看执行计划而不实际运行、运行已保存查询并列出查询库
  • 查看活动:读取共享连接的查询历史与写入审计日志
  • 提交变更:附带理由提出写入请求,由人在 Quorum 中审批,随后查询单个提案或列出近期提案
  • 查看运维:在 Quorum 中配置后读取 Last9 或 Datadog 的服务健康数据
适用场景
适合希望让 AI 助手浏览和查询团队数据库、又不想把数据库凭据交给它的场景,也适合要求数据变更必须经人在 Quorum 中审批的团队。已在用 Quorum 桌面应用、并希望把同样的只读、脱敏和写入规则套用到 AI 客户端的用户最适用。
运行要求
需在 macOS、Windows 或 Linux 上运行 Quorum 桌面应用 4.0.0 或更高版本,且使用期间保持开启;Quorum 为付费产品,试用即将推出。需要一个 MCP 客户端,如 Claude Desktop、Claude Code、Cursor、VS Code、Windsurf 或 Codex。服务器运行在 Quorum 内置的 Node 运行时上,无需另外安装。每个连接都必须在 Quorum 设置中显式共享给 AI 客户端。
安装前请注意
写入可能修改或删除数据:默认设置下写入需在 Quorum 中等待审批,但另一设置会让允许的写入在非生产连接上直接执行。每次写入和被拒绝的写入都会以 AI 代理名义记入写入审计。根据连接设置,读取结果可能被脱敏或仅返回列画像。数据库访问依赖 Quorum 应用处于开启状态。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Quorum,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Quorum MCP server

Give Claude, Cursor, VS Code, Windsurf, Codex or your own agent access to your databases through Quorum, with the same rules as Quorum's editor: read-only sessions, masking, and a person approving every write.

Contents

How it works

MCP (Model Context Protocol) is how AI tools call outside tools. Quorum ships an MCP server that the AI client starts on its side. The server talks to the running Quorum app over a local bridge on your computer.

  • Quorum must be open. The AI client reaches your databases only while Quorum runs.
  • No passwords leave Quorum. The client sends a request; Quorum runs it with its own saved login.
  • Each connection is off for AI clients until you turn it on.
  • Same rules as the editor: read-only sessions for reads, masking, and approval for writes.

Reads run in a read-only session and return up to 10,000 rows. Masked columns come back masked, and a query that names a masked column is refused. On DuckDB and SQLite, AI clients cannot read or write files on your computer.

Requirements

  • The Quorum desktop app, version 4.0.0 or later, on macOS, Windows or Linux. Quorum is a paid product with a free 14-day trial coming soon; request access at https://www.quorumdb.ai/#access to hear first.
  • An MCP client. Quorum sets up Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and Codex for you, and gives you the configuration to copy for any other client.

The server runs on the Node runtime inside Quorum, so nothing else needs installing.

Set up an AI client

  1. In Quorum, open Settings › AI clients.
  2. Under 1. AI clients, find the client. Its status is Set up, Not set up, Not found, or Set up for another copy.
  3. Click Set up. Quorum adds its entry to the client's own configuration file and keeps everything else in it.
  4. Quit the client and open it again.
  5. Under 2. Connections the AI may use, turn on the connections it should reach.

For another client, open Another AI client: copy the config, click Copy and paste it into that client's MCP settings.

ClientConfiguration file Quorum writes (macOS)
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code~/.claude.json
Cursor~/.cursor/mcp.json
VS Code~/Library/Application Support/Code/User/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
Codex~/.codex/config.toml, or the folder in CODEX_HOME

Linux uses ~/.config and Windows uses %APPDATA% for the Claude Desktop and VS Code rows.

Choose the connections AI clients may use

AI clients see no connection until you share it. In Settings › AI clients, click Choose connections…, search or browse by environment, and turn on Let AI clients use for each one.

  • A shared connection is readable only while Allow AI features on this connection is on.
  • Where AI may see row values is off, results reach the client as a profile of each column, not the values.
  • Imported and shared connections always arrive with AI clients off.

Tools

ToolWhat it does
quorum_list_connectionsLists the shared connections and how their writes are handled.
quorum_get_schemaReads a connection's schema: tables, views, columns, types and keys.
quorum_describe_tableDescribes one table, with the team's descriptions.
quorum_search_schemaFinds tables and columns by name.
quorum_sample_rowsReads up to 100 rows of a table. Masked columns come back masked.
quorum_explain_queryShows the plan of a single read. EXPLAIN only, so nothing runs.
quorum_execute_queryRuns a read in a read-only session, or a write if the write setting allows it.
quorum_list_saved_queriesLists the team's saved queries.
quorum_run_saved_queryRuns a saved query as a read.
quorum_get_query_historyReads query history for shared connections.
quorum_get_audit_logReads the write audit: who, what, risk and rows affected.
quorum_get_data_dictionaryReads the team's descriptions of tables and columns.
quorum_get_service_healthReads service health from Last9 or Datadog, when set up in Quorum.
quorum_propose_writeProposes a write, with a reason, for a person to approve in Quorum.
quorum_get_proposalChecks a proposal's outcome.
quorum_list_proposalsLists recent proposals and their status.

How writes are handled

Settings › AI clients › 3. Writes from AI clients has two choices:

ChoiceWhat happens
Ask me in Quorum (default, recommended)A write waits in Quorum until you approve it. On PROD it also needs PROD typed.
Run allowed writes directlyAllowed data changes run at once on LOCAL, DEV, QA, UAT and STAGE. Writes on PROD are refused.

Even when writes run directly, Quorum still refuses any write on PROD and any critical write; DDL and TRUNCATE on any connection except LOCAL; writes on a connection that is read-only, always reviewed, needs a ticket or has a cool-down; and anything the safety checks block, such as an UPDATE without WHERE. Every write and every refusal is recorded in the write audit, as made by an AI agent.

Quorum Gate

With Ask me in Quorum, the AI client proposes a write with a one-line reason, and Quorum waits for you.

  1. Quorum shows the request: the kind, environment, connection, risk and the client's reason, then the SQL, formatted.
  2. What it will change shows how many rows, the columns it sets and whether any value actually changes, and a few of the matched rows with masked columns masked.
  3. If asked, type the confirmation word (for example PROD) and a ticket.
  4. Click Approve and run once, or type a reason and Reject. The client sees your reason.

An approved write runs exactly as proposed, once, through the same checks as the editor. A request expires after 30 minutes. No response means no write.

In clients that support MCP Apps, such as Claude, Claude Desktop, VS Code, Cursor and Goose, the request also appears as a card in the chat. The card shows the status; approving happens in Quorum.

The quorum command

The same bridge powers a command-line tool that runs queries through the running Quorum app and its rules. Install it from Settings › AI clients › Command-line tool.

quorum connectionsquorum query <connection> "<sql>" [--format table|csv|json] [--limit N]quorum describe <connection> <table> [--schema S]quorum savedquorum run-saved "<name>" [--connection C] [--format …]quorum history [--connection C] [--limit N]quorum propose <connection> "<sql>" --reason "<why>" [--wait SECONDS]quorum request <id> [--wait SECONDS]

Only connections shared with AI clients are reachable. Writes go through propose and wait for approval in Quorum.

About this repository

This repository documents Quorum's MCP server and holds its MCP Registry entry (server.json). The server itself ships with the Quorum app. Questions: https://www.quorumdb.ai/#contact.

Product and company names are trademarks of their respective owners and are used only to describe what Quorum works with.

来源:README.md,提交 03a6686

工具

16

quorum_list_connections

List Quorum Connections

List all database connections configured in Quorum that are enabled for MCP access. Returns connection metadata (id, name, type, environment). Never touches passwords. Each connection says how a write is handled ("writes"), as the person set it in Quorum: - "with approval in Quorum": propose it with quorum_propose_write; it runs only after the person approves it in Quorum (on PROD they also type a confirmation). - "allowed writes run directly": allowed changes run through quorum_execute_query. - "refused (PROD)": writes on this PROD connection are refused; it can be read. - "none": the connection is read-only. PROD connections are readable. Use the returned id in all other quorum_* tool calls.

无需输入参数。

quorum_get_schema

Get Schema for Quorum Connection

Get the full schema tree for a database connection — tables, views, columns, types, and keys. Use quorum_list_connections first to get valid connection IDs. Args: - connection_id: UUID of the connection (from quorum_list_connections) Returns the schema tree as JSON.

输入参数connection_id必填

quorum_execute_query

Execute SQL via Quorum

Execute a SQL query against a Quorum database connection. Reads run in a read-only session; masked columns stay masked. For changes, use quorum_propose_write: a person approves them in Quorum. (Only when Quorum is set to run allowed writes directly does a write run here, and then UPDATE or DELETE without WHERE, PROD and CRITICAL writes, DDL and TRUNCATE off LOCAL, and writes on connections that need review, a ticket or a cool-down are refused.) Results are limited by the connection's row limit (configurable in Quorum). Args: - connection_id: UUID from quorum_list_connections - sql: SQL query to execute - row_limit: Optional override for result row limit Returns columns, rows, row count, and duration.

输入参数sql必填row_limitconnection_id必填

quorum_list_saved_queries

List Saved Queries

List saved queries from Quorum's query library. Useful for discovering pre-built queries that are known to work against a connection. Args: - connection_id: Optional — filter to queries saved for a specific connection

输入参数connection_id

quorum_describe_table

Describe a table

Columns, types, keys, row count and the team's descriptions for one table or view.

输入参数table必填schemaconnection_id必填

quorum_search_schema

Search tables and columns

Find tables and columns whose name contains the text, across all MCP-enabled connections or one.

输入参数text必填connection_id

quorum_sample_rows

Sample rows from a table

Up to 100 rows from one table, read in a read-only session. Masked columns come back masked.

输入参数limittable必填schemaconnection_id必填

quorum_explain_query

Show a query plan

The database's plan for one read (EXPLAIN, never ANALYZE, so nothing runs). PostgreSQL, MySQL, SQLite, DuckDB, Snowflake, ClickHouse and H2.

输入参数sql必填connection_id必填

quorum_run_saved_query

Run a saved query

Run one of the team's saved queries by name (reads only). Uses its own connection unless one is given.

输入参数name必填row_limitconnection_id

quorum_get_query_history

Recent queries

Queries run in Quorum recently on MCP-enabled connections, newest first, with status, rows and timing.

输入参数limitconnection_id

quorum_get_audit_log

Write audit log

Recorded writes and refused writes on MCP-enabled connections: who, what, risk and rows affected.

输入参数limitconnection_id

quorum_get_data_dictionary

Data dictionary

The team's descriptions of tables and columns for one connection.

输入参数connection_id必填

quorum_get_service_health

Service health

Services from the observability provider set up in Quorum (Last9 or Datadog): health, p95 latency, error rate and traffic against last week.

输入参数window

quorum_propose_write

Propose a write for approval

Ask a person to approve a data or schema change in the Quorum app. Nothing runs until they approve it there; it then runs exactly as proposed, once. The person sees the statement, your reason, the connection and its risk. PROD and CRITICAL changes need them to type a confirmation; some connections need a ticket. Refused outright: read-only connections and statements the safety policy blocks (for example DELETE without WHERE). Args: - connection_id: from quorum_list_connections - sql: the exact statement(s) to run - rationale: one line on why the change is needed - wait_seconds: wait up to this long (max 110) for the decision; 0 returns at once Returns the request id and status (pending, done, rejected, failed, expired).

输入参数sql必填rationale必填wait_secondsconnection_id必填

quorum_get_proposal

Check a write request

The status of a request made with quorum_propose_write. wait_seconds (max 110) waits for a decision.

输入参数id必填wait_seconds

quorum_list_proposals

List write requests

Recent write requests and their status, newest first.

无需输入参数。

版本历史

1
  1. v4.0.0最新Oct 26, 2026

评分

已满足适用检查项的 80%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。