# MCP SqlServer

> MCP server from Aron-Valenzuela/MCP-SqlServer.

- **Type:** MCP server
- **Install:** `agentstack add mcp-aron-valenzuela-mcp-sqlserver`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Aron-Valenzuela](https://agentstack.voostack.com/s/aron-valenzuela)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Aron-Valenzuela](https://github.com/Aron-Valenzuela)
- **Source:** https://github.com/Aron-Valenzuela/MCP-SqlServer

## Install

```sh
agentstack add mcp-aron-valenzuela-mcp-sqlserver
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# MCP SQL Server

> **[English version](README_EN.md)**

Servidor MCP (Model Context Protocol) que permite a Claude AI conectarse y consultar cualquier base de datos SQL Server de forma segura y en solo lectura.

---

## Caracteristicas

- **Conexion dinamica** — conectate a cualquier servidor SQL Server desde la conversacion con Claude
- **9 herramientas disponibles** — desde listar bases de datos hasta ver el codigo de un Stored Procedure
- **Solo lectura** — no permite INSERT, UPDATE ni DELETE; solo consultas SELECT/WITH
- **Autenticacion flexible** — soporta Windows Authentication y SQL Server Authentication
- **Auto-conexion opcional** — configura variables de entorno para conectarte automaticamente al abrir Claude Desktop
- **Validacion de seguridad** — parametros de conexion validados contra inyeccion SQL

---

## Herramientas disponibles

### Gestion de conexion

| Herramienta | Descripcion |
|---|---|
| `conectar` | Conecta a un servidor SQL Server (Windows o SQL Auth) |
| `estado_conexion` | Muestra el estado de la conexion actual |
| `desconectar` | Desconecta la sesion activa |

### Consulta de datos (solo lectura)

| Herramienta | Descripcion |
|---|---|
| `list_databases` | Lista todas las bases de datos del servidor |
| `list_tables` | Lista tablas y vistas, con filtro opcional por esquema |
| `describe_table` | Muestra columnas, tipos, nulabilidad, defaults y PKs de una tabla |
| `query` | Ejecuta consultas SELECT/WITH (maximo 500 filas) |
| `search_column` | Busca en que tablas aparece una columna por nombre |
| `get_sp_definition` | Muestra el codigo fuente de un Stored Procedure |

---

## Requisitos previos

- **Python 3.10+**
- **ODBC Driver 17 for SQL Server** ([Descargar](https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server))
- **Claude Desktop** ([Descargar](https://claude.ai/download))

---

## Instalacion

### 1. Clonar el repositorio

```bash
git clone https://github.com/Juan-Valenzuela3/MCP-SqlServer.git
cd mcp-sqlserver
```

### 2. Instalar dependencias

```bash
pip install mcp pyodbc anyio
```

---

## Configuracion en Claude Desktop

### Configuracion basica

Abre Claude Desktop, ve a **Settings > Developer > Edit Config** y agrega lo siguiente en `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "mcp-sqlserver": {
      "command": "python",
      "args": ["C:/ruta/completa/a/sqlserver-mcp/server.py"]
    }
  }
}
```

> Reemplaza la ruta con la ubicacion real de `server.py` en tu maquina.

### Configuracion con auto-conexion (opcional)

Si quieres que Claude se conecte automaticamente a una base de datos al iniciar:

```json
{
  "mcpServers": {
    "mcp-sqlserver": {
      "command": "python",
      "args": ["C:/ruta/completa/a/sqlserver-mcp/server.py"],
      "env": {
        "DB_SERVER": "mi-servidor\\Instancia",
        "DB_NAME": "MiBaseDeDatos",
        "DB_AUTH_TYPE": "windows"
      }
    }
  }
}
```

Para **SQL Server Authentication**, agrega tambien:

```json
"DB_USER": "mi_usuario",
"DB_PASSWORD": "mi_password"
```

Despues de guardar, **reinicia Claude Desktop** para que tome los cambios.

---

## Uso

Una vez configurado, abre una conversacion en Claude Desktop y escribe instrucciones como:

```
Conectame al servidor mi-servidor\Instancia, base de datos MiDB
```

```
Muestra las tablas del esquema dbo
```

```
Ejecuta: SELECT TOP 10 * FROM dbo.Clientes
```

```
Muestrame el codigo del Stored Procedure GetDataToSend
```

```
Busca en que tablas aparece la columna "Price"
```

Claude usara automaticamente las herramientas del MCP para responder.

---

## Herramienta CLI: Explorador de columnas

El script `buscar_campos.py` permite explorar columnas de cualquier base de datos SQL Server desde la terminal.

### Uso basico

```bash
# Listar todas las columnas de una base de datos
python sqlserver-mcp/buscar_campos.py --server "mi-servidor\Instancia" --database "MiDB"

# Filtrar columnas por nombre
python sqlserver-mcp/buscar_campos.py --server "mi-servidor\Instancia" --database "MiDB" --search "Price"

# Exportar resultados a archivo
python sqlserver-mcp/buscar_campos.py --server "mi-servidor\Instancia" --database "MiDB" --output resultado.txt

# Usar SQL Server Authentication
python sqlserver-mcp/buscar_campos.py --server "mi-servidor\Instancia" --database "MiDB" --auth sql --user sa --password 1234
```

---

## Seguridad

- **Solo lectura**: El servidor unicamente permite consultas `SELECT` y `WITH` (CTEs). No es posible ejecutar `INSERT`, `UPDATE`, `DELETE` ni otros comandos DML.
- **Validacion de parametros**: Los parametros de conexion se validan para prevenir inyeccion de caracteres peligrosos (`;`, `{`, `}`).
- **Sin credenciales hardcodeadas**: Las credenciales se pasan por conversacion o variables de entorno locales.

---

## Estructura del proyecto

```
mcp-sqlserver/
├── sqlserver-mcp/
│   ├── server.py            # Servidor MCP principal
│   └── buscar_campos.py     # CLI para explorar columnas
├── CLAUDE.md                # Instrucciones para Claude Code
└── README.md
```

---

## Licencia

MIT

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Aron-Valenzuela](https://github.com/Aron-Valenzuela)
- **Source:** [Aron-Valenzuela/MCP-SqlServer](https://github.com/Aron-Valenzuela/MCP-SqlServer)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-aron-valenzuela-mcp-sqlserver
- Seller: https://agentstack.voostack.com/s/aron-valenzuela
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
