mcpField
G
Grain SQL

Grain SQL

本地服务
grain.tools数据库32 天前更新

关于 Grain SQL

Grain SQL 是 VS Code 中的 SQL 工作区,也可让 AI Agent 查询已配置的数据库。Agent 默认只有只读权限,其查询活动会显示在结果面板中。

主要功能

  1. 01从编辑器文件运行 SQL
  2. 02管理并测试连接配置
  3. 03可排序和筛选的结果表格
  4. 04将结果导出为 CSV、TSV 或 JSON
  5. 05通过 MCP 提供只读 Agent 查询

适用场景

  1. 01在编辑器中检查数据库架构
  2. 02查看 Agent 执行的查询及结果
  3. 03导出完整查询结果以供后续使用

MCP 相关

Grain 通过 MCP 向 Claude Code、Cursor 和 GitHub Copilot 提供已配置的数据库连接。需在设置中启用 MCP;Agent 默认只读,查询会显示在结果面板中。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"pattrnlabs-grain": {
"command": "npx",
"args": [
"-y",
"grain-tools"
],
"env": {
"GRAIN_CONNECTIONS": "<GRAIN_CONNECTIONS>",
"GRAIN_MCP_SAFE_MODE": "<GRAIN_MCP_SAFE_MODE>",
"GRAIN_MAX_ROWS": "<GRAIN_MAX_ROWS>"
}
}
}
}
启动命令npx -y grain-tools
需要配置的环境变量
GRAIN_CONNECTIONS密钥JSON array of Grain connection profiles for headless use.
GRAIN_MCP_SAFE_MODESet to false to allow mutating SQL. Defaults to true.
GRAIN_MAX_ROWSMaximum rows returned by query tools. Defaults to 10000.

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

安装包
npmgrain-tools0.10.39

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Grain

适用于 VS Code 和你使用的 AI Agent 的快速 SQL 工作区。

文档 · 更新日志 · 报告 Bug · 提出问题

VS Code Marketplace OpenVSX

在任意 .sql 文件中使用 Ctrl+Enter 运行 SQL,并在 VS Code 内的可排序网格中查看结果。密码保存在操作系统密钥链中,Grain 不提供托管服务。

在 Grain 中运行查询

快速开始

  1. 从 VS Code Marketplace 或 Open VSX(适用于 Cursor、Windsurf 和 VSCodium)安装 Grain。
  2. 在 VS Code 中打开一个文件夹。Grain 会在其中添加演示文件。
  3. 打开 Grain 面板并点击 Try the Demo。
  4. 将光标放在打开文件中的任意查询处,然后按 Ctrl+Enter(macOS 上按 Cmd+Enter)。

演示会通过 Grain 内置的 DuckDB 连接读取两个 CSV 文件,因此无需进行任何设置。若要查询自己的数据库,请运行 Grain: Manage Connections,添加配置,然后在保存前测试连接。

Grain 面板注释图

如果 Grain 对你有帮助,请给这个仓库点个星,帮助其他开发者发现它。

在 AI Agent 中使用 Grain

Grain 可通过 MCP 将数据库连接提供给 Claude Code、Cursor 和 GitHub Copilot。Agent 默认只能读取数据,并且 Agent 运行的每个查询都会显示在 Grain 结果面板中,让你准确了解它执行了哪些操作。

在设置中启用 grain.mcpEnabled 之前,MCP 处于关闭状态。各客户端的设置步骤请参阅 MCP 文档,示例提示词位于 examples/agents/。

功能

功能说明
从编辑器运行Ctrl+Enter 运行整个文件;Run Query Under Cursor 运行一条语句;Run Query in New Tab 保留先前的结果
查询不会阻塞查询在后台进程中运行,因此慢查询不会冻结 VS Code
连接管理器创建、测试和切换数据库配置,无需编辑 JSON
结果网格排序、筛选和调整列宽,查看每列的 SQL 类型,并将选中内容复制为 TSV
完整导出网格显示前 500 行;导出时会重新运行查询,并将所有行写入 CSV、TSV 或 JSON
通过 MCP 访问 AgentClaude Code、Cursor 和 Copilot 可查询你的连接;查询结果会显示在面板中
远程环境支持 WSL、开发容器、GitHub Codespaces 和 Remote - SSH

支持的数据库

关系型数据库README 配图
PostgreSQL
README 配图
MySQL
README 配图
SQL Server
README 配图
SQLite
数据仓库README 配图
Snowflake
README 配图
BigQuery
查询引擎和湖仓README 配图
Trino / Presto
README 配图
DuckDB
搜索README 配图
Elasticsearch

通过 Trino 或 Presto,你可以查询集群中的 Iceberg、Delta Lake 和 Hive 表。 DuckDB 可直接查询本地 CSV 和 Parquet 文件。

扩展中已内置 PostgreSQL 和 Trino / Presto。其他数据库会在首次使用时加载其驱动程序;如果缺少驱动程序,Grain 会告知你需要安装什么。

需要其他数据库?申请连接器。 获得 👍 最多的请求会优先开发。

示例

Postgres、MySQL、 Elasticsearch 和 DuckDB 的可运行查询,以及 Agent 提示词。安装 Grain 后,打开任意 .sql 文件 并按 Ctrl+Enter。

隐私

  • 你的 SQL、查询结果和密码都保留在本机。 密码存储在 VS Code Secret Storage 中,并由操作系统的钥匙串提供保护,绝不会存入设置文件。
  • Agent 默认只能读取数据。 启用 grain.mcpSafeMode(默认设置)后,Agent 只能运行 SELECT、SHOW、DESCRIBE、EXPLAIN、WITH 和元数据查询。Agent 无法读取已存储的密码,也无法更改已保存的连接。
  • 遥测数据匿名。 Grain 会发送使用情况数据,其中绝不包含 SQL、查询结果、凭据、主机名或架构名称。使用 grain.telemetry.enabled 可将其关闭。

常见问题

Grain 是开源的吗?
不是。Grain 是闭源软件。此仓库包含问题跟踪器、文档和示例。

它支持哪些数据库?
支持上文列出的九种数据库。若要申请支持其他数据库, 申请连接器。

我的查询或密码会离开本机吗?
不会。Grain 没有服务端。查询会从 VS Code 直接发送到你的数据库,密码则保留在操作系统的钥匙串中。关于匿名遥测数据包含和不包含哪些信息,请参阅隐私。

如何连接 Claude Code 或 Cursor?
启用 grain.mcpEnabled,然后按照 MCP 文档中适用于你的客户端的步骤操作。

为什么我的数据库会显示驱动程序错误?
有些连接器会在首次使用时加载其驱动程序。错误消息会指出需要安装什么。如果安装后仍然失败, 请附上 Output 面板日志(View → Output → Grain) 提交错误报告。

获取帮助

我们目前还没有固定的路线图。接下来要开发什么,很大程度上取决于大家在这里提出的需求,尤其是连接器请求。如何提交优质议题,请参阅 CONTRIBUTING.md。

Star 历史记录

Star 历史图表

许可证

Grain 是闭源软件。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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