Guides7 min read

Best MCP Servers for Data Engineering: Database, ETL & Analytics

Top MCP servers for data engineers and analysts. Connect your AI to PostgreSQL, BigQuery, Snowflake, and more for AI-powered data workflows.

By MyMCPTools Team·

Data engineering is one of the most natural fits for MCP servers. Instead of context-switching between your SQL client, documentation, and AI assistant, MCP servers let your AI directly understand your data infrastructure.

Here are the MCP servers that every data engineer should have in their toolkit.

Why MCP Matters for Data Work

Traditional AI-assisted data work requires you to manually describe your schema, paste sample data, and explain relationships. With MCP:

  • Your AI sees your actual schema — tables, columns, types, constraints
  • It can run queries directly (read-only by default for safety)
  • It understands data relationships without you explaining them
  • It generates more accurate SQL because it works with real metadata, not guesses

Database MCP Servers

PostgreSQL MCP Server

The gold standard for relational database MCP access. Supports schema introspection, query execution, and works with any PostgreSQL-compatible database (including CockroachDB, Timescale, and Supabase).

Standout feature: Automatic foreign key relationship mapping helps your AI understand table joins without being told.

MySQL MCP Server

Full MySQL and MariaDB support with the same introspection capabilities as the PostgreSQL server. Essential if your stack runs on MySQL.

Standout feature: Index analysis tools help your AI suggest query optimizations.

SQLite MCP Server

Don't underestimate SQLite in data engineering. It's the go-to for local data processing, prototyping ETL pipelines, and working with embedded analytics. The MCP server makes it conversational.

Cloud Data Platform Servers

Supabase MCP Server

If you're building on Supabase (and increasingly, many teams are), this server gives your AI access to your database, auth configuration, storage, and edge functions — all through MCP.

BigQuery MCP Server

Google BigQuery access through MCP is a game-changer for analytics teams. Query petabytes of data conversationally, explore datasets, and let your AI help build complex analytical queries.

Standout feature: Cost estimation before query execution — your AI can warn you about expensive queries before they run.

Best Practices for Data MCP Servers

1. Always Use Read-Only Connections

Configure your database MCP servers with read-only credentials. The convenience of AI-written queries isn't worth the risk of accidental data modification in production.

2. Use Connection Pooling

MCP servers open connections on tool calls. Without pooling, you can exhaust your database connection limits quickly during active AI sessions.

3. Set Query Timeouts

A poorly-written AI query can lock up your database. Set reasonable timeouts (30-60 seconds) at the MCP server level to prevent runaway queries.

4. Restrict Schema Access

Limit MCP server access to specific schemas or tables. Your AI doesn't need access to sensitive PII tables to help you write analytics queries.

Building an AI-Powered Data Workflow

The real power comes from combining multiple data MCP servers:

  1. Use PostgreSQL MCP for your transactional database
  2. Add BigQuery MCP for your analytics warehouse
  3. Include filesystem MCP for reading CSVs and config files
  4. Layer in GitHub MCP for managing dbt models and pipeline code

With this stack, your AI assistant becomes a true data engineering co-pilot — able to trace data from source tables through transformations to final analytics, all in one conversation.

Browse our full collection of database MCP servers to find the right tools for your data stack.

Recommended Tools

Better Stack

Free Plan

Get alerted when your APIs, browser tests, payment pipelines, or MCP server dependencies go down. Used by 100K+ developers.

Start monitoring free →

1Password

14-day Free Trial

Store and inject API keys, payment credentials, tokens, and file access secrets into your MCP server configs. Trusted by 150K+ developers.

Try 1Password free →

🔧 MCP Servers Mentioned in This Article

🗄️

SQLite MCP Server

conversational read and write access to any SQLite database file, plus a running business-insights memo that accumulates what the analysis turns up. It is a Python server on PyPI, not a Node one, and the difference is the single most common reason setups fail here: `@modelcontextprotocol/server-sqlite` does not exist on npm, so every npx line for it 404s. The working invocation is `uvx mcp-server-sqlite --db-path /path/to/database.db` (PyPI package mcp-server-sqlite, v2025.4.25), or the equivalent `mcp/sqlite` Docker image with a volume mounted at /mcp. The --db-path argument is required and points at the .db file; the server will create it if it is not there yet. Six tools are exposed, deliberately split by risk: read_query for SELECT only, write_query for INSERT/UPDATE/DELETE, create_table for DDL, list_tables and describe-table for schema introspection, and append_insight, which writes into a memo://insights resource that updates live as findings accumulate — that resource, not the SQL tools, is what makes this server different from a generic database connector. It also ships an mcp-demo prompt that takes a business topic, generates a plausible schema and sample data, and walks through an analysis end to end, which is the fastest way to see the memo behaviour without wiring up real data. One caveat to weigh before adopting it: this is an Anthropic reference implementation that now lives in modelcontextprotocol/servers-archived, archived on 2025-05-28. The published package still installs and runs, but it is frozen — no new features, no dependency updates, and no security patches.

Local
🗄️

MySQL MCP Server

The MySQL MCP Server connects AI assistants directly to MySQL databases, enabling natural-language SQL workflows without a GUI client or hand-written queries. **Install the scoped package, `@f4ww4z/mcp-mysql-server`, not the unscoped one.** The bare name `mcp-mysql-server` on npm belongs to a different author (enemyrr) and a different, smaller project — a name collision, not a mirror — so `npx mcp-mysql-server` installs software other than the repository linked from this page. That distinction is the single most common way this server is installed wrong. Built by f4ww4z (168 stars), it exposes MySQL as callable MCP tools: execute arbitrary SQL, inspect table schemas and column definitions, list databases and tables, describe indexes and constraints, run stored procedures, and manage transactions with commit and rollback control. Typical prompts are "show me the 10 most recent orders," "describe the users table including its indexes," "find customers with no order in 90 days," or "insert a test row into staging and roll it back after I check it." Authentication uses ordinary MySQL connection parameters — MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE — set as environment variables in your client config, so it works against local instances and managed databases alike (Amazon RDS, PlanetScale, DigitalOcean Managed MySQL). Treat the credentials you hand it as the permissions you are handing the model: it can run whatever that user can run, including writes and DDL, so point it at a read-only account for exploration work. Compatible with Claude Desktop, Cursor, VS Code, Windsurf, and Cline.

Local
🗄️

Supabase MCP Server

Supabase MCP Server connects Cursor, Claude Code, Claude Desktop, Windsurf and other MCP clients to a Supabase project, and the first thing to know is that the personal access token setup most guides still describe is gone. Supabase now runs a hosted server at https://mcp.supabase.com/mcp using OAuth 2.1 with dynamic client registration — you add the URL, your client opens a browser, you pick the organization, and there is no PAT to mint or rotate. For Claude Code that is `claude mcp add --scope project --transport http supabase "https://mcp.supabase.com/mcp"` followed by `/mcp` in a plain terminal (not the IDE extension) to run the auth flow. Three URL query parameters do the real configuration work: `read_only=true` runs every statement as a read-only Postgres role, `project_ref=<id>` scopes the server to one project and drops the account-management tools entirely, and `features=` selects the tool groups. Those groups are database (list_tables, list_extensions, list_migrations, apply_migration, execute_sql), debugging (get_logs across API/Postgres/Edge Functions/Auth/Storage/Realtime, plus get_advisors for security and performance findings), development (get_project_url, get_publishable_keys, generate_typescript_types), Edge Functions (list, get, deploy), account management, docs search, experimental branching on paid plans, and storage — storage is the one group disabled by default. Running Supabase locally with the CLI exposes a reduced server at http://localhost:54321/mcp with no OAuth; self-hosted installs are similar. The npm package `@supabase/mcp-server-supabase` still exists for stdio clients and also exports `createToolSchemas()` so Vercel AI SDK users get typed tool inputs and outputs. Read Supabase's security best-practices page before pointing this at anything with production data — the mutating tools are real.

Auth required📘
🗄️

Snowflake MCP Server

Snowflake ships a first-party, Snowflake-managed MCP server that is Generally Available and needs no infrastructure of your own: you create it as a database object with CREATE MCP SERVER ... FROM SPECIFICATION, and clients reach it over Streamable HTTP at https://<account_url>/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{name}. The specification YAML lists the tools the server exposes, drawn from five types — CORTEX_AGENT_RUN (a Cortex Agent, the configuration Snowflake recommends for governed business questions), CORTEX_ANALYST_MESSAGE (text-to-SQL over a semantic view), CORTEX_SEARCH_SERVICE_QUERY (unstructured retrieval), SYSTEM_EXECUTE_SQL (query execution, read_only by default), and GENERIC (any UDF or stored procedure, exposed with its signature as the input schema). Because the server is an object in a schema, access is ordinary Snowflake RBAC: USAGE on the MCP server lets a client discover tools, and each underlying agent, search service, semantic view, function or procedure needs its own grant before that tool can actually be invoked. Authentication is Snowflake OAuth by default, with External OAuth available to bind the server to Okta or Entra ID; dynamic client registration is not supported. The server implements MCP revision 2025-11-25, supports tools only — no resources, prompts, roots or sampling — is non-streaming, and caps each server at 50 tools. The older community server at Snowflake-Labs/mcp (snowflake-labs-mcp on PyPI, last released 1.4.2 in May 2026) is now explicitly deprecated in favour of the managed server; isaacwasserman/mcp-snowflake-server remains as an unaffiliated self-hosted read/write SQL alternative.

Local📘
🗄️

BigQuery MCP Server

Google's official BigQuery MCP integration ships as part of the MCP Toolbox for Databases (googleapis/mcp-toolbox, 15,800+ stars, formerly published under the genai-toolbox repo name before Google renamed it), a single Go-based server binary that speaks the Model Context Protocol for over a dozen Google Cloud and third-party databases. Rather than a BigQuery-only package, you run the shared toolbox binary with a `--prebuilt=bigquery` flag to instantly load BigQuery-specific tools — schema/table discovery (`list_dataset_ids`, `list_table_ids`, `get_table_info`), running arbitrary SQL via `execute_sql`, and dry-run query validation for cost estimation before executing — over stdio or as an HTTP/SSE server. The quickest install is `npx -y @toolbox-sdk/server --prebuilt=bigquery --stdio` in your MCP client config; it also ships as a downloadable binary and Docker image for teams that prefer not to run via npx. Authentication uses standard Google Cloud credential chains (Application Default Credentials, service account keys, or Workload Identity) rather than embedding a project-specific key. Toolbox also underlies Google's official SDKs for Python, JS/TS, Go, and Java, so the same server config can back both ad hoc AI-assistant queries ("show me the schema for the events table and the row count for last week") and production agent tools built with LangChain, LlamaIndex, or ADK. For teams that want a fully managed remote option instead of self-hosting, Google Cloud also offers managed MCP servers for its databases including BigQuery.

Local

📚 More from the Blog