MSSQL MCP サーバー
Microsoft SQL Server データベースに接続するためのモデルコンテキストプロトコル (MCP) サーバー。このサーバーは、SQL クエリの実行とデータベース接続の管理のためのツールを提供します。
**バージョンに関するお知らせ:**このプロジェクトは、Model Context Protocol SDK 1.9.0を使用するようにアップグレードされました。詳細はUPGRADE.mdをご覧ください。
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の MSSQL MCP Server を自動的にインストールするには:
npx -y @smithery/cli install @c0h1b4/mssql-mcp-server --client claude
手動インストール
npm install mssql-mcp-server
使用法
MCP 設定構成ファイルにサーバーを追加します。
{
"mcpServers": {
"mssql": {
"command": "mssql-mcp-server",
"env": {
"MSSQL_CONNECTION_STRING": "Server=localhost;Database=master;User Id=sa;Password=yourpassword;",
// Or individual connection parameters:
"MSSQL_HOST": "localhost",
"MSSQL_PORT": "1433",
"MSSQL_DATABASE": "master",
"MSSQL_USER": "sa",
"MSSQL_PASSWORD": "yourpassword",
"MSSQL_ENCRYPT": "false",
"MSSQL_TRUST_SERVER_CERTIFICATE": "true"
}
}
}
}
ツール
クエリ
MSSQL データベースで SQL クエリを実行します。
connectionString
(文字列、オプション): 完全な接続文字列 (個々のパラメータの代替)host
(文字列、オプション): データベースサーバーのホスト名port
(数値、オプション): データベースサーバのポート (デフォルト: 1433)database
(文字列、オプション): データベース名 (デフォルト: master)username
(文字列、オプション): データベースのユーザー名password
(文字列、オプション): データベースのパスワードquery
(文字列、必須): 実行するSQLクエリencrypt
(ブール値、オプション): 暗号化を有効にする (デフォルト: false)trustServerCertificate
(ブール値、オプション): 信頼サーバー証明書 (デフォルト: true)
connectionString
または ( host
+ username
+ password
) のいずれかを指定する必要があります。
例
const result = await use_mcp_tool({
server_name: 'mssql',
tool_name: 'query',
arguments: {
host: 'localhost',
username: 'sa',
password: 'yourpassword',
query: 'SELECT * FROM Users',
},
});
サーバーの実行
地域開発
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Run the built server
npm start
Dockerの使用
# Build and start services (SQL Server + MCP server)
docker-compose up
# Or just build the Docker image
docker build -t mssql-mcp-server .
テスト
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
安全
サーバーには、危険な SQL 操作に対する安全策が組み込まれています。
- DROP、TRUNCATE、ALTER、CREATE、EXEC などの潜在的に有害なコマンドをブロックします。
- すべての入力パラメータとデータベース名を検証します
- クエリの長さとタイムアウトに適切な制限を設定します
- パフォーマンスとセキュリティを向上させるために接続プールを使用します
ライセンス
マサチューセッツ工科大学