mssql-mcp
mssql-mcp
AWS Secrets Managerからツール呼び出し時に接続情報を取得する、読み取り専用のMicrosoft SQL Server MCPサーバーです。シークレットの参照先以外、ディスクや環境変数から読み取られるものはありません。
クロスプラットフォーム対応:純粋なJavaScriptで記述されたMCPサーバー(ネイティブ依存やODBC依存なし)であるため、npxを介してmacOS、Linux、Windows上で同一に動作します。
.claude.jsonでの設定
{
"mcpServers": {
"my-db": {
"command": "npx",
"args": ["-y", "@dhipskind253/mssql-mcp"],
"env": {
"AWS_ACCOUNT_ID": "123456789012",
"SECRET_NAME": "my-aws-secret",
"AWS_REGION": "us-east-1",
"TRUST_SERVER_CERTIFICATE": "false"
}
}
}
}環境変数 | 必須 | デフォルト | 説明 |
| はい | — | シークレットが存在するAWSアカウント。名前とリージョンと組み合わせて完全なARNになります。 |
| はい | — | Secrets Managerのシークレット名(ARNサフィックスは不要)。 |
| はい | — | シークレットが存在するAWSリージョン(例: |
| いいえ |
| SQL ServerへのTLS証明書検証をスキップします。 |
標準のAWS SDK環境変数(AWS_PROFILE、AWS_ACCESS_KEY_IDなど)は、デフォルトの認証情報プロバイダーチェーンを介して尊重されます。ほとんどのユーザーはaws sso loginを実行して最新の状態にするだけで十分です。
Related MCP server: MSSQL MCP Python Server
必要なシークレットJSON
シークレットの値は、少なくとも以下のフィールドを含むJSONドキュメントである必要があります:
{
"host": "myserver.database.windows.net",
"port": 1433,
"database": "mydb",
"username": "ro_user",
"password": "..."
}databaseは**dbname**として提供することも可能です。これはAWSが組み込みのRDS認証情報シークレットテンプレートで使用するフィールド名です。両方が存在する場合はdatabaseが優先されます。
オプションのフィールド(デフォルト値):
フィールド | デフォルト | 備考 |
|
| |
|
| サーバーへのTLS接続。 |
TLS証明書の信頼設定はシークレットからは読み取られません。代わりにMCPサーバーの
envブロックでTRUST_SERVER_CERTIFICATEを設定してください。シークレットJSON内のtrustServerCertificateフィールドは無視されます。
設計上の読み取り専用制限
このサーバーはデータの挿入、更新、削除を行うことはできません。以下の2つのレイヤーで強制されます:
run_selectツールは、単一のSELECTまたはWITH(CTE)ステートメント以外のすべて(INSERT、UPDATE、DELETE、EXEC、MERGE、DROP、ALTER、SELECT INTOなど)を字句解析レベルで拒否します。他のツールは書き込みSQLを発行しません。
get_procedure_definitionはプロシージャのソースを返しますが、プロシージャを実行することはありません。
注意: 字句解析によるチェックはUXのためのものであり、セキュリティ境界ではないことに留意してください。将来の安全のため、Secrets Managerに設定する認証情報は読み取り専用のデータベースログイン(
SELECTとVIEW DEFINITIONのみ許可されたもの)にすることを推奨します。そうすれば、誤った書き込み(または将来のバグ)はSQL Server自体によって拒否されます。
再起動なしでのAWS認証情報の更新
サーバーはデフォルトのAWS認証情報チェーンを使用するため、SSOセッションの期限が切れてもClaudeやMCPサーバーを再起動せずに復旧できます:
任意のターミナルで
aws sso loginを実行します。Claudeに**
refresh_secret**ツールを呼び出すよう依頼します。作業を続行します。
AWS認証が原因でツール呼び出しが失敗した場合、エラーメッセージにその旨が明示され、同じ手順を促されます。エラーには安定したプレフィックスが付けられます:
プレフィックス | 意味 |
| SSOセッションの期限切れ、または認証情報が利用不可。 |
| プリンシパルに |
| シークレット名/アカウント/リージョンの不一致。 |
| シークレットJSONのフィールド不足または形式不正。 |
| SQL Serverインスタンスに到達不可。 |
| SQL Serverがクエリ実行中にエラーを返した。 |
| 送信されたクエリが読み取り専用ルールに違反した。 |
ツール
ツール | 目的 |
| データベース内のユーザースキーマ。 |
| テーブル(スキーマによるフィルタリング可能)。 |
| カラム、型、NULL許容、ID、PK、デフォルト値。 |
| テーブルのインデックス(インデックス/カラムごとに1行)。 |
| テーブルからの外部キー。 |
| ビュー(スキーマによるフィルタリング可能)。 |
| ビューのソースSQL。 |
| ストアドプロシージャ(スキーマによるフィルタリング可能)。 |
| プロシージャのソースSQL(実行はしない)。 |
|
|
| 単一のSELECT/CTE。 |
| シークレットの再取得と再接続。 |
ローカル開発
npm install
npm run build
# point your .claude.json command at the local build:
# "command": "node",
# "args": ["/absolute/path/to/mssql-mcp/dist/index.js"]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
- AlicenseNot gradedqualityCmaintenanceRead-only SQL Server MCP server enabling safe database queries, table listing, and schema inspection with built-in security protections.MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for safely exposing SQL Server database capabilities to LLM clients, with read-only mode, security features, and observability.28MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Microsoft SQL Server enabling safe read-only queries, schema discovery, and natural-language query via LangChain.MIT
- AlicenseNot gradedqualityAmaintenanceSecurity-first, read-only MCP server for Microsoft SQL Server, enabling safe natural-language querying of databases.17MIT
Related MCP Connectors
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
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/dhipskind253/mssql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server