MCP server: One MCP server.

Grain SQL

@pattrnlabsRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Run SQL queries and inspect database schemas through safe, visible MCP tools.

Databasesv0.10.30
Freeno charge per call

Runs on your machine from its package; the steps are below.

Run a query in Grain
From the README · 1 of 2

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmgrain-toolsv0.10.30

Run

npx -y grain-tools

MCP client config

{
  "mcpServers": {
    "grain-sql": {
      "command": "npx",
      "args": [
        "-y",
        "grain-tools"
      ]
    }
  }
}
README4 min read

Grain

A fast SQL workspace for VS Code, and for the AI agents you work with.

Docs · Changelog · Report a bug · Ask a question

VS Code Marketplace OpenVSX

Run SQL from any .sql file with Ctrl+Enter and get the results in a sortable grid inside VS Code. Passwords stay in your OS keychain, and Grain has no hosted service.

Run a query in Grain

Quick start

  1. Install Grain from the VS Code Marketplace or Open VSX (for Cursor, Windsurf, and VSCodium).
  2. Open a folder in VS Code. Grain adds its demo files there.
  3. Open the Grain panel and click Try the Demo.
  4. Put your cursor in any query in the file that opens and press Ctrl+Enter (Cmd+Enter on macOS).

The demo reads two CSV files through Grain's built-in DuckDB connection, so there's nothing to set up. To query your own database, run Grain: Manage Connections, add a profile, and test it before you save.

The Grain panel, annotated

If Grain is useful to you, a star on this repo helps other developers find it.

Use Grain from an AI agent

Grain can serve your database connections to Claude Code, Cursor, and GitHub Copilot over MCP. Agents get read-only access by default, and every query an agent runs shows up in your Grain results panel, so you can see exactly what it did.

MCP is off until you turn on grain.mcpEnabled in settings. Setup steps for each client are in the MCP docs, and example prompts are in examples/agents/.

Features

FeatureWhat it does
Run from the editorCtrl+Enter runs the file; Run Query Under Cursor runs one statement; Run Query in New Tab keeps the previous result
Non-blocking queriesQueries run in a background process, so a slow query doesn't freeze VS Code
Connection managerCreate, test, and switch database profiles without editing JSON
Result gridSort, filter, and resize columns, see each column's SQL type, copy a selection as TSV
Full exportThe grid shows the first 500 rows; export re-runs the query and writes every row to CSV, TSV, or JSON
Agent access over MCPClaude Code, Cursor, and Copilot can query your connections; their results land in your panel
Remote setupsWorks over WSL, dev containers, GitHub Codespaces, and Remote - SSH

Supported databases

Relational databases
PostgreSQL

MySQL

SQL Server

SQLite
Data warehouses
Snowflake

BigQuery
Query engines & lakehouses
Trino / Presto

DuckDB
Search
Elasticsearch

Through Trino or Presto you can query your cluster's Iceberg, Delta Lake, and Hive tables. DuckDB queries local CSV and Parquet files directly.

PostgreSQL and Trino / Presto are bundled with the extension. The others load their driver on first use, and if a driver is missing, Grain tells you what to install.

Need another database? Request a connector. Requests with the most 👍 get built first.

Examples

Runnable queries for Postgres, MySQL, Elasticsearch, and DuckDB, plus agent prompts. Open any .sql file with Grain installed and press Ctrl+Enter.

Privacy

  • Your SQL, results, and passwords stay on your machine. Passwords are stored in VS Code Secret Storage, backed by your OS keychain, and never in a settings file.
  • Agents are read-only by default. With grain.mcpSafeMode on (the default), agents can only run SELECT, SHOW, DESCRIBE, EXPLAIN, WITH, and metadata queries. Agents can't read stored passwords or change saved connections.
  • Telemetry is anonymous. Grain sends usage data that never includes SQL, results, credentials, hostnames, or schema names. Turn it off with grain.telemetry.enabled.

FAQ

Is Grain open source?
No. Grain is closed-source. This repo holds the issue tracker, docs, and examples.

Which databases does it support?
The nine listed above. To ask for another one, request a connector.

Do my queries or passwords leave my machine?
No. There's no Grain server. Queries go straight from VS Code to your database, and passwords stay in your OS keychain. See Privacy for what the anonymous telemetry does and doesn't include.

How do I connect Claude Code or Cursor?
Turn on grain.mcpEnabled, then follow the steps for your client in the MCP docs.

Why does my database show a driver error?
Some connectors load their driver on first use. The error message names what to install. If it's still failing after that, file a bug report with the Output panel logs (View → Output → Grain).

Getting help

We don't have a fixed roadmap yet. What we build next depends a lot on what people ask for here, especially connector requests. See CONTRIBUTING.md for how to file a good issue.

Star History

Star History Chart

License

Grain is closed-source. See LICENSE.

Similar modules

Browse Databases