mcpField
M
Mssql Mcp Server

Mssql Mcp Server

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

Mssql Mcp Server について

Mssql Mcp Serverは、AIエージェントなどのMCPクライアントからMicrosoft SQL Serverを操作するサーバーです。stdioまたはStreamable HTTPでクエリやストアドプロシージャを実行でき、認証方式とセッションを設定できます。

主な機能

  1. 01SQLクエリの実行
  2. 02ストアドプロシージャの実行
  3. 03データベース接続情報の取得
  4. 04Windows認証とSQL Server認証
  5. 05stdioとStreamable HTTPのトランスポート
  6. 06複数のHTTPセッション

活用シーン

  1. 01MCPクライアントからSQL Serverを検索
  2. 02エージェント経由でストアドプロシージャを呼び出す
  3. 03HTTP経由でWebアプリを接続
  4. 04APIキーごとにデータベース接続を分ける

MCP 対応

クエリ実行、ストアドプロシージャ、接続情報取得などのSQL Server操作をMCPツールとして公開します。クライアントはstdioまたはStreamable HTTPで接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mssql-mcp-server-stilllovee": {
"command": "npx",
"args": [
"-y",
"github:stilllovee/mssql-mcp-server"
],
"env": {
"DB_SERVER": "<DB_SERVER>",
"DB_DATABASE": "<DB_DATABASE>",
"DB_USER": "<DB_USER>",
"DB_PASSWORD": "<DB_PASSWORD>",
"DB_TRUST_SERVER_CERTIFICATE": "<DB_TRUST_SERVER_CERTIFICATE>",
"DB_ENCRYPT": "<DB_ENCRYPT>"
}
}
}
}
起動コマンドnpx -y github:stilllovee/mssql-mcp-server
設定が必要な環境変数
DB_SERVER
DB_DATABASE
DB_USER
DB_PASSWORDシークレット
DB_TRUST_SERVER_CERTIFICATE
DB_ENCRYPT

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgithub:stilllovee/mssql-mcp-server

ツール

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

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

詳細

MSSQL MCP サーバー

Microsoft SQL Server のデータベース操作を行うための Model Context Protocol(MCP)サーバーです。

特徴

  • SQL Server に対する SQL クエリを実行します
  • ストアドプロシージャを実行します
  • データベースの接続情報を取得します
  • Windows 認証と SQL Server 認証の両方をサポートします
  • 環境変数を使って柔軟に設定できます
  • Streamable HTTP トランスポートにより、ウェブベースのアプリケーションやリモート接続に対応します
  • 複数の同時セッションをサポートします

使用方法

サーバーは、2 つのトランスポートモードに対応しています。

1. Stdio トランスポート(デフォルト)

Claude Desktop やその他の Stdio ベースの MCP クライアントで使用します。

Claude Desktop の設定に追加します。

{
    "mcpServers": {
        "mssql": {
            "command": "npx",
            "args": [
                "github:stilllovee/mssql-mcp-server"
            ],
            "env": {
                "DB_SERVER": "servername",
                "DB_DATABASE": "dbname",
                "DB_USER": "username", //optional
                "DB_PASSWORD": "password",  //optional
                "DB_TRUST_SERVER_CERTIFICATE": "true",  //optional
                "DB_ENCRYPT": "true"  //optional
            }
        }
    }
}

または、お使いの PC にインストールします。

npm install
{
    "mcpServers": {
        "mssql": {
            "command": "node",
            "args": ["/path/to/folder"],
            "env": {
                "DB_SERVER": "servername",
                "DB_DATABASE": "dbname",
                "DB_USER": "username", //optional
                "DB_PASSWORD": "password",  //optional
                "DB_TRUST_SERVER_CERTIFICATE": "true",  //optional
                "DB_ENCRYPT": "true"  //optional
            }
        }
    }
}

または、接続文字列を使用します。

{
    "mcpServers": {
        "mssql": {
            "command": "node",
            "args": ["/path/to/folder"],
            "env": {
                "DB_CONNECTION_STRING": "Server=localhost;Database=ecommerce;Trusted_Connection=yes;TrustServerCertificate=yes"
            }
        }
    }
}
2. Streamable HTTP トランスポート

ウェブアプリケーション、リモート接続、および HTTP が適した環境で使用します。

HTTP サーバーの起動

データベース設定を含む .env ファイルをセットアップします。

DB_SERVER=localhost
DB_DATABASE=ecommerce
DB_USE_WINDOWS_AUTH=true
# Or use a full connection string
# DB_CONNECTION_STRING=Server=localhost;Database=ecommerce;Trusted_Connection=yes;TrustServerCertificate=yes

サーバーを実行します。

# Using default port 8123
node index-http.js

# Or specify a custom port
node index-http.js --port=3000

サーバーは http://localhost:8123/mcp(またはカスタムポート)で利用できます。

HTTP トランスポートの特徴
  • セッション管理:固有のセッション ID を使って、複数のクライアント接続を同時にサポートします
  • サーバー送信イベント(SSE):GET エンドポイントを介してリアルタイム通知を受け取れます
  • ステートフル接続:リクエスト間でセッション状態を維持します
  • 標準 HTTP:任意の HTTP クライアントまたはプロキシで動作します
  • API キーベースの接続マッピング:異なる API キーを異なるデータベース接続に割り当てられます(下記を参照)
API キーベースのマルチデータベースサポート

HTTP トランスポートでは、Azure Table Storage を使用した API キーベースの接続マッピングに対応しており、固有の API キーを使って異なるクライアントを異なるデータベースに接続できます。

API キーマッピングを有効にする:

# Set environment variables
USE_API_KEY_MAPPING=true
AZURE_STORAGE_CONNECTION_STRING=your_azure_connection_string

# Start the server
node index-http.js

Claude Desktop で設定する:

"mssql": {
    "type": "http",
    "url": "http://localhost:8123/mcp",
    "headers": {
        "x-api-key": "your-api-key"
    }
},

API キーを使ってリクエストを送信する:

curl -X POST http://localhost:8123/mcp \
  -H "Content-Type: application/json" \
  -H "x-api-key: your-api-key" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",...}'

API キーを管理する:

# List all API keys
node scripts/manage-api-keys.js list

# Add a new API key
node scripts/manage-api-keys.js add my-api-key

# Delete an API key
node scripts/manage-api-keys.js delete my-api-key

Azure Table Storage のセットアップ、API キーの管理、セキュリティのベストプラクティスについて詳しくは、Azure Table Storage のドキュメントを参照してください。

HTTP エンドポイント
  • POST /mcp - MCP リクエストを送信し、レスポンスを受け取ります
  • GET /mcp - 通知を受け取るための SSE 接続を確立します(mcp-session-id ヘッダーが必要です)
利用可能な環境変数
変数説明デフォルト
DB_CONNECTION_STRING完全な接続文字列(ほかのすべての設定より優先されます)-
DB_SERVERSQL Server のホスト名または IP アドレスlocalhost
DB_DATABASEデータベース名ecommerce
DB_USERSQL Server 認証用のユーザー名-
DB_PASSWORDSQL Server 認証用のパスワード-
DB_USE_WINDOWS_AUTHWindows 認証を使用しますtrue(ユーザー名/パスワードが設定されていない場合)
DB_DRIVERODBC ドライバー名ODBC Driver 17 for SQL Server
DB_ENCRYPT接続の暗号化を有効にしますfalse
DB_TRUST_SERVER_CERTIFICATEサーバー証明書を信頼しますtrue
USE_API_KEY_MAPPINGAPI キーに基づく接続マッピングを有効にしますfalse
AZURE_STORAGE_CONNECTION_STRINGAzure Table Storage の接続文字列(API キーのマッピングに必要)-
AZURE_TABLE_NAMEAPI キーのマッピングに使用する Azure テーブル名ApiKeyMappings
利用可能なツール
  1. sql_execute_query - SQL クエリを実行します

    • パラメーター:query(文字列)、params(オブジェクト、省略可能)
  2. sql_execute_procedure - ストアドプロシージャを実行します

    • パラメーター:procedure_name(文字列)、params(オブジェクト、省略可能)
  3. sql_get_database_info - データベース接続情報を取得します

    • パラメーターは不要です
  4. その他 ...

要件

  • Node.js 14 以降
  • ODBC ドライバーがインストールされた SQL Server
  • Windows 認証を使用する場合:適切な権限を持つ Windows 環境で実行すること

コメント

MCP は初めてですか?

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

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