mssql-mcp
Un servidor MCP de solo lectura para Microsoft SQL Server que utiliza los detalles de conexión de AWS Secrets Manager en el momento de la llamada a la herramienta; no se lee nada del disco ni de las variables de entorno, excepto la referencia al secreto en sí.
Multiplataforma: es un servidor MCP de JavaScript puro (sin dependencias nativas ni ODBC), por lo que se ejecuta de forma idéntica en macOS, Linux y Windows a través de npx.
Configuración en .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"
}
}
}
}Variable de entorno | Requerido | Predeterminado | Descripción |
| sí | — | La cuenta de AWS donde reside el secreto. Se combina con el nombre y la región para formar un ARN completo. |
| sí | — | El nombre del secreto en Secrets Manager (no se necesita sufijo ARN). |
| sí | — | Región de AWS donde se encuentra el secreto (p. ej., |
| no |
| Omite la validación del certificado TLS del servidor SQL. Acepta |
Las variables de entorno estándar del SDK de AWS (AWS_PROFILE, AWS_ACCESS_KEY_ID, etc.) se respetan a través de la cadena de proveedores de credenciales predeterminada. La mayoría de los usuarios solo necesitan ejecutar aws sso login para estar al día.
Related MCP server: mssql-mcp
JSON de secreto requerido
El valor del secreto debe ser un documento JSON con al menos estos campos:
{
"host": "myserver.database.windows.net",
"port": 1433,
"database": "mydb",
"username": "ro_user",
"password": "..."
}database también puede proporcionarse como dbname, el nombre de campo que AWS utiliza en su plantilla de secreto de credenciales RDS integrada. Si ambos están presentes, database tiene prioridad.
Campos opcionales (se muestran los valores predeterminados):
Campo | Predeterminado | Notas |
|
| |
|
| TLS al servidor. |
La confianza en el certificado TLS no se lee del secreto; en su lugar, configure
TRUST_SERVER_CERTIFICATEen el bloqueenvdel servidor MCP. Cualquier campotrustServerCertificateen el JSON del secreto será ignorado.
Solo lectura por diseño
Este servidor no puede insertar, actualizar ni eliminar datos. Dos capas lo hacen cumplir:
La herramienta
run_selectrechaza léxicamente cualquier cosa que no sea una única sentenciaSELECToWITH(CTE), incluyendoINSERT,UPDATE,DELETE,EXEC,MERGE,DROP,ALTER,SELECT INTO, etc.Ninguna otra herramienta emite SQL de escritura.
get_procedure_definitiondevuelve el código fuente del procedimiento; no ejecuta procedimientos.
Nota de cortesía: trate la comprobación léxica como una mejora de UX, no como un límite de seguridad. Como cortesía hacia su yo futuro, configure las credenciales que coloque en Secrets Manager para que sean un inicio de sesión de base de datos de solo lectura, uno con solo
SELECTyVIEW DEFINITION. De esa manera, una escritura accidental (o un error futuro aquí) será rechazada por el propio SQL Server.
Actualización de credenciales de AWS sin reiniciar
Debido a que el servidor utiliza la cadena de credenciales de AWS predeterminada, una sesión SSO caducada se puede recuperar sin reiniciar Claude o el servidor MCP:
Ejecute
aws sso loginen cualquier terminal.Pídale a Claude que llame a la herramienta
refresh_secret.Continúe trabajando.
Si una llamada a la herramienta falla debido a la autenticación de AWS, el mensaje de error le indicará exactamente eso y le sugerirá el mismo flujo. Los errores están etiquetados con prefijos estables:
Prefijo | Significado |
| Sesión SSO caducada o sin credenciales disponibles. |
| El principal carece de |
| Desajuste de nombre de secreto / cuenta / región. |
| El JSON del secreto falta campos o está mal formado. |
| No se pudo contactar con la instancia de SQL Server. |
| SQL Server devolvió un error al ejecutar la consulta. |
| La consulta enviada violó las reglas de solo lectura. |
Herramientas
Herramienta | Propósito |
| Esquemas de usuario en la base de datos. |
| Tablas, opcionalmente filtradas por esquema. |
| Columnas, tipos, nulabilidad, identidad, PK, valores predeterminados. |
| Índices en una tabla (una fila por índice/columna). |
| FKs salientes de una tabla. |
| Vistas, opcionalmente filtradas por esquema. |
| SQL de origen de la vista. |
| Procedimientos almacenados, opcionalmente filtrados por esquema. |
| SQL de origen del procedimiento (no se ejecuta). |
|
|
| SELECT/CTE único, limitado a |
| Volver a obtener el secreto y reconectar. |
Desarrollo local
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
