Mcp Server について
Mcp Server は Firebolt Data Warehouse を LLM に接続し、データのクエリや Firebolt ドキュメントの参照が必要なチーム向けです。SQL 実行、アカウント接続、ドキュメントへのアクセスを提供します。
主な機能
- 01Firebolt SQL クエリの実行
- 02Firebolt ドキュメントの検索
- 03データベースとアカウント情報へのアクセス
- 04Firebolt エキスパート向けプロンプト
- 05STDIO、SSE、Streamable HTTP に対応
活用シーン
- 01エージェントによる Firebolt データのクエリ
- 02SQL 構文や関数の確認
- 03異なるエンジンやワークスペースへの接続
MCP 対応
MCP サーバーは Firebolt の接続・クエリ用ツール、ドキュメントやアカウントのリソース、Firebolt エキスパート向けプロンプトをクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー
LLM を Firebolt Data Warehouse に接続する Model Context Protocol の実装
主な機能 | 使用方法 | LLM の接続 | アーキテクチャ | 開発
主な機能
Firebolt と LLM の連携
- AI アシスタントをデータウェアハウスに直接接続します
- AI エージェントが自律的にデータをクエリし、インサイトを生成できるようにします
- Firebolt SQL、機能、ドキュメントに関する幅広い知識を LLM に提供します
SQL クエリの実行
- 複数のクエリタイプと実行モードに対応します
- Firebolt データベースに直接アクセスできます
ドキュメントへのアクセス
- Firebolt の包括的なドキュメント、SQL リファレンス、関数一覧などへのアクセスを LLM に許可します
アカウント管理
- Firebolt サービスアカウントでシームレスに認証できます
- さまざまなエンジンやワークスペースに接続できます
マルチプラットフォーム対応
- Go バイナリがサポートされている環境であればどこでも実行できます
- 簡単にデプロイできる公式 Docker イメージを利用できます
使用方法
開始する前に、次のいずれかを用意してください。
- クライアント ID とクライアントシークレットを持つ Firebolt サービスアカウント。
- Firebolt Core インスタンスの URL。
MCP サーバーのインストール
Firebolt MCP サーバーは、Docker を使用するか、バイナリをダウンロードして実行できます。
オプション 1: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.7.0
オプション 2:バイナリを実行
# Download the binary for your OS from:
# https://github.com/firebolt-db/mcp-server/releases/tag/v0.7.0
./firebolt-mcp-server \
--client-id your-client-id \
--client-secret your-client-secret
LLM の接続
MCP サーバーをインストールしたら、さまざまな LLM クライアントを接続できます。以下から使用するクライアントを選択してください。
Cursor
ワンクリックで Cursor に Firebolt MCP サーバーをインストールできます。認証情報は Cursor Settings > Tools & MCP(追加されたサーバーまたは mcp.json を編集)で設定してください。
Firebolt Cloud(サービスアカウント):
Firebolt Core(ローカルまたはセルフホスト):
重要
Cursor はまだ MCP リソースをサポートしていません。この MCP サーバーはリソースを多用するため、リソースの使用を無効にしない限り Cursor では動作しません。上のボタンでは
FIREBOLT_MCP_DISABLE_RESOURCES=trueがあらかじめ設定されています。手動で設定する場合は、この環境変数を設定する必要があります。
VS Code(Copilot Chat)
VS Code の Copilot Chat に MCP を統合する方法については、公式ガイド Model Context Protocol で Copilot Chat を拡張するをご覧ください。
MCP の設定に Firebolt MCP サーバーを追加します(たとえば、コマンドパレットから MCP: Open User Configuration を選択します)。Docker を使用する Firebolt Cloud の例:
{
"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"
}
}
}
}
your-client-id と your-client-secret を、Firebolt サービスアカウントの認証情報に置き換えてください。
Claude Desktop
Docker を使用して Claude Desktop と統合するには:
-
Claude メニューを開き、Settings… を選択します。
-
Developer > Edit Config に進みます。
-
設定ファイル(
claude_desktop_config.json)を更新して、以下を含めます。{ "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.7.0" ], "env": { "FIREBOLT_MCP_CLIENT_ID": "your-client-id", "FIREBOLT_MCP_CLIENT_SECRET": "your-client-secret" } } } }Docker の代わりにバイナリを使用するには:
{ "mcpServers": { "firebolt": { "command": "/path/to/firebolt-mcp-server", "env": { "FIREBOLT_MCP_CLIENT_ID": "your-client-id", "FIREBOLT_MCP_CLIENT_SECRET": "your-client-secret" } } } }Firebolt Core への接続
Firebolt Coreを使用している場合は、サービスアカウントの認証情報の代わりに Core の URL を指定して接続できます。
Claude Desktop で Firebolt Core を使用するには:
{ "mcpServers": { "firebolt": { "command": "docker", "args": [ "run", "-i", "--rm", "--network", "host", "-e", "FIREBOLT_MCP_CORE_URL", "ghcr.io/firebolt-db/mcp-server:0.7.0" ], "env": { "FIREBOLT_MCP_CORE_URL": "http://localhost:3473" } } } } -
設定を保存し、Claude Desktop を再起動します。
詳細については、Claude MCP クイックスタートガイドをご覧ください。
手動設定(その他の MCP クライアント)
JSON 設定(例:mcpServers)を使用する MCP クライアントであれば、以下の標準設定を使用して Firebolt サーバーを追加できます。Docker を使用する Firebolt Cloud:
{
"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"
}
}
}
}
Firebolt Core の場合は、env で FIREBOLT_MCP_CORE_URL(例:http://localhost:3473)を使用し、args ではクライアント ID/シークレットの代わりに -e FIREBOLT_MCP_CORE_URL を渡してください。Cursor の場合は、env と args に FIREBOLT_MCP_DISABLE_RESOURCES=true も設定してください。
SSE トランスポートの使用
デフォルトでは、MCP サーバーはトランスポート機構として STDIO を使用します。
ただし、Server-Sent Events(SSE)もサポートされており、追加の設定が必要です。
SSE を有効にするには、--transport CLI フラグ(または FIREBOLT_MCP_TRANSPORT 環境変数)を sse に設定します。
必要に応じて、--transport-sse-listen-address CLI フラグ(または FIREBOLT_MCP_TRANSPORT_SSE_LISTEN_ADDRESS 環境変数)を設定して、サーバーがリッスンするアドレスを指定できます。
Streamable HTTP トランスポートの使用
Streamable HTTP は現在の MCP HTTP トランスポートであり、従来の SSE に対応していないゲートウェイやクライアントで必要です。
有効にするには、--transport(または FIREBOLT_MCP_TRANSPORT)に streamable-http を設定します。
サーバーは同じ --transport-sse-listen-address(デフォルトは :8080)でリッスンし、任意のパスで MCP を提供します。たとえば、http://<host>:8080/mcp です。
どちらの HTTP トランスポートも Content-Type: application/json の POST リクエストのみを受け付けるため、ウェブページから別のオリジンにあるサーバーへ MCP リクエストを送信することはできません。
ループバックアドレスでサーバーに到達するリクエストには、localhost:8080 のようなループバックの Host ヘッダーが必要です。そうでない場合、DNS リバインディングを防ぐため 403 で拒否されます。
そのため、同じホスト上のリバースプロキシは、ループバックの Host ヘッダーを転送するか、ループバック以外のアドレスに接続する必要があります。
シャットダウン時、処理中のリクエストには完了まで最大 5 秒が与えられます。
接続前に LLM にドキュメントを読んだ証明を提示させる
Firebolt に接続してクエリを実行する前に、LLM により広いコンテキストを提供するため、デフォルトでは firebolt_connect ツールは、Firebolt ドキュメントを読んだ証明(firebolt_docs_overview ツールへのクエリ)を LLM に提示させます。
これにより、LLM が Firebolt ドキュメントの全体像を把握するためのよい出発点となりますが、同時に応答が遅くなり、トークン消費量が増える可能性があります。
この要件を無効にするには、CLI のブール値フラグ --skip-docs-proof(または環境変数 FIREBOLT_MCP_SKIP_DOCS_PROOF)を false に設定します。
アーキテクチャ
Firebolt MCP Server は Model Context Protocol を実装し、以下を提供します。
-
ツール - LLM に提供される、タスク固有の機能:
firebolt_docs_overview:Firebolt ドキュメントの基本的な概要にアクセスしますfirebolt_connect:Firebolt エンジンおよびデータベースへの接続を確立しますfirebolt_query:Firebolt に対して SQL クエリを実行しますfirebolt_docs_search:Firebolt ドキュメント内の任意の詳細を検索します
-
リソース - LLM が参照できるデータ:
- ドキュメント記事
- アカウント、データベース、エンジンの一覧
-
プロンプト - LLM 向けの定義済み指示:
firebolt_expert:モデルに Firebolt の専門家として振る舞うよう指示します
開発
開発環境をセットアップするには:
# 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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。