Co-Pilot / 辅助式
更新于 24 days ago

mcp-postgres

Ffabriciofs
0.0k
fabriciofs/mcp-postgres
76
Agent 评分

💡 摘要

该工具将 SQL Server 与 Claude Code 集成,用于查询、监控和分析数据库。

🎯 适合人群

数据库管理员数据分析师软件开发人员DevOps 工程师IT 经理

🤖 AI 吐槽:看起来很能打,但别让配置把人劝退。

安全分析中风险

风险:Medium。建议检查:是否执行 shell/命令行指令;是否发起外网请求(SSRF/数据外发);依赖锁定与供应链风险。以最小权限运行,并在生产环境启用前审计代码与依赖。

MCP SQL Server

npm version Build Status codecov License: MIT TypeScript Node.js

A Model Context Protocol (MCP) server for SQL Server integration with Claude Code. Query, monitor, and analyze your SQL Server databases directly from Claude.

Features

  • Query Execution - Execute SELECT queries with parameterized inputs
  • Schema Exploration - Browse tables, columns, procedures, and indexes
  • Database Monitoring - Track active queries, blocking sessions, wait stats, and connections
  • Performance Analysis - Identify missing indexes, unused indexes, and fragmentation
  • Write Operations - INSERT, UPDATE, DELETE when enabled (READONLY=false)

Installation

Option 1: From npm (recommended)

npx @fabriciofs/mcp-sql-server

Option 2: Global installation

npm install -g @fabriciofs/mcp-sql-server

Option 3: Clone and build locally

git clone https://github.com/fabriciofs/mcp-sql-server.git cd mcp-sql-server npm install npm run build

Configuration

Claude Code Integration

Add to your Claude Code MCP settings (~/.claude/settings.json or project .claude/settings.json):

{ "mcpServers": { "sqlserver": { "command": "npx", "args": ["-y", "@fabriciofs/mcp-sql-server"], "env": { "SQL_CONNECTION_URL": "sqlserver://user:password@localhost:1433/database", "READONLY": "true" } } } }

Or with individual connection parameters:

{ "mcpServers": { "sqlserver": { "command": "npx", "args": ["-y", "@fabriciofs/mcp-sql-server"], "env": { "SQL_SERVER": "localhost", "SQL_DATABASE": "mydb", "SQL_USER": "sa", "SQL_PASSWORD": "yourpassword", "SQL_PORT": "1433", "SQL_TRUST_CERT": "true", "READONLY": "true" } } } }

Environment Variables

Connection (choose one method)

Method 1: Connection URL

SQL_CONNECTION_URL=sqlserver://user:password@host:port/database?TrustServerCertificate=true

Method 2: Individual Parameters

SQL_SERVER=localhost SQL_DATABASE=mydb SQL_USER=sa SQL_PASSWORD=yourpassword SQL_PORT=1433 # Optional, default: 1433 SQL_ENCRYPT=true # Optional, default: true SQL_TRUST_CERT=false # Optional, default: false

Required Settings

| Variable | Description | |----------|-------------| | READONLY | Required. Set to true for read-only mode or false to enable write operations |

Optional Settings

| Variable | Default | Description | |----------|---------|-------------| | QUERY_TIMEOUT | 30000 | Query timeout in milliseconds (max: 120000) | | MAX_ROWS | 1000 | Maximum rows to return (max: 5000) | | POOL_MIN | 2 | Minimum connection pool size | | POOL_MAX | 10 | Maximum connection pool size | | LOG_LEVEL | info | Log level: debug, info, warn, error |

Available Tools

Query Tools

| Tool | Description | |------|-------------| | sql_execute | Execute SELECT queries with parameterized inputs |

Schema Tools

| Tool | Description | |------|-------------| | schema_list_tables | List all tables and views in the database | | schema_describe_table | Get detailed table information (columns, indexes, foreign keys) | | schema_list_columns | Search for columns across all tables | | schema_list_procedures | List stored procedures | | schema_list_indexes | List indexes with usage statistics |

Monitor Tools

| Tool | Description | |------|-------------| | monitor_active_queries | Monitor currently running queries | | monitor_blocking | Monitor blocking sessions and lock chains | | monitor_wait_stats | Monitor wait statistics for performance bottlenecks | | monitor_database_size | Monitor database size and file usage | | monitor_connections | Monitor active connections | | monitor_performance_counters | Monitor SQL Server performance counters |

Analysis Tools

| Tool | Description | |------|-------------| | analyze_query | Analyze query execution plan and statistics | | analyze_suggest_indexes | Suggest missing indexes based on query patterns | | analyze_unused_indexes | Find indexes that are not being used | | analyze_duplicate_indexes | Find duplicate or overlapping indexes | | analyze_fragmentation | Analyze index fragmentation levels | | analyze_statistics | Analyze table statistics for stale data |

Write Tools (READONLY=false only)

| Tool | Description | |------|-------------| | sql_insert | Insert a row into a table | | sql_update | Update rows in a table | | sql_delete | Delete rows from a table |

Usage Examples

Once configured, you can ask Claude to interact with your database:

"List all tables in the database"
"Describe the Users table"
"Show me active queries running for more than 5 seconds"
"Find unused indexes in the Orders table"
"Analyze the fragmentation of all indexes"
"What are the top wait statistics?"

Security Considerations

  • Always use READONLY=true in production unless write access is explicitly required
  • Store credentials securely using environment variables
  • Use SQL Server accounts with minimal required permissions
  • Consider network security (VPN, firewall rules) for remote connections

Requirements

  • Node.js >= 20.0.0
  • SQL Server 2016 or later
  • Appropriate SQL Server permissions for the operations you want to perform

Development

# Install dependencies npm install # Build npm run build # Development mode (watch) npm run dev # Type check npm run typecheck # Run MCP Inspector npm run inspector

License

MIT License - see LICENSE file for details.

五维分析
清晰度8/10
创新性6/10
实用性9/10
完整性8/10
可维护性7/10
优缺点分析

优点

  • 全面的数据库监控和分析工具。
  • 支持读写操作。
  • 与 Claude Code 的简单集成。

缺点

  • 需要仔细配置环境变量。
  • 如果不在只读模式下使用,可能存在安全风险。
  • 依赖于 Node.js 和 SQL Server 版本。

相关技能

whodb

A
toolCo-Pilot / 辅助式
84/ 100

“看起来很能打,但别让配置把人劝退。”

sql-pro

A
toolCo-Pilot / 辅助式
84/ 100

“这个技能精通SQL优化的所有知识,除了如何实际运行查询,堪称终极的后座数据库驾驶员。”

supabase-best-practices

A
toolCo-Pilot / 辅助式
82/ 100

“看起来很能打,但别让配置把人劝退。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 fabriciofs.