Servidor MCP con transporte montado en FastAPI, con tools de solo lectura sobre SQL Server.
Overview
Servidor MCP con transporte montado en FastAPI, con tools de solo lectura sobre SQL Server. - Python 3.12+ - ODBC Driver 18 for SQL Server (en Windows, normalmente ya instalado o descargable desde Microsoft) 1. Copia .env.example a .env y completa las credenciales: 4. Verifica el health check: http://localhost:8000/health El endpoint MCP es: http://localhost:8000/mcp-server/mcp Puedes usar el archivo de ejemplo .cursor/mcp.json o configurarlo en : Cuenta de solo lectura con db_datareader y permiso VIEW DEFINITION para consultar metadatos del esquema.
README
MCP SQL Server
Servidor MCP con transporte Streamable HTTP montado en FastAPI, con tools de solo lectura sobre SQL Server.
Requisitos
- Python 3.12+
- ODBC Driver 18 for SQL Server (en Windows, normalmente ya instalado o descargable desde Microsoft)
Configuración
- Copia
.env.examplea.envy completa las credenciales:
cp .env.example .env
- Instala dependencias:
pip install -r requirements.txt
- Inicia el servidor:
uvicorn main:app --reload --port 8000
- Verifica el health check: http://localhost:8000/health
Conectar Cursor
El endpoint MCP es: http://localhost:8000/mcp-server/mcp
Puedes usar el archivo de ejemplo .cursor/mcp.json o configurarlo en Settings → MCP:
{
"mcpServers": {
"sql-server": {
"url": "http://localhost:8000/mcp-server/mcp"
}
}
}
Tools disponibles
| Tool | Descripción |
|---|---|
list_tables_tool |
Lista tablas de un esquema (default dbo) |
describe_table_tool |
Columnas, tipos y PK de una tabla |
run_query_tool |
Ejecuta SELECT / WITH (máx. 100 filas) |
Docker
docker build -t mcp-sql-server .
docker run --env-file .env -p 8000:8000 mcp-sql-server
Usuario SQL recomendado
Cuenta de solo lectura con db_datareader y permiso VIEW DEFINITION para consultar metadatos del esquema.
Install
docker run --env-file .env -p 8000:8000 mcp-sql-serverConfiguration
{
"mcpServers": {
"sql-server": {
"url": "http://localhost:8000/mcp-server/mcp"
}
}
}