Skip to main content
Glama
mssql-mcp

mssql-mcp

by is-jvelez

mssql-mcp

Servidor MCP de solo lectura para explorar y analizar objetos de SQL Server (tablas, vistas, triggers, stored procedures) desde Claude Code.

Tools expuestas

Tool

Qué hace

list_tables

Lista tablas (filtro opcional por esquema / patrón de nombre)

get_table_definition

Columnas, tipos, PK, FK e índices de una tabla

list_views

Lista vistas

list_triggers

Lista triggers, tabla dueña y eventos que disparan

list_stored_procedures

Lista SPs

get_object_definition

Código T-SQL completo de un SP/vista/trigger + parámetros

get_object_dependencies

Objetos referenciados por un SP/vista/trigger (impacto de cambios)

run_select_query

Ejecuta un SELECT (bloquea DML/DDL/EXEC, tope de 500 filas)

Related MCP server: mcp-sqlserver-readonly

1. Crear un usuario SQL de solo lectura

No uses tu usuario de aplicación ni sa. Crea un login dedicado con permisos mínimos:

CREATE LOGIN mcp_readonly WITH PASSWORD = 'una_password_fuerte';
USE NombreBaseDatos;
CREATE USER mcp_readonly FOR LOGIN mcp_readonly;
ALTER ROLE db_datareader ADD MEMBER mcp_readonly;
GRANT VIEW DEFINITION TO mcp_readonly; -- necesario para leer el texto de SPs/vistas/triggers

Esto le permite leer datos y definiciones, pero no puede insertar, modificar, borrar ni ejecutar procedimientos. La capa de validación en db.ts es una segunda barrera, no la principal — la principal es este usuario.

2. Instalar y compilar

cd mssql-mcp
npm install
cp .env.example .env
# edita .env con tus datos de conexión (server, database, user, password)
npm run build

3. Probar en local (opcional)

npm start

Deberías ver mssql-mcp: servidor MCP corriendo por stdio en stderr. Ctrl+C para salir.

4. Registrar el servidor en Claude Code

Desde la raíz de tu proyecto (o global con -g):

claude mcp add mssql-mcp -- node /ruta/absoluta/mssql-mcp/dist/index.js

Verifica que quedó registrado:

claude mcp list

Las variables de entorno del .env las carga el propio proceso (via dotenv), así que no necesitas pasarlas en el comando claude mcp add. Si prefieres no usar .env, puedes pasarlas inline:

claude mcp add mssql-mcp \
  -e DB_SERVER=127.0.0.1 -e DB_DATABASE=NombreBD \
  -e DB_USER=mcp_readonly -e DB_PASSWORD=xxx \
  -- node /ruta/absoluta/mssql-mcp/dist/index.js

5. Flujo típico para analizar un SP

En Claude Code, dentro de tu proyecto:

Usa mssql-mcp para traer la definición del SP dbo.sp_ActualizarSaldo,
revisa sus dependencias y dime qué ajustes de performance o buenas
prácticas recomendarías (índices, SARGability, manejo de transacciones,
try/catch, etc.)

Claude Code llamará get_object_definition, opcionalmente get_object_dependencies y get_table_definition de las tablas involucradas, y con eso arma el análisis. Como tiene también run_select_query, puede validar hipótesis (ej. cardinalidad de una tabla, existencia de un índice) contra la base real.

Seguridad

  • El usuario SQL debe ser de solo lectura (paso 1) — es la protección real.

  • run_select_query rechaza cualquier cosa que no empiece con SELECT/WITH y bloquea palabras clave de escritura/DDL como segunda barrera.

  • No apuntes este MCP a una base de producción con datos sensibles sin revisar antes qué columnas expone db_datareader (considera vistas o máscaras si hay PII).

  • .env está en .gitignore — nunca subas credenciales al repo.

Available Tools

8 tools
get_object_definitionB

Devuelve el código T-SQL completo de un stored procedure, vista o trigger, y sus parámetros si es un SP. Úsala para analizar un SP y proponer ajustes.

Inputs: name (required), schema.

get_object_dependenciesA

Lista los objetos (tablas, vistas, otros SPs) referenciados por un SP, vista o trigger — útil para entender el impacto antes de modificarlo.

Inputs: name (required), schema.

get_table_definitionB

Devuelve columnas, tipos, nulabilidad, primary key, foreign keys e índices de una tabla.

Inputs: table (required), schema.

list_stored_proceduresC

Lista los stored procedures de la base de datos.

Inputs: schema, namePattern.

list_tablesB

Lista las tablas de la base de datos, con su esquema y cantidad aproximada de filas. Permite filtrar por patrón de nombre.

Inputs: schema, namePattern.

list_triggersB

Lista los triggers, indicando la tabla a la que pertenecen y los eventos que disparan.

Inputs: table, schema.

list_viewsC

Lista las vistas de la base de datos.

Inputs: schema, namePattern.

run_select_queryB

Ejecuta una consulta SELECT de solo lectura (máximo 500 filas). No se permite INSERT/UPDATE/DELETE/DDL/EXEC.

Inputs: query (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct resource type (tables, views, triggers, SPs) or action (list, get definition, get dependencies, run query). get_table_definition and get_object_definition are separated clearly for tables vs. code objects. No overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern: list_* for enumerating objects, get_* for retrieving definitions/dependencies, and run_select_query for queries. The naming is predictable and uniform.

    Tool Count5/5

    With 8 tools, the server is well-scoped for its purpose: browsing database metadata and running read-only queries. Each tool earns its place and the count is neither too thin nor overwhelming.

    Completeness5/5

    The tool set covers the full read-only lifecycle: listing all object types, retrieving table schemas and code definitions, analyzing dependencies, and executing SELECT queries. There are no obvious gaps for the stated domain of database exploration.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A read-only MCP server for SQL Server database introspection that enables Claude to explore and query databases via tools like listing objects and executing SELECT queries.
      20
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Read-only SQL Server MCP server enabling safe database queries, table listing, and schema inspection with built-in security protections.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for connecting to SQL Server in readonly mode. Allows any MCP client to explore the schema and run SELECT queries against a SQL Server database.
      6
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A read-only MCP server for browsing and querying SQL Server databases, providing tools to list schemas, tables, describe columns, and execute safe SELECT queries with validated parameters.
      15
      ISC