mcpField
M
Mcp Sqlserver

Mcp Sqlserver

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

Mcp Sqlserver について

Mcp Sqlserverは、AIエージェントがMicrosoft SQL Serverを調査・クエリするための読み取り専用MCPサーバーです。スキーマ探索と、安全検証や結果制限を備えたクエリを提供します。

主な機能

  1. 01データベース、テーブル、ビューの一覧
  2. 02スキーマと外部キーの確認
  3. 03検証付き読み取り専用クエリ
  4. 04行数制限とタイムアウト設定
  5. 05暗号化されたSQL Server接続

活用シーン

  1. 01AIクライアントでデータベース構造を調査
  2. 02テーブル間の関係を確認
  3. 03上限付きのサンプルやクエリ結果を取得

MCP 対応

SQL Serverのメタデータと読み取り専用クエリツールをMCPクライアントに公開します。Claude Desktop、Claude Code CLI、VSCode MCP拡張機能などで利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sqlserver": {
"command": "npx",
"args": [
"-y",
"@bilims/mcp-sqlserver"
],
"env": {
"SQLSERVER_HOST": "<SQLSERVER_HOST>",
"SQLSERVER_DATABASE": "<SQLSERVER_DATABASE>",
"SQLSERVER_USERNAME": "<SQLSERVER_USERNAME>",
"SQLSERVER_PASSWORD": "<SQLSERVER_PASSWORD>"
}
}
}
}
起動コマンドnpx -y @bilims/mcp-sqlserver
設定が必要な環境変数
SQLSERVER_HOST
SQLSERVER_DATABASE
SQLSERVER_USERNAME
SQLSERVER_PASSWORDシークレット

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

パッケージ
npm@bilims/mcp-sqlserver

ツール

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

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

詳細

MCP SQL Server

AI エージェントが SQL Server データベースを安全に探索し、クエリを実行できるようにする、Microsoft SQL Server 用の読み取り専用 Model Context Protocol(MCP)サーバーです。

クイックスタート

ステップ 1:パッケージをインストールする
# Global installation (recommended)
npm install -g @bilims/mcp-sqlserver

# Verify installation
mcp-sqlserver --version
ステップ 2:SQL Server 接続を設定する

SQL Server の種類を選択し、設定に従ってください。

Azure SQL Database
export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"
オンプレミスの SQL Server
export SQLSERVER_HOST="your-sql-server.company.com"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"  # For self-signed certificates
ローカルの SQL Server Express
export SQLSERVER_HOST="localhost\\SQLEXPRESS"
export SQLSERVER_USER="sa"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="master"
export SQLSERVER_ENCRYPT="false"
export SQLSERVER_TRUST_CERT="true"
ステップ 3:接続をテストする
# Test your configuration
mcp-sqlserver --help

# Quick connection test (press Ctrl+C to exit)
mcp-sqlserver
ステップ 4:Claude Desktop に追加する
  1. Claude Desktop の設定ファイルを確認します:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. MCP サーバーの設定を追加します:

{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database",
        "SQLSERVER_ENCRYPT": "true",
        "SQLSERVER_TRUST_CERT": "false"
      }
    }
  }
}
  1. Claude Desktop を再起動します
ステップ 5:探索を始めましょう!

Claude Desktop で次のコマンドを試してください:

  • "Test the SQL Server connection"
  • "List all databases on the server"
  • "Show me the tables in [database name]"
  • "Describe the structure of the Users table"
  • "Show me foreign key relationships"

機能

  • 🔒 読み取り専用操作:SELECT クエリのみを許可し、包括的なセキュリティ検証を行います
  • 🗄️ スキーマの検出:データベース、テーブル、ビュー、リレーションシップ、メタデータを探索できます
  • 📊 データの探索:組み込みの上限とタイムアウトを使用して、安全なクエリを実行できます
  • 🔐 エンタープライズ対応:本番環境向けに、証明書を信頼する暗号化接続を利用できます
  • 🛡️ セキュリティを最優先:クエリの検証、SQL インジェクション対策、アクセス制御を備えています

利用可能なツール

スキーマの検出
  • list_databases - SQL Server インスタンス上のすべてのデータベースを一覧表示します
  • list_tables - データベースまたはスキーマ内のテーブルを一覧表示します
  • list_views - データベースまたはスキーマ内のビューを一覧表示します
  • describe_table - 列、データ型、制約を含む、テーブルスキーマの詳細を取得します
リレーションシップの分析
  • get_foreign_keys - テーブルの外部キーリレーションシップを取得します
  • get_table_stats - 行数やサイズ情報など、テーブルの統計情報を取得します
データの探索
  • execute_query - 安全性を検証したうえで、読み取り専用の SELECT クエリを実行します
  • get_server_info - SQL Server のバージョン、エディション、構成の詳細を取得します

Claude Desktop で使える一般的なコマンド

MCP サーバーを設定したら、次の自然言語コマンドを試してください。

はじめに使うコマンド
"Test the SQL Server connection"
"Show me server information"
"List all databases on this server"
"What tables are in the [database name] database?"
データベースの探索
"Describe the structure of the Users table"
"Show me foreign key relationships in this database"
"What are the largest tables by row count?"
"Give me a sample of data from the Orders table"
高度な分析
"Help me understand the relationship between Orders and Customers"
"Show me all lookup tables in this database"
"What columns contain date/time information?"
"Find tables that might contain user authentication data"
カスタムクエリ
"Run this query: SELECT TOP 10 * FROM Products WHERE Price > 100"
"Show me all customers created in the last 30 days"
"What are the different product categories in the database?"

インストール

npm install
npm run build

設定

サーバーは環境変数を使って設定します。

必須
  • SQLSERVER_USER - SQL Server のユーザー名
  • SQLSERVER_PASSWORD - SQL Server のパスワード
任意
  • SQLSERVER_HOST - サーバーのホスト名(デフォルト:localhost)
  • SQLSERVER_DATABASE - デフォルトのデータベース名
  • SQLSERVER_PORT - ポート番号(デフォルト:1433)
  • SQLSERVER_ENCRYPT - 暗号化を有効にする(デフォルト:true)
  • SQLSERVER_TRUST_CERT - サーバー証明書を信頼する(デフォルト:true)
  • SQLSERVER_CONNECTION_TIMEOUT - 接続タイムアウト(ミリ秒、デフォルト:30000)
  • SQLSERVER_REQUEST_TIMEOUT - リクエストタイムアウト(ミリ秒、デフォルト:60000)
  • SQLSERVER_MAX_ROWS - クエリごとの最大行数(デフォルト:1000)

使用方法

環境変数
export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"
サーバーの実行
npm start

インストール方法

方法 1:グローバルインストール(推奨)
npm install -g @bilims/mcp-sqlserver
方法 2:ローカルインストール
npm install @bilims/mcp-sqlserver
npx mcp-sqlserver
方法 3:npx で実行(インストール不要)
npx @bilims/mcp-sqlserver

統合例

Claude Desktop

Claude Desktop の設定(claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database"
      }
    }
  }
}
Claude Code CLI
# Set environment variables
export SQLSERVER_HOST="your-server"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"

# Use with Claude Code
claude mcp add sqlserver mcp-sqlserver
MCP 拡張機能を使った VSCode

VSCode 用の MCP 拡張機能をインストールし、サーバーの設定を追加します。

セキュリティ機能

クエリの検証
  • SELECT、WITH、SHOW、DESCRIBE、EXPLAIN 文のみを許可します
  • 危険なキーワード(INSERT、UPDATE、DELETE、DROP など)を包括的にブラックリスト化しています
  • SQL インジェクションのパターンを検出します
  • クエリを自動的にサニタイズします
接続のセキュリティ
  • TLS/SSL 暗号化がデフォルトで有効です
  • エンタープライズ環境向けのサーバー証明書の信頼オプション
  • タイムアウト制御機能を備えたコネクションプーリング
  • リクエストのタイムアウトを設定可能です
結果の制限
  • クエリごとの最大行数を設定可能です
  • SELECT クエリに TOP 句を自動挿入します
  • クエリの実行時間を追跡します
  • メモリ使用量を保護します

クエリの例

接続後は、MCP クライアントを通じてツールを使用できます。

// List all databases
await callTool("list_databases", {});

// List tables in a specific schema
await callTool("list_tables", { schema: "dbo" });

// Get table schema details
await callTool("describe_table", { 
  table_name: "Users", 
  schema: "dbo" 
});

// Execute a read-only query
await callTool("execute_query", { 
  query: "SELECT TOP 10 * FROM Users WHERE active = 1",
  limit: 10
});

// Get foreign key relationships
await callTool("get_foreign_keys", { 
  table_name: "Orders" 
});

開発

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

# Run linting
npm run lint

# Run tests
npm test

トラブルシューティング

接続の問題
  1. サーバーのホスト名とポートを確認してください
  2. 暗号化/証明書の設定が SQL Server の設定と一致しているか確認してください
  3. ユーザーに適切な読み取り権限があることを確認してください
  4. まず SQL Server Management Studio を使用して接続をテストしてください
権限の問題

ユーザーアカウントには、最低限次の権限が必要です。

  • データベースへの CONNECT 権限
  • クエリ対象のテーブル/ビューに対する SELECT 権限
  • メタデータクエリ用のシステムビューへのアクセス権限
一般的な SQL Server の構成
Azure SQL Database
export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"
自己署名証明書を使用するオンプレミスの SQL Server
export SQLSERVER_HOST="sql-server.company.com"
export SQLSERVER_ENCRYPT="true" 
export SQLSERVER_TRUST_CERT="true"

ライセンス

MIT

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

サポート

問題や質問については、次を確認してください。

  • 上記のトラブルシューティングセクションを確認する
  • SQL Server の接続に関するドキュメントを確認する
  • MCP クライアントとの互換性を確認する

シームレスな AI 統合を実現するため、Model Context Protocol SDK を使用して構築されています。

コメント

MCP は初めてですか?

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

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