MCP server intelligence profile

Microsoft SQL Server MCP Server

Enables interaction with Microsoft SQL Server databases through T-SQL query execution, table exploration, and schema inspection. Supports configurable write protection and row limiting for safe database operations

Local OnlyAdrianCY
Awaiting current scanNpm · 2.3.6

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
14Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install mssql-mcp from npm

Version 2.3.6 declares 1 executable entrypoint.

npm install --save-exact mssql-mcp@2.3.6
npx -y -p mssql-mcp@2.3.6 mssql-mcp
MCP client configuration example
{
  "mcpServers": {
    "mssql-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "mssql-mcp@2.3.6",
        "mssql-mcp"
      ]
    }
  }
}

Identity

Canonical slugmicrosoft-sql-server-mcp-29699a33DeploymentLocal Only
Canonical packagenpm:mssql-mcpRepositoryAdrianCY/mssql-mcp
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmmssql-mcp2.3.61Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmmssql-mcp2.3.6CurrentSep 5, 202614 toolsSucceeded · 3 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
mssql-mcp-serverServer-reported name
2Capability groups
Aug 17, 2026Observed

Tools 14

ToolCategoryAnnotationsRisk
mssql_connect_databaseConnects to MS SQL Server using environment variables (DB_SERVER, DB_DATABASE, DB_USER, DB_PASSWORD, DB_PORT, DB_ENCRYPT, DB_TRUST_SERVER_CERTIFICATE). No credentials accepted as parameters — all connection settings come from the server environment only. Idempotent: calling again reconnects.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "readOnlyHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
WritesIdempotentClosed world
mssql_connection_statusReturns the current connection status, server address, database name, and connection pool metrics. Read-only. Safe to call at any time.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_describe_tableDeprecated alias for mssql_describe_table_columns.
Input schema
{
  "type": "object",
  "properties": {
    "tableName": {
      "type": "string",
      "minLength": 1
    },
    "schemaName": {
      "type": "string",
      "default": "dbo"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "tableName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_describe_table_columnsReturns column definitions for a table: name, data type, length, nullability, default, and ordinal position. Read-only. Uses parameterized queries to prevent injection.
Input schema
{
  "type": "object",
  "properties": {
    "tableName": {
      "type": "string",
      "minLength": 1,
      "description": "Table name"
    },
    "schemaName": {
      "type": "string",
      "default": "dbo",
      "description": "Schema name (default: dbo)"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json",
      "description": "Output format: 'json' for structured data, 'markdown' for human-readable table"
    }
  },
  "required": [
    "tableName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_disconnect_databaseCloses the current database connection and releases the connection pool. Safe to call even if not connected. Idempotent.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "readOnlyHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
WritesIdempotentClosed world
mssql_execute_procedureDeprecated alias for mssql_execute_stored_procedure.
Input schema
{
  "type": "object",
  "properties": {
    "procedureName": {
      "type": "string",
      "description": "Name of the stored procedure"
    },
    "schemaName": {
      "type": "string",
      "default": "dbo"
    },
    "parameters": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "procedureName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-idempotentOpen world
mssql_execute_queryDeprecated alias for mssql_run_sql_query. Use mssql_run_sql_query instead. ⚠️ This tool can read AND modify data.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "SQL query to execute"
    },
    "parameters": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      },
      "description": "Query parameters"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-idempotentOpen world
mssql_execute_stored_procedureExecutes a stored procedure by name. ⚠️ May modify data — use only when an action is intended. Schema and procedure names are validated as safe identifiers. Pass all value parameters via 'parameters'.
Input schema
{
  "type": "object",
  "properties": {
    "procedureName": {
      "type": "string",
      "minLength": 1,
      "description": "Stored procedure name"
    },
    "schemaName": {
      "type": "string",
      "default": "dbo",
      "description": "Schema name (default: dbo)"
    },
    "parameters": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      },
      "description": "Procedure input parameters (key-value pairs)"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json",
      "description": "Output format: 'json' for structured data, 'markdown' for human-readable tables"
    }
  },
  "required": [
    "procedureName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-idempotentOpen world
mssql_get_schemaDeprecated alias for mssql_list_schema_objects. Use mssql_list_schema_objects instead.
Input schema
{
  "type": "object",
  "properties": {
    "objectType": {
      "type": "string",
      "enum": [
        "tables",
        "views",
        "procedures",
        "functions",
        "all"
      ],
      "default": "tables"
    },
    "schemaName": {
      "type": "string"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_get_table_dataDeprecated alias for mssql_read_table_rows. Use mssql_read_table_rows instead. ⚠️ whereClause must use @paramName placeholders for all values.
Input schema
{
  "type": "object",
  "properties": {
    "tableName": {
      "type": "string",
      "minLength": 1,
      "pattern": "^[a-zA-Z_][a-zA-Z0-9_$#@]{0,127}$"
    },
    "schemaName": {
      "type": "string",
      "pattern": "^[a-zA-Z_][a-zA-Z0-9_$#@]{0,127}$",
      "default": "dbo"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "whereClause": {
      "type": "string"
    },
    "orderBy": {
      "type": "string"
    },
    "parameters": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "tableName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_list_databasesLists all databases visible on the connected SQL Server instance with state and recovery information. Read-only. Supports pagination.
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 20,
      "description": "Max databases (default 20)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "description": "Skip N databases"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json",
      "description": "Output format: 'json' for structured data, 'markdown' for human-readable table"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_list_schema_objectsLists tables, views, stored procedures, or functions in the connected database. Read-only. Supports filtering by schema name and pagination. Example: objectType='tables', schemaName='dbo', limit=20
Input schema
{
  "type": "object",
  "properties": {
    "objectType": {
      "type": "string",
      "enum": [
        "tables",
        "views",
        "procedures",
        "functions",
        "all"
      ],
      "default": "tables",
      "description": "Type of objects to list (default: tables)"
    },
    "schemaName": {
      "type": "string",
      "description": "Filter to a specific schema (e.g. 'dbo')"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 20,
      "description": "Max objects (default 20)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "description": "Skip N objects"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json",
      "description": "Output format: 'json' for structured data, 'markdown' for human-readable table"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_read_table_rowsReturns rows from a table with optional column projection, WHERE filtering, ORDER BY, and pagination. Read-only. Table and schema names are validated as safe identifiers. WHERE clause values MUST be passed via 'parameters' using @paramName placeholders. Pagination: limit (1-200, default 20) and offset. Example: tableName='Orders', schemaName='dbo', columns=['OrderId','Total'], limit=50
Input schema
{
  "type": "object",
  "properties": {
    "tableName": {
      "type": "string",
      "minLength": 1,
      "pattern": "^[a-zA-Z_][a-zA-Z0-9_$#@]{0,127}$",
      "description": "Table name"
    },
    "schemaName": {
      "type": "string",
      "pattern": "^[a-zA-Z_][a-zA-Z0-9_$#@]{0,127}$",
      "default": "dbo",
      "description": "Schema name (default: dbo)"
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-zA-Z_][a-zA-Z0-9_$#@]{0,127}$"
      },
      "description": "Columns to return (default: all)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 20,
      "description": "Max rows (1-200)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "description": "Rows to skip"
    },
    "whereClause": {
      "type": "string",
      "description": "WHERE predicate without WHERE keyword. Use @paramName for all values. Example: 'Status = @status AND Amount > @minAmount'"
    },
    "orderBy": {
      "type": "string",
      "description": "ORDER BY expression. Example: 'CreatedAt DESC, Id ASC'"
    },
    "parameters": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      },
      "description": "Values for WHERE clause @paramName placeholders"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json",
      "description": "Output format: 'json' for structured data, 'markdown' for human-readable table"
    }
  },
  "required": [
    "tableName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "idempotentHint": true,
  "openWorldHint": false
}
Read onlyIdempotentClosed world
mssql_run_sql_queryExecutes an arbitrary SQL statement against the connected database. ⚠️ WARNING: This tool can read AND modify data (INSERT, UPDATE, DELETE, DDL). Always prefer parameterized inputs via the 'parameters' field — never embed user-supplied values directly in the query string. Example: query='SELECT * FROM dbo.Users WHERE Id = @id', parameters={id: 42}
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "SQL statement to execute"
    },
    "parameters": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      },
      "description": "Named parameters referenced in the query via @paramName"
    },
    "response_format": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json",
      "description": "Output format: 'json' for structured data, 'markdown' for human-readable table"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
WritesNon-idempotentOpen world

Resources 3

  • connection-infomssql://connection/info

    Current MSSQL connection status and configuration (no credentials exposed).

  • databasesmssql://databases

    Snapshot list of all databases on the SQL Server instance.

  • schemasmssql://schemas

    Snapshot list of all schemas in the current database.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Microsoft SQL Server MCP Server questions

How do I install Microsoft SQL Server MCP Server?

Install the selected package version with: npm install --save-exact mssql-mcp@2.3.6

What tools does Microsoft SQL Server MCP Server provide?

Microsoft SQL Server MCP Server exposed 14 tools during independent protocol observation, including mssql_connect_database, mssql_connection_status, mssql_describe_table, mssql_describe_table_columns, mssql_disconnect_database, mssql_execute_procedure, mssql_execute_query, mssql_execute_stored_procedure, and others.

Is Microsoft SQL Server MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Microsoft & Azure intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Database MCP ServersOfficial vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.