SQL Server
Permite que los asistentes de IA accedan y consulten bases de datos de SQL Server.
GitHubPrueba este MCPPatrocinado
Documentación
Servidor MCP de SQL Server
Un servidor de Model Context Protocol (MCP) que proporciona a los asistentes de IA capacidades de acceso a bases de datos SQL Server.
Características
- Ejecutar consultas SQL con límites de seguridad automáticos
- Inspección y exploración del esquema de la base de datos
- Estadísticas de tablas y monitoreo de rendimiento
- Capacidades de búsqueda avanzada para tablas y columnas
- Funcionalidad de respaldo de tablas
- Inserción de datos con manejo de conflictos
- Análisis de planes de ejecución de consultas
- Monitoreo de salud de la conexión
Inicio Rápido
1. Configurar el Entorno
# Navigate to project directory
cd C:\Users\benha\Desktop\sql-server-mcp
# Create virtual environment
python -m venv venv
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
2. Configurar la Conexión a la Base de Datos
Edite el archivo .env con sus credenciales de SQL Server:
SQL_SERVER_HOST=192.168.1.117
SQL_SERVER_DATABASE=EM_Data
SQL_SERVER_USERNAME=benhg
SQL_SERVER_PASSWORD=your_actual_password
SQL_SERVER_PORT=1433
3. Probar el Servidor
python -m sql_server_mcp.server
Integración con Herramientas de IA
Claude Desktop
Agregue a su archivo de configuración de Claude Desktop:
Ubicación:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Configuración:
{
"mcpServers": {
"sql-server": {
"command": "python",
"args": ["-m", "sql_server_mcp.server"],
"cwd": "C:\\Users\\benha\\Desktop\\sql-server-mcp",
"env": {
"SQL_SERVER_HOST": "192.168.1.117",
"SQL_SERVER_DATABASE": "EM_Data",
"SQL_SERVER_USERNAME": "benhg",
"SQL_SERVER_PASSWORD": "your_password_here",
"SQL_SERVER_PORT": "1433"
}
}
}
}
VS Code
- Instale la extensión "Model Context Protocol"
- Agregue a settings.json de VS Code:
{
"mcp.servers": {
"sql-server": {
"command": "python",
"args": ["-m", "sql_server_mcp.server"],
"cwd": "C:\\Users\\benha\\Desktop\\sql-server-mcp"
}
}
}
Cursor
Agregue a la configuración MCP de Cursor:
{
"mcp": {
"servers": {
"sql-server": {
"command": "python",
"args": ["-m", "sql_server_mcp.server"],
"cwd": "C:\\Users\\benha\\Desktop\\sql-server-mcp"
}
}
}
}
Herramientas Disponibles
- execute_query - Ejecutar consultas SQL con límites de seguridad
- get_schema - Inspeccionar la estructura de la base de datos
- get_table_info - Información detallada de tablas con muestras
- explain_query - Planes de ejecución de consultas
- check_connection - Estado de conectividad de la base de datos
- get_table_stats - Métricas de tamaño y rendimiento de tablas
- search_tables - Buscar tablas y columnas por nombre
- backup_table - Crear respaldos de tablas
- insert_data - Insertar datos con manejo de conflictos
Ejemplos de Uso
Una vez integrado con Claude, puede preguntar:
- "Muéstrame el esquema de mi tabla SeriesRecord"
- "Ejecuta: SELECT TOP 10 * FROM SeriesRecord WHERE Source = 'NBP'"
- "¿Qué tablas tengo en mi base de datos?"
- "Crea un respaldo de mi tabla SeriesRecord"
- "Busca cualquier tabla que contenga 'GDP'"
- "Muéstrame estadísticas de todas mis tablas"
Características de Seguridad
- Límites automáticos de consultas (TOP 1000 por defecto)
- Soporte de consultas parametrizadas
- Configuración basada en el entorno
- Agrupación de conexiones y verificaciones de salud
- Manejo integral de errores
Desarrollo
Ejecutar Pruebas
pip install pytest pytest-asyncio
pytest tests/
Estructura del Proyecto
sql-server-mcp/
├── sql_server_mcp/
│ ├── __init__.py
│ └── server.py
├── tests/
│ ├── __init__.py
│ └── test_server.py
├── requirements.txt
├── pyproject.toml
├── .env
└── README.md
Solución de Problemas
Problemas Comunes
- Controlador ODBC No Encontrado: Instale Microsoft ODBC Driver 17 para SQL Server
- Conexión Fallida: Verifique la dirección del servidor, las credenciales y la conectividad de red
- Permiso Denegado: Asegúrese de que el usuario de la base de datos tenga los permisos apropiados
Probar la Conexión
# Test ODBC drivers
import pyodbc
print(pyodbc.drivers())
# Test basic connection
from sqlalchemy import create_engine, text
engine = create_engine('mssql+pyodbc://user@server:port/database?driver=ODBC+Driver+17+for+SQL+Server')
with engine.connect() as conn:
result = conn.execute(text('SELECT 1'))
print('Connection successful!')
Licencia
Licencia MIT - consulte el archivo LICENSE para más detalles.