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
필수 비밀 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필드는 무시됩니다.
설계상 읽기 전용
이 서버는 데이터를 삽입, 업데이트 또는 삭제할 수 없습니다. 두 가지 계층이 이를 강제합니다:
run_select도구는INSERT,UPDATE,DELETE,EXEC,MERGE,DROP,ALTER,SELECT INTO등을 포함하여 단일SELECT또는WITH(CTE) 문이 아닌 모든 것을 어휘적으로 거부합니다.다른 도구는 쓰기 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, 기본값. |
| 테이블의 인덱스(인덱스/열당 한 행). |
| 테이블의 나가는 외래 키. |
| 뷰(스키마별로 필터링 가능). |
| 뷰 소스 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.
Latest Blog Posts
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
