mcpField
M
MSSQL MCP Server

MSSQL MCP Server

ローカル
github.com/JexinSamデータベース6010 週間前に更新

MSSQL MCP Server について

MSSQL MCP Server は、AI アシスタントが Microsoft SQL Server データベースと構造化された形で対話できるようにする MCP サーバーです。テーブル一覧の取得、テーブル内容の読み取り、SQL クエリの実行に対応し、アクセス設定は環境変数で行います。権限を管理したうえでモデルから MSSQL のデータを参照させたい開発者向けです。

主な機能

  1. 01データベース内のテーブル一覧の取得
  2. 02query_sql による読み取り専用 SELECT クエリの実行
  3. 03execute_sql による書き込みおよび DDL 文の実行
  4. 04環境変数によるデータベース接続の設定
  5. 05stdio と Streamable HTTP のトランスポート対応
  6. 06ODBC ドライバーを含む Docker 構成

活用シーン

  1. 01AI アシスタントから MSSQL データベースのデータを照会
  2. 02Claude Desktop や Cursor からのテーブル構造の確認
  3. 03読み取り専用によるデータベース分析をモデルに提供

MCP 対応

MSSQL MCP Server は MCP サーバーとして動作し、テーブル一覧、読み取り専用クエリ、SQL 実行のツールを MCP クライアントに提供します。ツールアノテーションで読み取り専用と破壊的操作を区別します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

テスト

MSSQL MCP Server

MSSQL MCP Server は、Microsoft SQL Server(MSSQL) データベースとの安全で構造化されたやり取りを可能にする Model Context Protocol(MCP)サーバーです。AI アシスタントで次の操作を行えます。

  • 利用可能なテーブルの一覧表示
  • テーブル内容の読み取り
  • アクセスを制御した SQL クエリの実行

MCP SDK v2(2026-07-28 仕様)を基盤とし、stdio と Streamable HTTP の両方のトランスポートに対応しています。

機能

  • 環境変数を介した MSSQL データベースへの安全なアクセス
  • 識別子の検証による SQL インジェクション対策
  • 適切な MCP アノテーションを備えた 読み取り専用ツールと書き込みツール
  • Trusted Connection による Windows 認証への対応
  • 2 種類のトランスポート — stdio(デフォルト)と HTTP
  • 事前構成済みの ODBC ドライバーを備えた Docker 対応
  • クエリや操作を監視するための 包括的なロギング

インストール

pip install mssql-mcp-server

設定

データベースアクセスを設定するには、次の環境変数を設定してください。

# Required
MSSQL_DATABASE=your_database

# Authentication (choose one):
# Option 1: SQL Server Authentication
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password

# Option 2: Windows / Kerberos Authentication
Trusted_Connection=yes

# Optional
MSSQL_HOST=localhost           # or use MSSQL_SERVER
MSSQL_DRIVER=SQL Server        # default driver
TrustServerCertificate=no      # default: no (set to yes for self-signed certs)
MCP_TRANSPORT=stdio            # or "streamable-http" for Streamable HTTP

利用可能なツール

ツール説明アノテーション
list_tablesデータベース内のすべてのテーブルを一覧表示します読み取り専用、冪等
query_sql読み取り専用の SELECT クエリを実行します読み取り専用、冪等
execute_sql任意の SQL 文(SELECT、INSERT、UPDATE、DELETE、DDL)を実行します破壊的

使用方法

Claude Desktop で使用する

この設定を claude_desktop_config.json に追加してください。

{
  "mcpServers": {
    "mssql": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/mssql_mcp_server",
        "run",
        "mssql_mcp_server"
      ],
      "env": {
        "MSSQL_HOST": "localhost",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}
Cursor IDE で使用する

これを .cursor/mcp.json に追加してください。

{
  "mcpServers": {
    "mssql": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/mssql_mcp_server",
        "run",
        "mssql_mcp_server"
      ],
      "env": {
        "MSSQL_HOST": "localhost",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}
pip install(グローバル)で使用する
{
  "mcpServers": {
    "mssql": {
      "command": "mssql_mcp_server",
      "env": {
        "MSSQL_HOST": "localhost",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}
Docker で使用する
docker build -t mssql-mcp-server .
docker run -e MSSQL_HOST=host.docker.internal \
           -e MSSQL_USER=your_username \
           -e MSSQL_PASSWORD=your_password \
           -e MSSQL_DATABASE=your_database \
           mssql-mcp-server
スタンドアロンサーバーとして実行する
# Install dependencies
pip install -r requirements.txt

# Run the server (stdio)
python -m mssql_mcp_server

# Run with HTTP transport
MCP_TRANSPORT=streamable-http python -m mssql_mcp_server
開発とテスト
# Clone the repository
git clone https://github.com/JexinSam/mssql_mcp_server.git
cd mssql_mcp_server

# Set up a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -r requirements-dev.txt
pip install -e .

# Run tests
pytest -v

# Test with MCP Inspector
uv run mcp dev src/mssql_mcp_server/server.py

トラブルシューティング

「Program Not Found」エラー

通常、mssql_mcp_server コマンドが PATH に含まれていないことが原因です。次の方法をお試しください。

  1. uv を使用する(推奨):MCP クライアントで uv --directory path/to/mssql_mcp_server run mssql_mcp_server を使用するように設定します
  2. フルパスを使用する:pip show mssql-mcp-server でインストール先を確認し、scripts ディレクトリを使用します
  3. python -m を使用する:python -m mssql_mcp_server として実行します
MSSQL ドライバーの問題

デフォルトのドライバーは SQL Server(Windows に組み込まれています)です。Linux/macOS、または新しい機能を使用する場合:

  1. Microsoft ODBC Driver 18 をインストールします
  2. MSSQL_DRIVER="ODBC Driver 18 for SQL Server" を設定します
接続タイムアウト

他のプロジェクトで MSSQL_SERVER を使用している場合、このサーバーでは MSSQL_HOST と MSSQL_SERVER の両方の環境変数に対応しています(MSSQL_HOST が優先されます)。

セキュリティに関する考慮事項

  • 最小限の権限を持つ専用の MSSQL ユーザーを使用してください。
  • root の認証情報や完全な管理者アカウントは使用しないでください。
  • データベースアクセスを必要な操作のみに制限してください(例:モデルによるデータの変更を許可しない場合は、GRANT SELECT のみを使用します)。readOnlyHint と destructiveHint のアノテーションはクライアントの UX 向けです。セキュリティはデータベースの認証情報によってのみ強制されます。
  • セキュリティ監視のため、ロギングと監査を有効にしてください。
  • 最小権限でのアクセスを徹底するため、定期的に権限を見直してください。

セキュリティのベストプラクティス

安全に設定するには:

  1. 権限を制限した専用の MSSQL ユーザーを作成します。
  2. 認証情報をハードコードせず、環境変数を使用します。
  3. 必要なテーブルと操作のみにアクセスを制限します。
  4. 監査のため、SQL Server のロギングと監視を有効にします。
  5. 不正アクセスを防ぐため、データベースアクセスを定期的に確認します。

詳しい手順については、MSSQL Security Configuration Guide を参照してください。

⚠️ 重要: データベースアクセスを設定する際は、常に最小権限の原則に従ってください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。

貢献

皆さまからの貢献を歓迎します!貢献するには、以下の手順に従ってください。

  1. リポジトリをフォークします。
  2. フィーチャーブランチを作成します:git checkout -b feature/amazing-feature
  3. 変更をコミットします:git commit -m 'Add amazing feature'
  4. ブランチにプッシュします:git push origin feature/amazing-feature
  5. プルリクエストを作成します。

お困りですか?

質問や問題がある場合は、GitHub の Issue を作成するか、メンテナーにお気軽にお問い合わせください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。