sqlpad-mcp
SQLPad MCP Server
一个用于 SQLPad 的 MCP 服务器。将 AI 代理指向带有基础 URL 和服务令牌的 SQLPad 实例,代理即可发现连接、检查模式、运行 SQL 并管理已保存的查询。
要求
Node.js 20 或更高版本。
一个可访问的 SQLPad 实例。
SQLPad 服务器必须配置
SQLPAD_SERVICE_TOKEN_SECRET。否则,每个 Bearer 认证请求都会返回401 Unauthorized。在 SQLPad 管理界面中生成的服务令牌。
Related MCP server: SQLite Database MCP Server
快速开始
无需安装步骤——直接从 npm 运行:
SQLPAD_SERVICE_TOKEN=... npx sqlpad-mcp --base-url https://sqlpad.example.com或者全局安装:
npm install -g sqlpad-mcp该服务器通过 stdio 使用 MCP 协议,因此通常由 MCP 客户端启动,而不是手动运行。直接运行它仍然有助于验证凭据:成功时,它会将检测到的 SQLPad 版本记录到 stderr。
配置
环境变量 | CLI 标志 | 默认值 | 含义 |
|
| (必需) | SQLPad 实例的基础 URL;支持子路径挂载。 |
|
| (必需) | 服务令牌,以 |
|
|
| 注册已保存查询的写入工具。 |
|
|
| 注册仅限管理员的工具。 |
|
|
| 每条语句返回的行数上限。 |
|
|
| 在返回可恢复的 |
CLI 标志优先于相应的环境变量。批处理轮询间隔(250 毫秒)是内部的,不可配置。
Claude Code 配置
将服务器添加到你的 Claude Code mcp.json 中:
{
"mcpServers": {
"sqlpad": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"sqlpad-mcp",
"--base-url",
"https://sqlpad.example.com"
],
"env": {
"SQLPAD_SERVICE_TOKEN": "..."
}
}
}
}通过 env 提供令牌可使其不进入进程参数列表,因为该列表可通过 ps 被所有用户读取。
要启用受控工具组,请将 "SQLPAD_ALLOW_WRITES": "true" 或 "SQLPAD_ALLOW_ADMIN": "true" 添加到同一个 env 块中。
工具
始终注册十二个工具。另外六个工具受两个 SQLPAD_ALLOW_* 标志控制,默认关闭。
执行
工具 | 描述 |
| 通过创建异步 SQLPad 批处理、轮询至完成并内联返回行来执行任意 SQL,包括 DDL 和 DML。不受沙箱保护。行数受 |
| 获取批处理及其当前语句状态。在 |
| 分页浏览大型已完成语句的结果,而不是重新运行查询。返回使用语句列名转换为对象的有限页面。 |
| 请求取消异步批处理。当连接不支持异步执行时,SQLPad 会拒绝取消。 |
发现
工具 | 描述 |
| 列出服务令牌可用的连接。与 |
| 获取连接的有限数据库模式。未过滤的完整模式输出可能非常庞大——优先使用 |
| 列出 SQLPad 数据库驱动程序,受请求的限制约束。 |
已保存的查询
工具 | 描述 |
| 使用可选的连接、文本、标签、所有权、创建者和排序过滤器列出已保存的查询。 |
| 按 ID 获取一个已保存的查询。 |
| 列出不同的已保存查询标签,具有有限的本地分页。 |
| 列出调用用户的查询历史,最新的在前,具有有限的本地分页。 |
| 使用 SQLPad 格式化 SQL 文本。较旧的 SQLPad 服务器可能不提供此端点。 |
已保存查询的写入 — 需要 SQLPAD_ALLOW_WRITES=true
工具 | 描述 |
| 创建已保存的查询。 |
| 替换现有已保存查询的可编辑字段。 |
| 永久删除已保存的查询。 |
管理 — 需要 SQLPAD_ALLOW_ADMIN=true
这些工具调用 SQLPad 端点,这些端点本身需要管理员服务令牌。
工具 | 描述 |
| 按 ID 获取一个连接。 |
| 测试连接配置而不保存。 |
| 列出 SQLPad 用户,并明确输出限制。 |
SQL 执行方式
SQLPad 通过异步批处理执行 SQL。创建批处理会立即返回;每条语句从 queued 变为 started,然后变为 finished 或 error。结果会为每条语句单独获取,并且在该语句完成之前不可用。
run_sql 工具吸收了完整协议——创建、轮询、获取和返回行——因此代理只需一次调用。如果轮询达到配置的超时时间,工具会返回一个 batchId,代理可以恢复执行而不是挂起。
连接可能没有默认数据库。请将表名限定为 schema.table,并使用 get_connection_schema 发现可用的模式。
安全性
run_sql执行任意 SQL,包括 DDL 和 DML,且不受沙箱保护。SQLPAD_ALLOW_WRITES仅控制 SQLPad 自身已保存查询对象的修改;它不限制 SQL 内容。请在 SQLPad 连接本身使用只读数据库凭据。这是唯一真正的强制措施。SQLPad 的
/api/service-tokens端点故意不暴露。生成凭据的工具是权限提升的原语。管理工具默认关闭。
服务令牌会从所有错误和日志中编辑掉。所有日志都输出到 stderr,因为 stdout 是 JSON-RPC 通道。
批处理范围限定为令牌自己的用户,因此服务器只能看到自己的查询历史。
贡献
克隆仓库并安装依赖:
git clone https://github.com/VAIBHAV7500/sqlpad-mcp.git
cd sqlpad-mcp
npm install
npm run build为你的更改创建分支。在打开拉取请求之前,运行:
npm run typecheck && npm run lint && npm testCI 在 Node 20 和 22 上运行相同的三个命令。
许可证
This server cannot be deployed
Maintenance
Related MCP Connectors
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
- OleanderOAuthdev.oleander
The all-in-one data stack for agents. Upload files, run SQL, evolve tables, and render charts.
Connect AI agents to ProductNow's context engine to search, create, review, and act.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query databases via natural language using the Model Context Protocol, with automatic schema discovery, SQL query execution, and read-only safety checks.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to connect to and query an SQLite database through the Model Context Protocol, allowing natural language interaction with database tables and data.-
- AlicenseAqualityDmaintenanceEnables AI agents to search and read Metabase dashboards and cards, explore database schema, and run read-only query previews through the Model Context Protocol.1715 npm2MIT
- FlicenseAqualityDmaintenanceEnables AI assistants to query, analyze, and manage SQL Server databases through natural language via the Model Context Protocol.61-