mcpField
M
Mcp Server

Mcp Server

ローカル
firebolt.ioデータベース152 日前に更新

Mcp Server について

Mcp Server は Firebolt Data Warehouse を LLM に接続し、データのクエリや Firebolt ドキュメントの参照が必要なチーム向けです。SQL 実行、アカウント接続、ドキュメントへのアクセスを提供します。

主な機能

  1. 01Firebolt SQL クエリの実行
  2. 02Firebolt ドキュメントの検索
  3. 03データベースとアカウント情報へのアクセス
  4. 04Firebolt エキスパート向けプロンプト
  5. 05STDIO、SSE、Streamable HTTP に対応

活用シーン

  1. 01エージェントによる Firebolt データのクエリ
  2. 02SQL 構文や関数の確認
  3. 03異なるエンジンやワークスペースへの接続

MCP 対応

MCP サーバーは Firebolt の接続・クエリ用ツール、ドキュメントやアカウントのリソース、Firebolt エキスパート向けプロンプトをクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"firebolt-db": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"\\"
]
}
}
}
起動コマンドdocker run -i --rm '\'

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
oci\

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細


Firebolt
MCP サーバー

LLM を Firebolt Data Warehouse に接続する Model Context Protocol の実装

主な機能 | 使用方法 | LLM の接続 | アーキテクチャ | 開発

主な機能

Firebolt と LLM の連携

  • AI アシスタントをデータウェアハウスに直接接続します
  • AI エージェントが自律的にデータをクエリし、インサイトを生成できるようにします
  • Firebolt SQL、機能、ドキュメントに関する幅広い知識を LLM に提供します

SQL クエリの実行

  • 複数のクエリタイプと実行モードに対応します
  • Firebolt データベースに直接アクセスできます

ドキュメントへのアクセス

  • Firebolt の包括的なドキュメント、SQL リファレンス、関数一覧などへのアクセスを LLM に許可します

アカウント管理

  • Firebolt サービスアカウントでシームレスに認証できます
  • さまざまなエンジンやワークスペースに接続できます

マルチプラットフォーム対応

  • Go バイナリがサポートされている環境であればどこでも実行できます
  • 簡単にデプロイできる公式 Docker イメージを利用できます

使用方法

開始する前に、次のいずれかを用意してください。

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(サービスアカウント):

Cursor に追加

Firebolt Core(ローカルまたはセルフホスト):

Cursor に追加

重要

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 と統合するには:

  1. Claude メニューを開き、Settings… を選択します。

  2. Developer > Edit Config に進みます。

  3. 設定ファイル(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"
          }
        }
      }
    }
    
  4. 設定を保存し、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 を実装し、以下を提供します。

  1. ツール - LLM に提供される、タスク固有の機能:

    • firebolt_docs_overview:Firebolt ドキュメントの基本的な概要にアクセスします
    • firebolt_connect:Firebolt エンジンおよびデータベースへの接続を確立します
    • firebolt_query:Firebolt に対して SQL クエリを実行します
    • firebolt_docs_search:Firebolt ドキュメント内の任意の詳細を検索します
  2. リソース - LLM が参照できるデータ:

    • ドキュメント記事
    • アカウント、データベース、エンジンの一覧
  3. プロンプト - 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。