BlazeSQL MCP サーバー
このプロジェクトは、 @modelcontextprotocol/sdk
を使用して、BlazeSQL 自然言語クエリ API のプロキシとして機能するモデルコンテキストプロトコル (MCP) サーバーを実装します。これにより、MCP 対応クライアント (Cursor、ツール使用機能を備えた Claude 3、MCP Inspector など) が自然言語を使用して BlazeSQL と対話できるようになります。
特徴
MCP SDK の最新の
McpServer
ヘルパー クラスを使用して構築されました。BlazeSQL 自然言語クエリ API を
blazesql_query
という名前の MCP ツールとして公開します。ツール入力パラメータの堅牢な検証に
zod
を使用します。環境変数を介して API キー認証を安全に処理します。
標準の MCP stdio トランスポートを使用してクライアントと通信します。
ワークフロー図
この図は、クライアントがblazesql_query
ツールを使用する場合の相互作用のシーケンスを示しています (注: 内部サーバー ロジックではMcpServer
が使用されるようになり、図に示されている低レベルのハンドラーに比べてツールの登録が簡素化されています)。
前提条件
Node.js (LTS バージョンを推奨)
糸(クラシックまたはベリー)
API キーを持つ BlazeSQL アカウント (API には Team Advanced サブスクリプションが必要です)。
BlazeSQL アカウントに少なくとも 1 つのデータベース接続が構成されています。
BlazeSQL 自然言語クエリ API ドキュメント: https://help.blazesql.com/en/article/natural-language-query-api-1fgx4au/
設定
リポジトリをクローンします。
git clone <repository-url> cd blaze-sql-mcp-server依存関係をインストールします:
yarn installこれにより、
@modelcontextprotocol/sdk
、dotenv
、zod
などの必要な依存関係がすべてインストールされます。環境変数を設定します。
サンプル環境ファイルをコピーします。
cp .env.sample .env.env
ファイルを編集します。# .env BLAZE_API_KEY=YOUR_BLAZESQL_API_KEY_HEREYOUR_BLAZESQL_API_KEY_HERE
、BlazeSQL アカウント設定から取得した実際の API キーに置き換えます。
サーバーの実行
サーバーの構築: TypeScript コードを JavaScript にコンパイルします。
yarn build**サーバーの実行:**コンパイルされたコードを実行します。
node build/index.jsサーバーが起動し、
stderr
にメッセージが記録されます(「APIキーが正常にロードされました...」などが表示される場合があります)。サーバーは標準入出力(stdio)経由でMCPクライアント接続を待機しています。
MCPクライアントの接続
このサーバーはstdio トランスポート メカニズムを使用します。
MCP Inspector の使用 (テストに推奨)
サーバーがすでに個別に実行されていないことを確認してください。
Inspector を実行し、サーバーを起動するように指示します。
npx @modelcontextprotocol/inspector node build/index.jsInspector UI が起動し、自動的にサーバーに接続します。
blazesql_query
ツールを操作するには、「ツール」タブに移動します。
統合クライアントの使用 (Cursor、Claude 3 など)
ターミナルでサーバーを起動します。
node build/index.jsクライアントを構成する: MCP クライアントの設定で、カスタム サーバー構成を追加する必要があります。
トランスポート:
stdio
を選択します。コマンド:と
build/index.js
ファイルへの絶対パスを指定する必要があります。例 (macOS/Linux - 必要に応じてパスを調整してください):
/usr/local/bin/node /Users/your_username/path/to/blaze-sql-mcp-server/build/index.js
ターミナルで
which node
を使用してノードへのパスを見つけることができます。プロジェクトへのパスは、プロジェクト ディレクトリ内で
pwd
を使用して見つけることができます。
設定を保存します。
これで、クライアントはローカルで実行されているサーバーに接続し、そのツールを一覧表示したり使用したりできるようになります。
blazesql_query
ツールの使用
接続されると、クライアントはblazesql_query
ツールを呼び出すことができます。
ツール名:
blazesql_query
引数:
db_id
(文字列、必須): BlazeSQLアカウント内のターゲットデータベース接続のID。このIDは、データベース接続を管理する際にBlazeSQL Webアプリケーションで確認できます。natural_language_request
(文字列、必須): 実行したいクエリを平易な英語で記述します(例:「ユーザーの合計数を表示してください」)。 (入力は
呼び出し例 (説明のために
call-tool blazesql_query --db_id "db_your_actual_db_id" --natural_language_request "What were the total sales last month?"**出力:**成功した場合、ツールは次の内容を含む単一の
text
コンテンツ ブロックを返します。BlazeSQL エージェントからの自然言語応答。
Markdown コード フェンス内で生成された SQL クエリ (
sql ...
)。データは、Markdown コード フェンス (
json ...
) 内で JSON としてフォーマットされます。
text
ブロック内の構造の例:**Agent Response:** The total sales last month were $12345.67. **Generated SQL:** ```sql SELECT sum(sales_amount) FROM sales WHERE sale_date >= date('now', '-1 month');データ結果 (JSON):
[ { "sum(sales_amount)": 12345.67 } ]If unsuccessful, it returns a `text` content block containing the error message from the BlazeSQL API and marks the response as an error (`isError: true`).
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
AI クライアントが BlazeSQL の自然言語クエリ API と対話し、SQL データベースに対する自然言語クエリを実行できるようにするモデル コンテキスト プロトコル サーバー。
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables secure and structured interaction with Microsoft SQL Server databases, allowing AI assistants to list tables, read data, and execute SQL queries with controlled access.Last updated -47MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI models to interact with MySQL databases, providing tools for querying, executing statements, listing tables, and describing table structures.Last updated -5310MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.Last updated -7
- -securityAlicense-qualityA Model Context Protocol server implementation that enables AI assistants to execute SQL queries and interact with SQLite databases through a structured interface.Last updated -7MIT License