Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Hands AI agents the databases dbboard connects to: reads by default, and never a secret.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 meta-taro 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.22.2)于昨天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SuperCollider
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
.exe / macOS .dmgOne window for every database you look after — and a safe way to let an AI agent read them.
dbboard is a desktop database client for Windows and macOS. It speaks Postgres (and Neon, Supabase, CockroachDB, Aurora DSQL), MySQL / MariaDB, Turso / libSQL, Cloudflare D1, Cloud Firestore, MongoDB and Redis-compatible stores (Redis, Valkey, Amazon MemoryDB, Amazon ElastiCache, Upstash), keeps every password in the operating system's keychain, and ships a separate MCP server so that Claude and other agents can read the same databases without being able to change them.
Your databases live on four different services. Production is on Neon, the side project on Supabase, the old system on a MySQL server behind a bastion, and the experiments in a Turso file. Instead of four web consoles and a terminal, they sit in one sidebar. An SSH tunnel reaches the one behind the bastion, and a colour and a tag on each connection make it obvious which one you are about to run a statement against.
You want an AI agent to read production, and it must never write. dbboard-mcp hands your existing connections to Claude Code or Claude Desktop. Reads run inside the database's own read-only mode (a READ ONLY transaction, PRAGMA query_only), not behind a keyword filter, so an UPDATE fails at the server. Writing stays off until you switch it on for one connection, and even then DROP, TRUNCATE and privilege changes are refused. Passwords never reach the agent. → MCP server
One login can see a dozen databases. Leave the database name blank when you add a Postgres or MySQL connection, and the sidebar lists every database that account can open, with its schemas and tables beneath. Click a table and the editor runs in that database; the label next to *Run* says which.
Someone needs one value fixed, without writing an `UPDATE`. Open the table, double-click the cell, type, and *Save changes*. The edit is keyed on the primary key, so a table without one stays read-only instead of guessing.
.exe, macOS .dmg).SHA256SUMS.txt from the release first if you want to be sure.There are no Linux builds yet; on Linux, build from source (see Run).
Add a connection. Host, port, user and password, or paste a connection URL instead. The password goes to the OS keychain, never to a file. Leave *Database* blank to browse all of them.
Find the table. Databases, then schemas, then tables. Selecting a table opens its structure: columns, types, defaults, the primary key, and the foreign keys in both directions. Notes you add stay on your machine.
Query it. Write SQL and press ⌘/Ctrl + Enter. Results come back in a grid you can copy as TSV or CSV or save to a file, and recent queries are kept in that connection's history.
Change a row. *Select top 100* from the table's menu opens an editable grid. Edits stay pending, highlighted, until you save or discard them.
Light or dark, in your language. The theme follows the system or stays where you put it, and the interface is available in eleven languages.
Every screenshot here is taken in a separate profile against fictional data (scripts/demo-profile), never against a real connection (ADR-0098).
Pre-1.0. Phases 1, 3, 6, and the Phase 4 AI assistant are closed, and dbboard now doubles as an MCP server (dbboard-mcp) for external AI agents (ADR-0046) — read-only unless you opt a connection in, and never for privilege changes, TRUNCATE or DROP (ADR-0087). The Turso, Cloudflare D1, CockroachDB, Neon, Supabase, AWS Aurora DSQL, MySQL / MariaDB, Cloud Firestore, MongoDB and Redis-compatible adapters all ship over the local HTTP backend. See CHANGELOG.md for what landed and docs/roadmap.md for the next phase.
The client is Tauri 2 + SvelteKit over the shared Rust core crates. The egui client it replaced shipped through v0.4.0 and was retired in ADR-0089; releases up to v0.4.0 still carry its binaries.
This is the desktop implementation. The web counterpart lives at meta-taro/dbboard-web (Nuxt + NestJS). The two share concepts and feature parity goals but are independent codebases.
A prebuilt Windows installer (.exe) and macOS disk image (.dmg) for the latest release are on the [download page](https://meta-taro.github.io/dbboard/) (GitHub Pages), or directly on the Releases page. Every release ships a SHA256SUMS.txt; verify your download before running it. The binaries are not code-signed, and will not be — a certificate is a recurring purchase this project does not make (ADR-0106). Windows SmartScreen / macOS Gatekeeper therefore warn on first launch, on every release. The checksum is what you verify instead.
mysql://…, its own SQL dialect)All ten adapters ship today. The four pg-wire flavors share the generic dbboard-postgres adapter (sqlx + tls-rustls-ring), differing only in the runtime label exposed by DatabaseAdapter::id() ("postgres", "neon", "supabase", "aurora-dsql") so the connection picker and history records can label each connection precisely. See ADR-0018 (Neon), ADR-0019 (Supabase), and ADR-0021 (Aurora DSQL).
MySQL / MariaDB is the first engine on a genuinely different SQL dialect (back-tick identifiers, back-slash string escapes, X'…' blobs, no NaN/±Inf in DOUBLE): it has its own dbboard-mysql adapter over sqlx's MySQL driver and a distinct SqlDialect::MySql. See ADR-0068.
Cloud Firestore is the first adapter that is not SQL at all. A query is a Firestore StructuredQuery written as JSON — the same object Google's docs show, with no translation layer and no invented query language — and nested documents come back in Value::Json cells. It is read-only by construction: the REST API splits reads from writes at the endpoint, and the crate contains no code able to build a write URL. It connects with a service-account key (stored in the OS keychain, never in connections.toml) or, with no credential at all, to the local emulator. See ADR-0091, ADR-0093, and ADR-0094.
MongoDB is the second, and it needed a different guarantee. A query is a command document written as JSON — {"find": "orders", "limit": 100}, the same object the mongosh docs show. Every MongoDB command travels one runCommand path, so read-only cannot be structural the way Firestore's is: it is an allowlist of commands and, per command, of their options, which is why {"find": …, "insert": …} is refused for having an option find does not take rather than for a remembered verb. $out and $merge are walked for at any depth, and server-side JavaScript is refused outright. The whole connection URI is the secret and lives in the OS keychain. MongoDB connections cannot be tunnelled over SSH — one URI may name several hosts and mongodb+srv:// discovers a replica set from DNS, so forwarding a single host leaves the driver failing over to members the tunnel never covered. See ADR-0095 and ADR-0096.
Redis-compatible stores are the third, and the first with no tables at all. Redis, Valkey, Amazon MemoryDB, Amazon ElastiCache and Upstash all speak RESP, so they share one adapter and differ only in the label and the form's defaults. A query is one command line, as redis-cli takes it — HGETALL user:1 — and read-only is again an allowlist of commands and of their arguments. Writes, scripts, blocking and pub/sub commands are refused before anything is sent, and so is KEYS, which blocks the server: SCAN gives the same answer a page at a time, and dbboard follows its cursor until it has the keys asked for, across every node of a cluster. A command that returns a whole hash, set, list or sorted set checks its size first. The sidebar lists key prefixes (user:*). MemoryDB always runs in cluster mode and over TLS. A store inside a private network is reached through an SSH bastion: every node the cluster names is forwarded on its own, and the URL keeps the host its TLS certificate names. See ADR-0166 and ADR-0167.
Aurora DSQL also has a second connection kind, aurora-dsql-iam (ADR-0036): instead of a manually supplied URL whose token expires in ~15 minutes, dbboard mints the SigV4 IAM token itself from stored AWS credentials, for connections that need to stay up 24/7. A background task re-mints the token and swaps in a freshly authenticated pool before it expires (ADR-0037, 段階B), so an unattended connection survives Aurora DSQL's idle recycle without a manual reconnect.
The Supabase REST/auth layer is deliberately deferred to a future ADR — at this stage all pg-wire flavors use the same postgres://… URL contract (the aurora-dsql-iam kind excepted, which stores AWS credentials rather than a URL).
The authoritative per-version support matrix (Tier 1 / Tier 2 / best effort) lives in docs/compatibility.md; versioning and DB-support policy are defined in ADR-0011.
T
只显示了开头部分;其余内容请在仓库中阅读