mcp-sqlserver
MCP SQL Server
Microsoft SQL Server用の読み取り専用Model Context Protocol(MCP)サーバー。AIエージェントがSQL Serverデータベースを安全に探索・クエリできるようにします。
クイックスタート
ステップ1:パッケージをインストールする
# Global installation (recommended)
npm install -g @bilims/mcp-sqlserver
# Verify installation
mcp-sqlserver --versionステップ2:SQL Server接続を設定する
SQL Serverの種類を選択し、以下の設定に従ってください:
Azure SQL
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に追加する
Claude Desktopの設定ファイルを見つける:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
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"
}
}
}
}Claude Desktopを再起動する
ステップ5:探索を始める!
Claude Desktopで以下のコマンドを試してみてください:
"SQL Server接続をテストして""サーバー上のすべてのデータベースを一覧表示して""[データベース名]のテーブルを表示して""Usersテーブルの構造を説明して""外部キーの関係を表示して"
Related MCP server: SQL Server MCP
機能
🔒 読み取り専用操作:包括的なセキュリティ検証により、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-sqlserverVSCodeとMCP拡張機能
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トラブルシューティング
接続の問題
サーバーのホスト名とポートを確認する
暗号化/証明書の設定がSQL Serverの構成と一致しているか確認する
ユーザーに適切な読み取り権限があることを確認する
まずSQL Server Management Studioで接続をテストする
権限の問題
ユーザーアカウントには最低限以下が必要です:
データベースへの
CONNECT権限クエリ対象のテーブル/ビューに対する
SELECT権限メタデータクエリのためのシステムビューへのアクセス
一般的なSQL Server構成
Azure SQL
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
貢献
リポジトリをフォークする
フィーチャーブランチを作成する
変更を加える
該当する場合はテストを追加する
プルリクエストを送信する
サポート
問題や質問がある場合:
上記のトラブルシューティングセクションを確認する
SQL Serverの接続ドキュメントを参照する
MCPクライアントの互換性を確認する
シームレスなAI統合のためのModel Context Protocol SDKで構築されています。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceA read-only MCP server for MS SQL Server, written in Python. Lets AI agents query your database safely — no writes, no stored procedures, no shell access.1
- AlicenseBqualityDmaintenanceAn MCP server that connects AI assistants to Microsoft SQL Server databases, enabling schema exploration and read-only queries safely.49234MIT
- AlicenseNot gradedqualityCmaintenanceRead-only SQL Server MCP server enabling safe database queries, table listing, and schema inspection with built-in security protections.MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for exploring on-premises, multi-instance Microsoft SQL Server estates from AI clients, with read-only enforcement and Windows authentication support.Apache 2.0
Related MCP Connectors
Official Microsoft MCP Server to query Microsoft Entra data using natural language
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kyle66889/mcp-sqlserver'
If you have feedback or need assistance with the MCP directory API, please join our Discord server