sql-mcp-server について
sql-mcp-serverは、SQL Serverを利用するユーザーやアプリケーション向けのMCPサーバーです。データベースの一覧、スキーマの取得、パラメーター付きSELECTクエリの実行に対応します。
主な機能
- 01SQL Serverデータベースの一覧表示
- 02データベーススキーマの取得
- 03パラメーター付きSELECTクエリの実行
- 04環境変数による接続設定
活用シーン
- 01SQL Serverで利用可能なデータベースの確認
- 02クエリ前のデータベーススキーマの確認
- 03MCPクライアント経由での読み取り専用SELECTクエリ
MCP 対応
MCPクライアントに、データベース一覧、スキーマ取得、SELECTクエリ実行のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
sql-mcp-server
SQL Server データベースとのやり取りを行う、mcp-framework で構築された Model Context Protocol(MCP)サーバーです。
クイックスタート
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
プロジェクト構成
sql-mcp-server/
├── src/
│ ├── services/ # Services for the application
│ │ └── sql-service.ts
│ ├── tools/ # MCP Tools
│ │ ├── execute-select-query-tool.ts
│ │ ├── get-database-schema-tool.ts
│ │ └── get-databases-tool.ts
│ └── index.ts # Server entry point
├── .env # Environment configuration
├── package.json
└── tsconfig.json
利用可能なツール
このプロジェクトには、SQL に特化した以下のツールが含まれています。
- get-databases-tool - SQL Server 上で利用可能なデータベースの一覧を取得します
- get-database-schema-tool - 指定したデータベースのスキーマ情報を取得します
- execute-select-query-tool - データベースに対してパラメーター化された SELECT クエリを実行します
SQL サービス
SqlService クラスは、次のコア機能を提供します。
- 環境変数を使用した接続文字列の作成
- SQL Server データベースに対するクエリの実行
環境設定
.env ファイルでデータベース接続を設定します。
DB_SERVER=localhost\SQLEXPRESS
DB_DATABASE=AdventureWorks2019
DB_USERNAME=readonly_user
DB_PASSWORD=StrongPassword!123
DB_PORT=1433
AdventureWorks サンプルデータベース
このプロジェクトでは、AdventureWorks サンプルデータベースを使用します。次のページからダウンロードしてインストールできます。
Microsoft のドキュメントページの手順に従って、データベースのバックアップファイルをダウンロードし、SQL Server インスタンスに復元してください。
読み取り専用ユーザーの作成
アプリケーションが使用する SQL Server の読み取り専用ユーザーを作成するには、次の手順を実行します。
-- Create a new login and user in master database
CREATE LOGIN readonly_user WITH PASSWORD = 'StrongPassword!123';
GO
-- Switch to your target database
USE AdventureWorks2019;
GO
-- create user for the MasterDB login
CREATE USER readonly_user FOR LOGIN readonly_user;
-- Add the user to the db_datareader role for read-only access
ALTER ROLE db_datareader ADD MEMBER readonly_user;
GO
注:これらのコマンドを実行する前に、SQL Server Management Studio を使用するか、
CREATE LOGINコマンドを実行して SQL Server ログインを作成する必要があります。
VS Code での使用
次の手順に従って、VS Code 内で実行するように MCP サーバーを設定できます。
- プロジェクト内に
.vscode/mcp.jsonファイルを作成します。- プロジェクトのルートに
.vscodeという名前のディレクトリがない場合は、作成します .vscodeディレクトリ内に、次の内容でmcp.jsonという名前のファイルを作成します
- プロジェクトのルートに
{
"servers": {
"sql-mcp-server": {
"url": "http://localhost:1337/mcp"
}
}
}
ビルドとテスト
- ツールを変更します
npm run buildを実行してコンパイルします- 起動時にサーバーがツールを自動的に読み込みます
デバッグ
mcp-debug ツールを使用して MCP サーバーをデバッグできます。
# Start the server in one terminal
npm start
# In another terminal, run mcp-debug
npx mcp-debug
mcp-debug ツールは、次の操作を行うための CLI インターフェースを提供します。
- MCP サーバーで利用可能なツールを一覧表示する
- 指定したパラメーターでツールを実行する
- サーバーからの完全なレスポンスを確認する
これにより、LLM アプリケーションに統合する前にツールをテストできます。詳しくは、MCP Framework HTTP クイックスタートをご覧ください。
詳細情報
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。