mcpField
S
sqlfmt-mcp

sqlfmt-mcp

本地服务
github.com/MukundaKatta开发工具020 周前更新

关于 sqlfmt-mcp

sqlfmt-mcp 是一款 MCP 服务,可为 19 种 SQL 方言生成一致的格式,适用于需要稳定 SQL 输出以供审查和比较的编码 Agent 与下游工具。

主要功能

  1. 01格式化 19 种 SQL 方言
  2. 02设置关键字大小写和缩进
  3. 03列出支持的方言

适用场景

  1. 01统一代码审查中的 SQL 格式
  2. 02生成差异前格式化查询

MCP 相关

向 MCP 客户端提供 `format_sql` 和 `list_dialects` 工具,用于格式化 SQL 并查询支持的方言。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mukundakatta-sqlfmt": {
"command": "npx",
"args": [
"-y",
"@mukundakatta/sqlfmt-mcp"
]
}
}
}
启动命令npx -y @mukundakatta/sqlfmt-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@mukundakatta/sqlfmt-mcp0.1.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
sqlstring是要格式化的原始 SQL。
dialectenum否通用的 `sql` 涵盖大多数 ANSI 场景;对于仅特定方言支持的语法,请明确选择对应方言。sql | bigquery | db2 | db2i | duckdb | hive | mariadb | mysql | n1ql | plsql | postgresql | redshift | singlestoredb | snowflake | spark | sqlite | tidb | transactsql | trino
use_tabsboolean否
tab_widthinteger否
keyword_caseenum否preserve | upper | lower

详细介绍

@mukundakatta/sqlfmt-mcp

支持 19 种方言的 MCP 服务,可确定性地格式化 SQL。

工具

  • format_sql(sql, dialect?, keyword_case?, tab_width?, use_tabs?) — 使用指定方言格式化(默认为 ANSI 的 sql)。返回格式化文本和行数。
  • list_dialects() — 返回支持的方言列表,供大模型在格式化前确认。

为什么需要它

大模型在不同轮次中格式化 SQL 的方式并不一致:相同的查询,缩进不同,关键字大小写也不同。代码审查 Agent 和下游工具需要对 SQL 进行差异比较,因此需要一种统一的规范形式。在这里封装经过充分测试的 sql-formatter 库即可实现这一点。

支持的方言

sql、bigquery、db2、db2i、duckdb、hive、mariadb、mysql、n1ql、plsql、postgresql、redshift、singlestoredb、snowflake、spark、sqlite、tidb、transactsql、trino。

安装 — Claude Desktop

{
  "mcpServers": {
    "sqlfmt": { "command": "npx", "args": ["-y", "@mukundakatta/sqlfmt-mcp"] }
  }
}

Cursor / Cline / Windsurf / Zed 的配置格式相同。

许可证

MIT OR Apache-2.0。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。