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/
設定
- リポジトリをクローンします。
- 依存関係をインストールします:これにより、
@modelcontextprotocol/sdk
、dotenv
、zod
などの必要な依存関係がすべてインストールされます。 - 環境変数を設定します。
- サンプル環境ファイルをコピーします。
.env
ファイルを編集します。YOUR_BLAZESQL_API_KEY_HERE
、BlazeSQL アカウント設定から取得した実際の API キーに置き換えます。
- サンプル環境ファイルをコピーします。
サーバーの実行
- サーバーの構築: TypeScript コードを JavaScript にコンパイルします。
- **サーバーの実行:**コンパイルされたコードを実行します。サーバーが起動し、
stderr
にメッセージが記録されます(「APIキーが正常にロードされました...」などが表示される場合があります)。サーバーは標準入出力(stdio)経由でMCPクライアント接続を待機しています。
MCPクライアントの接続
このサーバーはstdio トランスポート メカニズムを使用します。
MCP Inspector の使用 (テストに推奨)
- サーバーがすでに個別に実行されていないことを確認してください。
- Inspector を実行し、サーバーを起動するように指示します。
- Inspector UI が起動し、自動的にサーバーに接続します。
blazesql_query
ツールを操作するには、「ツール」タブに移動します。
統合クライアントの使用 (Cursor、Claude 3 など)
- ターミナルでサーバーを起動します。
- クライアントを構成する: MCP クライアントの設定で、カスタム サーバー構成を追加する必要があります。
- トランスポート:
stdio
を選択します。 - コマンド:サーバーの実行に使用するコマンドを正確に指定します。node への絶対パスと
build/index.js
ファイルへの絶対パスを指定する必要があります。- 例 (macOS/Linux - 必要に応じてパスを調整してください):
/usr/local/bin/node /Users/your_username/path/to/blaze-sql-mcp-server/build/index.js
- ターミナルで
which node
を使用してノードへのパスを見つけることができます。 - プロジェクトへのパスは、プロジェクト ディレクトリ内で
pwd
を使用して見つけることができます。
- 例 (macOS/Linux - 必要に応じてパスを調整してください):
- 設定を保存します。
- トランスポート:
- これで、クライアントはローカルで実行されているサーバーに接続し、そのツールを一覧表示したり使用したりできるようになります。
blazesql_query
ツールの使用
接続されると、クライアントはblazesql_query
ツールを呼び出すことができます。
- ツール名:
blazesql_query
- 引数:
db_id
(文字列、必須): BlazeSQLアカウント内のターゲットデータベース接続のID。このIDは、データベース接続を管理する際にBlazeSQL Webアプリケーションで確認できます。natural_language_request
(文字列、必須): 実行したいクエリを平易な英語で記述します(例:「ユーザーの合計数を表示してください」)。 (入力はzod
を使用して検証されます)
- 呼び出し例 (説明のために
mcp test
構文を使用): - **出力:**成功した場合、ツールは次の内容を含む単一の
text
コンテンツ ブロックを返します。- BlazeSQL エージェントからの自然言語応答。
- Markdown コード フェンス内で生成された SQL クエリ (
sql ...
)。 - データは、Markdown コード フェンス (
json ...
) 内で JSON としてフォーマットされます。
text
ブロック内の構造の例:データ結果 (JSON):
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 enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.Last updated -9PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables natural language queries to MySQL databases, powered by XiYanSQL text-to-SQL technology.Last updated -114PythonApache 2.0
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to query Erick Wendel's talks, blog posts, and videos across different platforms using natural language.Last updated -55TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through natural language, supporting SQL queries, table creation, and schema exploration.Last updated -2Python