SQL-Server-MCP について
SQL-Server-MCPは、stdio経由でMicrosoft SQL Serverに接続するMCPサーバーです。データベースの確認やSQL実行を行うMCPクライアント向けで、接続時に認証情報を渡します。
主な機能
- 01SQL Serverへの接続
- 02任意のSQLクエリ実行
- 03SQL Serverバージョンの取得
- 04データベースとスキーマの一覧表示
- 05スキーマ指定によるテーブル一覧表示
活用シーン
- 01MCPクライアントからデータベース構造を確認
- 02MCPツール経由でSQLクエリを実行
MCP 対応
stdio経由で、接続、クエリ、バージョン取得、データベース探索のツールをMCPクライアントに公開します。認証情報は接続時に渡し、保存しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SQL Server MCP(Model Context Protocol)サーバー
提供された認証情報を使用して Microsoft SQL Server に接続し、スキーマのクエリと検出を行うツールを公開する、軽量な MCP stdio サーバーです。
機能
- connect:
server、port、user、password、任意のdatabase、encryptを指定して接続します。 - disconnect:接続プールを閉じます。
- info:
@@VERSIONを返します。 - query:任意の SQL を実行し、レコードセットを返します。
- list_databases:データベースの一覧を表示します。
- list_schemas:スキーマの一覧を表示します。
- list_tables:テーブルの一覧を表示します。任意で
schemaによる絞り込みができます。
クイックスタート
- Node.js >= 18
- 依存関係をインストールしてビルドします:
npm install npm run build - MCP stdio サーバーとして実行します(MCP 対応クライアント向け):
npm start
サーバーは stdio 経由で起動し、MCP クライアント(Claude Desktop やその他の MCP 対応ツールなど)からの操作を待ちます。次の順序でツールを使用します:
- SQL Server の認証情報を指定して
connectを実行します info、list_*、またはqueryを実行します
MCP ツールとスキーマ
- connect の引数:
{ "server": "host or host\\\u005Cinstance", "port": 1433, "user": "sa", "password": "<secret>", "database": "master", "encrypt": true } - query の引数:
{ "sql": "SELECT TOP 1 * FROM sys.databases" } { "sql": "SELECT * FROM INFORMATION_SCHEMA.TABLES" } - その他のツールは引数を取らないか、任意の
schemaを受け取ります。
セキュリティ
- 認証情報は呼び出し時に指定され、保存されません。安全な MCP クライアントと環境を使用してください。TLS の
encryptはデフォルトで true です。
開発
- スクリプト:
npm run dev:ts-node で実行しますnpm run build:JS をdist/に出力しますnpm start:ビルド済みサーバー(dist/server.js)を実行します
コミット
- chore:TypeScript、tsconfig、依存関係を含むプロジェクトの初期構成
- feat:SQL Server ツール(connect、query、info、list_*)を備えた MCP stdio サーバーを実装
- docs:実行計画の概要と使用上の注意を追加
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。