MSSQL MCP Server について
MSSQL MCP Serverは、MCP経由でMicrosoft SQL Serverデータベースへの読み取り専用アクセスを提供します。スキーマやインデックスを調べられ、データ変更文を禁止しながらクエリを検証します。
主な機能
- 01読み取り専用SQL操作
- 02スキーマ、テーブル、列、インデックスの確認
- 03クエリ検証とSQLインジェクション対策
- 04データベース接続の管理
活用シーン
- 01クエリ実行前にデータベース構造を確認
- 02MCPクライアントから読み取り専用SQLを実行
- 03アクセス可能なデータベースとテーブルを一覧表示
MCP 対応
データベーススキーマのリソースや、データベース・テーブル一覧取得などのツールをMCPクライアントに公開します。クエリはSELECT、DECLARE、およびローカル変数用のSETに限定されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MSSQL MCP サーバー
読み取り専用の Microsoft SQL Server 操作用の Model Context Protocol(MCP)サーバーです。このサーバーは、MCP プロトコルを通じて MSSQL データベースへの安全な読み取り専用アクセスを提供します。
機能
- 読み取り専用操作:SELECT、DECLARE、および SET(ローカル変数用)のクエリのみが許可されます
- スキーマの調査:データベース、テーブル、列、インデックスを参照できます
- 安全なクエリ実行:SQL インジェクション対策とクエリの検証
- 接続管理:適切なクリーンアップを伴う安全な接続処理
インストール
- このリポジトリをクローンします:
git clone <repository-url>
cd mssql-mcp
- 依存関係をインストールします:
pip install -e .
- 環境変数を設定します:
cp .env.example .env
# Edit .env with your database connection details
重要: サーバーは、現在のディレクトリにある .env ファイルから環境変数を自動的に読み込みます。必ず、このファイルを作成し、データベース接続情報を設定してください。
設定
MSSQL の接続情報を記載した .env ファイルを作成します:
MSSQL_SERVER=localhost
MSSQL_DATABASE=your_database
MSSQL_USERNAME=your_username
MSSQL_PASSWORD=your_password
MSSQL_PORT=1433
MSSQL_TIMEOUT=30
MSSQL_CHARSET=UTF-8
MSSQL_AUTOCOMMIT=true
使用方法
開発モード
mcp dev src/mssql_mcp/server.py
Claude Desktop との連携
mcp install src/mssql_mcp/server.py --name "MSSQL Server"
直接実行
python -m mssql_mcp.server
利用可能なリソース
db://schemas- 現在のデータベースにあるすべてのスキーマを一覧表示しますdb://tables/{database}- 現在のデータベースにあるすべてのテーブルを一覧表示しますdb://schema_tables/{schema_name}- 特定のスキーマにあるテーブルを一覧表示しますdb://columns/{schema_name}/{table_name}- テーブルの列情報を取得しますdb://indexes/{database}/{schema_name}/{table_name}- テーブルのインデックス情報を取得します
利用可能なツール
list_databases- アクセス可能なすべてのデータベースを一覧表示しますlist_tables- 現在のデータベースにあるテーブルを一覧表示します
セキュリティ
このサーバーでは、以下のセキュリティ対策を実施しています:
- SELECT、DECLARE、および SET(ローカル変数用)の文のみが許可されます
- SQL の解析と検証
- 可能な場合はパラメーター化クエリを使用
- 接続文字列の保護
- DDL または DML 操作は許可されません
要件
- Python 3.9+
- Microsoft SQL Server インスタンスへのアクセス
- pymssql ライブラリ(依存関係のインストール時に自動的にインストールされます)
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。