Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

@adriancy/mcp-mssql

Microsoft SQL Server用のMCPサーバー (stdio)。Cursor(または任意のMCPクライアント)がテーブルの一覧表示、列の記述、および読み取り中心のT-SQLを実行できるようにツールを公開します。

Cursorでの使用方法

  1. Cursor Settings → MCP を開きます(またはMCPのJSONを編集します)。

  2. サーバーブロックを追加します。envをデータベースに合わせて設定してください(.env.exampleを参照)。

npmから(パッケージ公開後):

{
  "mcpServers": {
    "mssql": {
      "command": "npx",
      "args": ["-y", "@adriancy/mcp-mssql"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

ローカルクローンから(先に pnpm install && pnpm build を実行してください):

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/absolute/path/to/mssql-mcp/dist/index.js"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

ローカルファイルには node を使用してください。MCPの command として pnpm を使用することは避けてください。stdoutへの余分な出力がプロトコルを壊す可能性があります。

インストール名がnpmと一致していることを確認してください: npm view @adriancy/mcp-mssql version。

Related MCP server: MSSQL Database MCP Server

環境変数

すべての変数はMCPプロセスの環境(Cursorの env など)から読み取られます。ブール値は 1、true、yes、on(大文字小文字を区別しない)を真として扱い、0、false、no、offを偽として扱います。無効なブール値や整数値は起動時の検証で失敗します。

変数

必須

デフォルト

意味

MSSQL_SERVER

はい

—

SQL Serverのホスト名またはIP

MSSQL_USER

はい†

—

ログインユーザー(SQL認証、NTLM、Azure ADパスワード)。azure-active-directory-access-token またはサービスプリンシパルのみのフローでは使用されません

MSSQL_PASSWORD

はい*†

—

ログインパスワード(*一部のセットアップでは空でも可)

MSSQL_DATABASE

はい

—

初期データベース

MSSQL_PORT

いいえ

1433

TCPポート。MSSQL_INSTANCE_NAME を使用する場合は省略してください(ドライバーがインスタンス + SQL Browserを使用します)

MSSQL_ENCRYPT

いいえ

true

TLS encrypt: true、false、または strict (TDS 8.0 / tedious)

MSSQL_TRUST_SERVER_CERTIFICATE

いいえ

false

自己署名証明書を信頼する / 証明書の検証をスキップする(開発用のみ)

MSSQL_TLS_SERVER_NAME

いいえ

—

MSSQL_SERVER と異なる場合のTLS検証用ホスト名(例: IPで接続する場合)

MSSQL_TLS_CA_FILE

いいえ

—

CA PEMへのパス。cryptoCredentialsDetails.ca を介して渡されます

MSSQL_TLS_CERT_FILE

いいえ

—

オプションのクライアント証明書PEM(相互TLS)

MSSQL_TLS_KEY_FILE

いいえ

—

オプションのクライアント秘密鍵PEM

MSSQL_TLS_KEY_PASSPHRASE

いいえ

—

暗号化されたクライアントキーのパスフレーズ

MSSQL_CONNECTION_TIMEOUT_MS

いいえ

(ドライバーのデフォルト)

プールの connectionTimeout (ms)。0 → 未設定

MSSQL_DOMAIN

いいえ

—

ドメインログイン(SQL認証の場合は config.domain。MSSQL_AUTH_TYPE=ntlm の場合は必須)

MSSQL_INSTANCE_NAME

いいえ

—

名前付きインスタンス (options.instanceName)。これを設定する場合は MSSQL_PORT に依存しないでください

MSSQL_MULTI_SUBNET_FAILOVER

いいえ

false

可用性グループスタイルのフェイルオーバーヒント

MSSQL_READ_ONLY_INTENT

いいえ

false

AGセカンダリへの読み取り専用ルーティング

MSSQL_MAX_RETRIES_ON_TRANSIENT_ERRORS

いいえ

—

Tediousの maxRetriesOnTransientErrors。0 → 未設定

MSSQL_CONNECTION_RETRY_INTERVAL_MS

いいえ

—

Tediousの connectionRetryInterval。0 → 未設定

MSSQL_POOL_MAX

いいえ

10

プールの最大接続数

MSSQL_POOL_MIN

いいえ

0

プールの最小接続数

MSSQL_POOL_IDLE_TIMEOUT_MS

いいえ

30000

pool.idleTimeoutMillis

MSSQL_APP_NAME

いいえ

—

options.appName (サーバー追跡用)

MSSQL_USE_UTC

いいえ

true

設定時の options.useUTC

MSSQL_TDS_VERSION

いいえ

—

7_1、7_2、7_3_A、7_3_B、または 7_4

MSSQL_AUTH_TYPE

いいえ

—

ntlm、azure-active-directory-password、azure-active-directory-access-token、azure-active-directory-service-principal-secret、またはSQLログイン用の未設定/default

MSSQL_AZURE_CLIENT_ID

いいえ‡

—

必要な場合のAzure ADアプリ(クライアント)ID

MSSQL_AZURE_TENANT_ID

いいえ‡

—

テナントID(パスワード認証ではオプション、デフォルトは common。サービスプリンシパルでは必須)

MSSQL_AZURE_CLIENT_SECRET

いいえ‡

—

サービスプリンシパルシークレット

MSSQL_AZURE_ACCESS_TOKEN

いいえ‡

—

アクセストークン認証用に事前に取得したトークン

MSSQL_ALLOW_WRITES

いいえ

false

false/未設定の場合、mssql_query 内の一般的な書き込み/DDL/execパターンをブロックします(ヒューリスティックのみ)

MSSQL_QUERY_TIMEOUT_MS

いいえ

(ドライバーのデフォルト)

ドライバーのリクエストタイムアウト(ms)。0 → 未設定

† SQL認証および対話型ユーザーログインを使用する認証タイプで必須。 ‡ MSSQL_AUTH_TYPE に応じて必須。.env.example を参照してください。Node 17以降のNTLMでは --openssl-legacy-provider が必要な場合があります(tedious FAQ を参照)。

.env.example も参照してください。

ツール

ツール

目的

mssql_query

T-SQLを実行。行と rowsAffected を返します

mssql_list_tables

INFORMATION_SCHEMA 内のテーブル

mssql_describe_table

列のメタデータ

MSSQL_ALLOW_WRITES が未設定/falseの場合、明らかな書き込み/DDLパターンはブロックされます(ヒューリスティックのみ。真の安全性にはDB権限を使用してください)。

開発

pnpm install
pnpm check
pnpm test
pnpm build && pnpm start
pnpm dev

pnpm format を使用してBiomeのフォーマット修正を適用し、pnpm lint を使用してフォーマットなしでlintルールを実行します。

日常的な使用には、読み取り専用または最小権限のSQLログインを使用してください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases through query execution, schema discovery, CRUD operations, stored procedures, and data export with built-in safety controls.
    18
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to securely interact with Microsoft SQL Server databases to query data, inspect schemas, and retrieve metadata with read-only operations by default and optional write capabilities.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Microsoft SQL Server databases using both SQL Server and Windows Authentication. It supports flexible connection configurations, including read-only modes and encrypted communication for secure data management.
    3,017 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases via introspection and query tools. Supports single or multiple databases with read-only mode by default and an optional write capability.
    629 npm
    5
    MIT