mcp-mssql mcp

v1.1.0 · MCP Tool · database · registry.pascalai.org

Microsoft SQL Server via FireDAC. Operations: query (SELECT → rows JSON), execute (INSERT/UPDATE/DELETE/DDL), execute_tx (multiple statements in a transaction), list_tables, describe (table columns), list_databases. Supports SQL Server auth and Windows auth (omit username/password).

mssqlsqlservermicrosoftdatabasesqlfiredact-sql

Input Parameters

ParameterTypeDescription
operationrequired string Operation to perform. One of: query, execute, execute_tx, list_tables, describe, list_databases.
hostrequired string SQL Server host or IP address (e.g. 'localhost', '192.168.1.10', 'myserver.database.windows.net').
portoptional integer SQL Server port. Default: 1433. Default: 1433.
databaserequired string Database name (e.g. 'Northwind', 'AdventureWorks').
usernameoptional string SQL Server login username. Omit for Windows authentication.
passwordoptional string SQL Server login password. Omit for Windows authentication.
sQLoptional string SQL statement to execute. Required for query and execute operations.
sQLListoptional string JSON array string of SQL statements for execute_tx (e.g. '["INSERT ...","UPDATE ..."]'). All executed in a single transaction.
tableoptional string Table name. Required for describe operation.
schemaoptional string Schema/owner filter (e.g. 'dbo', 'sales'). Optional filter for list_tables and describe.
maxRowsoptional integer Maximum rows to return for query. Default: 100. Default: 100.
timeoutoptional integer Query timeout in seconds. Default: 30. Default: 30.

Output Fields

FieldTypeDescription
ok boolean
rows array[object]
affected integer
tables array[object]
columns array[object]
databases array[string]
error string

Examples

Run a SELECT query

// Input
{
  "operation": "query",
  "host": "localhost",
  "database": "Northwind",
  "username": "sa",
  "password": "secret",
  "sQL": "SELECT TOP 10 CustomerID, CompanyName FROM Customers ORDER BY CompanyName",
  "maxRows": 10
}

// Output
{
  "ok": true,
  "rows": [
    {
      "CustomerID": "ALFKI",
      "CompanyName": "Alfreds Futterkiste"
    }
  ]
}

Insert a record

// Input
{
  "operation": "execute",
  "host": "localhost",
  "database": "Northwind",
  "username": "sa",
  "password": "secret",
  "sQL": "INSERT INTO Customers (CustomerID, CompanyName) VALUES ('TEST1', 'Test Company')"
}

// Output
{
  "ok": true,
  "affected": 1
}

Execute multiple statements in a transaction

// Input
{
  "operation": "execute_tx",
  "host": "localhost",
  "database": "Northwind",
  "username": "sa",
  "password": "secret",
  "sQLList": "[\"UPDATE Orders SET Freight=10 WHERE OrderID=10248\",\"INSERT INTO OrderDetails VALUES (10248,1,10,1,0)\"]"
}

// Output
{
  "ok": true,
  "affected": 2
}

List tables in a schema

// Input
{
  "operation": "list_tables",
  "host": "localhost",
  "database": "AdventureWorks",
  "username": "sa",
  "password": "secret",
  "schema": "Sales"
}

// Output
{
  "ok": true,
  "tables": [
    {
      "TABLE_NAME": "SalesOrderHeader",
      "TABLE_SCHEMA": "Sales"
    }
  ]
}

Describe table columns

// Input
{
  "operation": "describe",
  "host": "localhost",
  "database": "Northwind",
  "username": "sa",
  "password": "secret",
  "table": "Orders",
  "schema": "dbo"
}

// Output
{
  "ok": true,
  "columns": [
    {
      "COLUMN_NAME": "OrderID",
      "DATA_TYPE": "int"
    }
  ]
}

List available databases

// Input
{
  "operation": "list_databases",
  "host": "localhost",
  "database": "master",
  "username": "sa",
  "password": "secret"
}

// Output
{
  "ok": true,
  "databases": [
    "Northwind",
    "AdventureWorks",
    "tempdb"
  ]
}

Install & Discovery

Install

ppm install mcp-mssql

Get JSON Schema

GET /v1/packages/mcp-mssql/1.1.0/schema

Discover by keyword

GET /v1/mcp/discover?q=mssql
Discovery hint: Install with ppm install mcp-mssql or invoke remotely via POST /v1/invoke/mcp-mssql on the MCP Service.