Firebolt
Connect your LLM to the Firebolt Data Warehouse for data querying and analysis.
Key Features
LLM Integration with Firebolt
- Connect your AI assistants directly to your data warehouse
- Enable AI agents to autonomously query data and generate insights
- Provide LLMs with deep knowledge of Firebolt SQL, features, and documentation
SQL Query Execution
- Support for multiple query types and execution modes
- Direct access to Firebolt databases
Documentation Access
- Grant LLMs access to comprehensive Firebolt docs, SQL reference, function lists, and more
Account Management
- Seamless authentication with Firebolt service accounts
- Connect to different engines and workspaces
Multi-platform Support
- Runs anywhere Go binaries are supported
- Official Docker image available for easy deployment
How To Use
Before you start, ensure you have either:
- A Firebolt service account with a client ID and client secret.
- A Firebolt Core instance URL.
Installing the MCP Server
You can run the Firebolt MCP Server either via Docker or by downloading the binary.
Option 1: Run with Docker
docker run \
--rm \
--network host \
-e FIREBOLT_MCP_CLIENT_ID=your-client-id \
-e FIREBOLT_MCP_CLIENT_SECRET=your-client-secret \
ghcr.io/firebolt-db/mcp-server:0.6.0
Option 2: Run the Binary
# Download the binary for your OS from:
# https://github.com/firebolt-db/mcp-server/releases/tag/v0.6.0
./firebolt-mcp-server \
--client-id your-client-id \
--client-secret your-client-secret
Connecting Your LLM
Once the MCP Server is installed, you can connect various LLM clients. Choose your client below.
Cursor
Install the Firebolt MCP server in Cursor with one click. You will need to set your credentials in Cursor Settings > Tools & MCP (edit the added server or mcp.json).
Firebolt Cloud (service account):
Firebolt Core (local or self-hosted):
[!IMPORTANT] Cursor does not support MCP resources yet. This MCP server uses resources heavily, so it will not work in Cursor unless resource usage is disabled. The buttons above already set
FIREBOLT_MCP_DISABLE_RESOURCES=truefor you. If you configure manually, you must set this environment variable.
VS Code (Copilot Chat)
To integrate MCP with Copilot Chat in VS Code, see the official guide: Extending Copilot Chat with the Model Context Protocol.
Add the Firebolt MCP server to your MCP configuration (e.g. via Command Palette > MCP: Open User Configuration). Example for Firebolt Cloud with Docker:
{
"mcpServers": {
"firebolt": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--network", "host",
"-e", "FIREBOLT_MCP_CLIENT_ID",
"-e", "FIREBOLT_MCP_CLIENT_SECRET",
"ghcr.io/firebolt-db/mcp-server:latest"
],
"env": {
"FIREBOLT_MCP_CLIENT_ID": "your-client-id",
"FIREBOLT_MCP_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Replace your-client-id and your-client-secret with your Firebolt service account credentials.
Claude Desktop
To integrate with Claude Desktop using Docker:
-
Open the Claude menu and select Settings….
-
Navigate to Developer > Edit Config.
-
Update the configuration file (
claude_desktop_config.json) to include:{ "mcpServers": { "firebolt": { "command": "docker", "args": [ "run", "-i", "--rm", "--network", "host", "-e", "FIREBOLT_MCP_CLIENT_ID", "-e", "FIREBOLT_MCP_CLIENT_SECRET", "ghcr.io/firebolt-db/mcp-server:0.6.0" ], "env": { "FIREBOLT_MCP_CLIENT_ID": "your-client-id", "FIREBOLT_MCP_CLIENT_SECRET": "your-client-secret" } } } }To use the binary instead of Docker:
{ "mcpServers": { "firebolt": { "command": "/path/to/firebolt-mcp-server", "env": { "FIREBOLT_MCP_CLIENT_ID": "your-client-id", "FIREBOLT_MCP_CLIENT_SECRET": "your-client-secret" } } } }Connecting to Firebolt Core
If you are using Firebolt Core, you can connect by providing the Core URL instead of service account credentials.
To use Firebolt Core with Claude Desktop:
{ "mcpServers": { "firebolt": { "command": "docker", "args": [ "run", "-i", "--rm", "--network", "host", "-e", "FIREBOLT_MCP_CORE_URL", "ghcr.io/firebolt-db/mcp-server:0.6.0" ], "env": { "FIREBOLT_MCP_CORE_URL": "http://localhost:3473" } } } } -
Save the config and restart Claude Desktop.
More details: Claude MCP Quickstart Guide
Manual configuration (other MCP clients)
For any MCP client that uses a JSON config (e.g. mcpServers), you can add the Firebolt server with the following canonical configuration. Firebolt Cloud (Docker):
{
"mcpServers": {
"firebolt": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--network", "host",
"-e", "FIREBOLT_MCP_CLIENT_ID",
"-e", "FIREBOLT_MCP_CLIENT_SECRET",
"ghcr.io/firebolt-db/mcp-server:latest"
],
"env": {
"FIREBOLT_MCP_CLIENT_ID": "your-client-id",
"FIREBOLT_MCP_CLIENT_SECRET": "your-client-secret"
}
}
}
}
For Firebolt Core, use FIREBOLT_MCP_CORE_URL (e.g. http://localhost:3473) in env and pass -e FIREBOLT_MCP_CORE_URL in args instead of the client ID/secret. For Cursor, also set FIREBOLT_MCP_DISABLE_RESOURCES=true in env and in args.
Using SSE Transport
By default, the MCP Server uses STDIO as the transport mechanism.
However, Server-Sent Events (SSE) are also supported and require additional configuration.
To enable SSE, set the --transport CLI flag (or the FIREBOLT_MCP_TRANSPORT environment variable) to sse.
Optionally, you can specify the address the server should listen on by setting the --transport-sse-listen-address CLI flag (or the FIREBOLT_MCP_TRANSPORT_SSE_LISTEN_ADDRESS environment variable).
Requiring LLMs to present docs read proof before connecting
To provide wider context to LLMs before connecting to Firebolt and running queries, by default firebolt_connect tool
requires the LLM to present a read proof of the Firebolt documentation (by querying the firebolt_docs_overview tool).
While this provides a good starting point for LLMs ensuring it has full context of Firebolt documentation, at the same time this may lead to slower responses and higher token consumption.
To disable this requirement, set the --skip-docs-proof CLI bool flag (or the FIREBOLT_MCP_SKIP_DOCS_PROOF environment variable) to false.
Architecture
Firebolt MCP Server implements the Model Context Protocol, providing:
-
Tools - Task-specific capabilities provided to the LLM:
firebolt_docs_overview: Access basic Firebolt documentation overviewfirebolt_connect: Establish connections to Firebolt engines and databasesfirebolt_query: Execute SQL queries against Fireboltfirebolt_docs_search: Search Firebolt documentation for any details
-
Resources - Data that can be referenced by the LLM:
- Documentation articles
- Lists of Accounts, Databases, Engines
-
Prompts - Predefined instructions for the LLM:
- Firebolt Expert: Prompts the model to act as a Firebolt specialist
Development
To set up the development environment:
# Clone this repository
git clone https://github.com/firebolt-db/mcp-server.git
# Go into the repository
cd mcp-server
# Install Task (if you don't have it already)
go install github.com/go-task/task/v3/cmd/task@latest
# Update Go dependencies
task mod
# Build the application
task build
# Run the tests
task test
Related Servers
Apple Health MCP
Query Apple Health data using natural language and SQL.
FDIC BankFind MCP Server
Provides structured U.S. banking data from the FDIC BankFind API for AI tools and workflows.
MongoDB Atlas
A server for managing data in MongoDB Atlas, providing secure and scalable data management through RESTful APIs.
CData Google Sheets MCP Server
A read-only MCP server for Google Sheets, enabling LLMs to query live data using the CData JDBC Driver.
Doris-MCP-Lite
A lightweight MCP server for connecting to Apache Doris and other MySQL-compatible databases, providing tools and prompts for LLM applications.
PostgreSQL MCP Server
An MCP server for exploring and querying PostgreSQL databases.
Memory Custom
Extends the MCP Memory server to create and manage a knowledge graph from LLM interactions.
Dataset Viewer
Interact with the Hugging Face Dataset Viewer API to browse, filter, and get statistics for datasets.
MCP Oracle Server
A server that provides tools to interact with an Oracle database.
PostgreSQL
Provides read-only access to PostgreSQL databases, allowing LLMs to inspect schemas and execute queries.