@bilims/mcp-sqlserver

中文文档
2.0.3发布于 2025/10/09MITTypeScriptES Module近 30 天下载 4134

A read-only Model Context Protocol (MCP) server for Microsoft SQL Server that enables AI agents to safely explore and query SQL Server databases

原始使用文档
文档目录44 节
  1. Quick Start
  2. Step 1: Install the Package
  3. Step 2: Configure Your SQL Server Connection
  4. Step 3: Test the Connection
  5. Step 4: Add to Claude Desktop
  6. Step 5: Start Exploring!
  7. Features
  8. Available Tools
  9. Schema Discovery
  10. Relationship Analysis
  11. Data Exploration
  12. Common Commands for Claude Desktop
  13. Getting Started Commands
  14. Database Exploration
  15. Advanced Analysis
  16. Custom Queries
  17. Installation
  18. Configuration
  19. Required
  20. Optional
  21. Usage
  22. Environment Variables
  23. Running the Server
  24. Installation Options
  25. Option 1: Global Installation (Recommended)
  26. Option 2: Local Installation
  27. Option 3: Run with npx (No Installation)
  28. Integration Examples
  29. Claude Desktop
  30. Claude Code CLI
  31. VSCode with MCP Extension
  32. Security Features
  33. Query Validation
  34. Connection Security
  35. Result Limits
  36. Example Queries
  37. Development
  38. Troubleshooting
  39. Connection Issues
  40. Permission Issues
  41. Common SQL Server Configurations
  42. License
  43. Contributing
  44. Support

MCP SQL Server

A read-only Model Context Protocol (MCP) server for Microsoft SQL Server that enables AI agents to safely explore and query SQL Server databases.

Quick Start

Step 1: Install the Package

# Global installation (recommended)
npm install -g @bilims/mcp-sqlserver

# Verify installation
mcp-sqlserver --version

Step 2: Configure Your SQL Server Connection

Choose your SQL Server type and follow the configuration:

Azure SQL Database

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"

On-Premises SQL Server

export SQLSERVER_HOST="your-sql-server.company.com"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"  # For self-signed certificates

Local SQL Server Express

export SQLSERVER_HOST="localhost\\SQLEXPRESS"
export SQLSERVER_USER="sa"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="master"
export SQLSERVER_ENCRYPT="false"
export SQLSERVER_TRUST_CERT="true"

Step 3: Test the Connection

# Test your configuration
mcp-sqlserver --help

# Quick connection test (press Ctrl+C to exit)
mcp-sqlserver

Step 4: Add to Claude Desktop

  1. Find your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the MCP server configuration:

{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database",
        "SQLSERVER_ENCRYPT": "true",
        "SQLSERVER_TRUST_CERT": "false"
      }
    }
  }
}
  1. Restart Claude Desktop

Step 5: Start Exploring!

Try these commands in Claude Desktop:

  • "Test the SQL Server connection"
  • "List all databases on the server"
  • "Show me the tables in [database name]"
  • "Describe the structure of the Users table"
  • "Show me foreign key relationships"

Features

  • 🔒 Read-only operations: Only SELECT queries allowed, with comprehensive security validation
  • 🗄️ Schema discovery: Explore databases, tables, views, relationships, and metadata
  • 📊 Data exploration: Execute safe queries with built-in limits and timeouts
  • 🔐 Enterprise-ready: Encrypted connections with certificate trust for production environments
  • 🛡️ Security-first: Query validation, SQL injection protection, and access controls

Available Tools

Schema Discovery

  • list_databases - List all databases on the SQL Server instance
  • list_tables - List tables in a database or schema
  • list_views - List views in a database or schema
  • describe_table - Get detailed table schema including columns, data types, and constraints

Relationship Analysis

  • get_foreign_keys - Get foreign key relationships for tables
  • get_table_stats - Get table statistics including row counts and size information

Data Exploration

  • execute_query - Execute read-only SELECT queries with safety validation
  • get_server_info - Get SQL Server version, edition, and configuration details

Common Commands for Claude Desktop

Once your MCP server is configured, try these natural language commands:

Getting Started Commands

"Test the SQL Server connection"
"Show me server information"
"List all databases on this server"
"What tables are in the [database name] database?"

Database Exploration

"Describe the structure of the Users table"
"Show me foreign key relationships in this database"
"What are the largest tables by row count?"
"Give me a sample of data from the Orders table"

Advanced Analysis

"Help me understand the relationship between Orders and Customers"
"Show me all lookup tables in this database"
"What columns contain date/time information?"
"Find tables that might contain user authentication data"

Custom Queries

"Run this query: SELECT TOP 10 * FROM Products WHERE Price > 100"
"Show me all customers created in the last 30 days"
"What are the different product categories in the database?"

Installation

npm install
npm run build

Configuration

The server is configured using environment variables:

Required

  • SQLSERVER_USER - SQL Server username
  • SQLSERVER_PASSWORD - SQL Server password

Optional

  • SQLSERVER_HOST - Server hostname (default: localhost)
  • SQLSERVER_DATABASE - Default database name
  • SQLSERVER_PORT - Port number (default: 1433)
  • SQLSERVER_ENCRYPT - Enable encryption (default: true)
  • SQLSERVER_TRUST_CERT - Trust server certificate (default: true)
  • SQLSERVER_CONNECTION_TIMEOUT - Connection timeout in ms (default: 30000)
  • SQLSERVER_REQUEST_TIMEOUT - Request timeout in ms (default: 60000)
  • SQLSERVER_MAX_ROWS - Maximum rows per query (default: 1000)

Usage

Environment Variables

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"

Running the Server

npm start

Installation Options

npm install -g @bilims/mcp-sqlserver

Option 2: Local Installation

npm install @bilims/mcp-sqlserver
npx mcp-sqlserver

Option 3: Run with npx (No Installation)

npx @bilims/mcp-sqlserver

Integration Examples

Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database"
      }
    }
  }
}

Claude Code CLI

# Set environment variables
export SQLSERVER_HOST="your-server"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"

# Use with Claude Code
claude mcp add sqlserver mcp-sqlserver

VSCode with MCP Extension

Install the MCP extension for VSCode and add the server configuration.

Security Features

Query Validation

  • Only SELECT, WITH, SHOW, DESCRIBE, and EXPLAIN statements allowed
  • Comprehensive blacklist of dangerous keywords (INSERT, UPDATE, DELETE, DROP, etc.)
  • SQL injection pattern detection
  • Automatic query sanitization

Connection Security

  • TLS/SSL encryption enabled by default
  • Server certificate trust options for enterprise environments
  • Connection pooling with timeout controls
  • Configurable request timeouts

Result Limits

  • Maximum row limits per query (configurable)
  • Automatic TOP clause injection for SELECT queries
  • Query execution time tracking
  • Memory usage protection

Example Queries

Once connected, you can use the tools through your MCP client:

// List all databases
await callTool("list_databases", {});

// List tables in a specific schema
await callTool("list_tables", { schema: "dbo" });

// Get table schema details
await callTool("describe_table", { 
  table_name: "Users", 
  schema: "dbo" 
});

// Execute a read-only query
await callTool("execute_query", { 
  query: "SELECT TOP 10 * FROM Users WHERE active = 1",
  limit: 10
});

// Get foreign key relationships
await callTool("get_foreign_keys", { 
  table_name: "Orders" 
});

Development

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

# Run linting
npm run lint

# Run tests
npm test

Troubleshooting

Connection Issues

  1. Verify server hostname and port
  2. Check if encryption/certificate settings match your SQL Server configuration
  3. Ensure user has appropriate read permissions
  4. Test connection using SQL Server Management Studio first

Permission Issues

The user account needs at minimum:

  • CONNECT permission to the database
  • SELECT permission on tables/views you want to query
  • Access to system views for metadata queries

Common SQL Server Configurations

Azure SQL Database

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"

On-premises SQL Server with self-signed certificates

export SQLSERVER_HOST="sql-server.company.com"
export SQLSERVER_ENCRYPT="true" 
export SQLSERVER_TRUST_CERT="true"

License

MIT

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Support

For issues and questions:

  • Check the troubleshooting section above
  • Review SQL Server connection documentation
  • Ensure MCP client compatibility

Built with the Model Context Protocol SDK for seamless AI integration.

版本与发布记录

@bilims/mcp-sqlserver 共发布 18 个版本,首次发布于 2025/07/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.3latest2025/10/091.1 年前
2.0.12025/10/091.1 年前
2.0.02025/10/091.1 年前
1.1.142025/07/301.3 年前
1.1.132025/07/301.3 年前
1.1.122025/07/301.3 年前

关于 @bilims/mcp-sqlserver 的常见问题

@bilims/mcp-sqlserver 是什么?

A read-only Model Context Protocol (MCP) server for Microsoft SQL Server that enables AI agents to safely explore and query SQL Server databases

如何安装 @bilims/mcp-sqlserver?

在项目目录运行 npm install @bilims/mcp-sqlserver,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp-sqlserver,可以用 npx mcp-sqlserver 直接运行。

@bilims/mcp-sqlserver 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bilims/mcp-sqlserver 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@bilims/mcp-sqlserver 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bilims/mcp-sqlserver 可以商用吗?

@bilims/mcp-sqlserver 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bilims/mcp-sqlserver 的下载量有多少?

根据 npm 官方下载统计,@bilims/mcp-sqlserver 在 2026/10/08 – 2026/11/06 这 30 天内被下载 4,134 次,日均约 138 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bilims/mcp-sqlserver 还在维护吗?

最新版本 2.0.3 发布于 2025/10/09(1.1 年前);至今共发布 18 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/07/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。