Mac下我曾经用过Navicat、DBeaver和Sequel这三款数据库管理软件。说实话,Navicat很不好用,DBWaver启动慢而且内存占用也很高,而Sequel只支持MySQL,存在很大的局限。后来,在很长一段时间内,我都是在VS Code装了个database的扩展来管理本地数据库。而自从使用opencode终端做开发以后,不得不在终端之外,再开一个VS Code用来查看编辑项目文件和项目数据库管理。这两天,我发现了一款名叫TablePro的免费开源数据库管理软件(GitHub 4.6k Star)。试用下来,非常值得向大家推荐:
1)Mac原生开发,启动快且内存占用小。目前仅支持macOS 14+、iOS / iPadOS 18+,纯Swift原生开发,包括数据库驱动,冷启动不到1秒,在我的Mac mini m4 pro 64GB机器上常驻内存也仅仅400多MB2)支持多数据库:内置支持MySQL、MariaDB、PostgreSQL、Amazon Redshift、CockroachDB、SQLite、ClickHouse、Redis;插件支持Microsoft SQL Server、MongoDB、Oracle Database、DuckDB、Cassandra / ScyllaDB、Etcd、Cloudflare D1、DynamoDB、BigQuery、libSQL / Turso3)SQL 编辑器:自动补全、多光标、Vim 模式、语法主题6)可视化:自动 ER 关系图、服务器监控面板(活跃会话 / 慢查询 / 杀会话)7)完全开源免费,虽然也有付费版,但是,付费版和免费版的主要区别是iCloud 跨设备同步、XLSX Excel 格式导出(免费只能导出 CSV/JSON/SQL),团队付费版还多了一个团队连接共享(一键分发数据库连接给团队成员)重点是,TablePro还支持两个AI功能:
1)AI助手和行内建议。除了可以配置常见的GitHub Copilot、ChatGPT、Cursor、Claude、OpenAI、OpenRouter、OpenCode Zen、Gemini和Ollama模型提供商以外,还支持自定义OpenAI-compatible的模型提供商,可以扩展支持国内的比如火山引擎、DeepSeek、Kimi等等。另外,对话面板有三种模式:提问、编辑、智能体。还可以调用工具来检查架构、从@提及内容中获取上下文,并通过/斜杠命令运行模板。所有的API Key密钥存储在 macOS 钥匙串中,防止泄露。2)我最欣赏的功能——内置MCP服务器,支持stdio和Streamable HTTP两种方式接入。接入到我的OpenCode以后,Agent通过TablePro MCP Server可以直接操作各类数据库,其他的数据库操作类的MCP服务我全部都停掉了:list_connections:列出所有已保存的数据库连接及其状态connect:连接到已保存的数据库(参数:connection_id)get_connection_status:获取数据库连接的详细状态open_connection_window:为已保存的连接打开 TablePro 窗口switch_database:切换连接的活动数据库switch_schema:切换连接的活动 Schemalist_schemas:列出数据库中的 Schemalist_tables:列出数据库中的表和视图(可选返回近似行数)describe_table:获取详细的表结构:列、索引、外键和 DDLget_table_ddl:获取表的 CREATE TABLE DDL 语句execute_query:执行 SQL 或 NoSQL 查询(受安全模式策略约束)confirm_destructive_operation:执行破坏性 DDL(DROP / TRUNCATE / ALTER...DROP),需输入确认短语才会执行export_data:将查询结果或表数据导出为 CSV / JSON / SQLopen_table_tab:为指定连接打开一个表标签页focus_query_tab:按 id 聚焦已打开的标签页list_recent_tabs:列出所有 TablePro 窗口中当前打开的标签页search_query_history:搜索已保存的查询历史(支持按 query 文本全文匹配、时间范围、连接筛选)
Table Pro官方文档提供了Claude Desktop、Claude Code、Cursor、VS Code、Cline、Continue、Zed、Windsurf、Antigravity、Goose等软件的MCP配置说明,唯独没有OpenCode,我的OpenCode配置如下:
~/.config/opencode/opencode.json2)在mcp节点配置stdio或Streamable HTTP接入。实测stdio方式不太稳定,经常莫名出现连不上,而HTTP则非常稳定,强烈建议采用HTTP接入。// Streamable HTTP 本地端口"mcp":{ "tablepro":{ "type":"remote", "url":"http://127.0.0.1:23508/mcp", "enabled":true, "timeout":30000, "headers":{ "Authorization":"Bearer tp_your_token_here" } }}// stdio 本地进程"mcp":{ "tablepro":{ "type":"local", "enabled":true, "timeout":30000, "command":["/Applications/TablePro.app/Contents/MacOS/tablepro-mcp"],"environment":{} }}
我一直都认为,在AI时代,过往所有的软件都存在重构或者创新的可能,TablePro作为数据库管理软件让我再次确认了这一点。
软件官网:https://tablepro.app/