ODBC MCP Server
Permite que las herramientas LLM consulten bases de datos mediante conexiones ODBC.
Documentación
ODBC MCP Server
Un servidor MCP (Model Context Protocol) que permite a herramientas LLM como Claude Desktop consultar bases de datos mediante conexiones ODBC. Este servidor permite a Claude y otros clientes MCP acceder, analizar y generar información a partir de los datos de la base de datos, manteniendo la seguridad y las protecciones de solo lectura.
Características
- Conéctese a cualquier base de datos compatible con ODBC
- Soporte para múltiples conexiones de bases de datos
- Configuración flexible mediante archivos de configuración o ajustes de Claude Desktop
- Protecciones de solo lectura para evitar la modificación de datos
- Instalación sencilla con el gestor de paquetes UV
- Informes de errores detallados y registro de actividades
Requisitos previos
- Python 3.10 o superior
- Gestor de paquetes UV
- Controladores ODBC para su(s) base(s) de datos instalados en su sistema
- Para Sage 100 Advanced: controlador ODBC de ProvideX
Instalación
git clone https://github.com/tylerstoltz/mcp-odbc.git
cd mcp-odbc
uv venv
.venv\Scripts\activate # On Mac / Linux: source .venv/bin/activate (untested)
uv pip install -e .
Configuración
El servidor se puede configurar mediante:
- Un archivo de configuración dedicado
- Variables de entorno
- Configuración de Claude Desktop
Configuración general
Cree un archivo de configuración (.ini) con los detalles de conexión de su base de datos:
[SERVER]
default_connection = my_database
max_rows = 1000
timeout = 30
[my_database]
dsn = MyDatabaseDSN
username = your_username
password = your_password
readonly = true
Configuración de SQLite
Para bases de datos SQLite con ODBC:
[SERVER]
default_connection = sqlite_db
max_rows = 1000
timeout = 30
[sqlite_db]
dsn = SQLite_DSN_Name
readonly = true
Configuración de Sage 100 ProvideX
ProvideX requiere una configuración especial para la compatibilidad. Utilice esta configuración mínima para obtener los mejores resultados:
[SERVER]
default_connection = sage100
max_rows = 1000
timeout = 60
[sage100]
dsn = YOUR_PROVIDEX_DSN
username = your_username
password = your_password
company = YOUR_COMPANY_CODE
readonly = true
Notas importantes para ProvideX:
- Utilice una configuración mínima: agregar parámetros adicionales puede causar problemas de conexión
- Siempre establezca
readonly = truepor seguridad - El parámetro
companyes obligatorio para las conexiones de Sage 100 - Evite cambiar los atributos de conexión después de que se establezca la conexión
Integración con Claude Desktop
Para configurar el servidor en Claude Desktop:
-
Abra o cree
claude_desktop_config.json:- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
Agregue la configuración del servidor MCP:
{
"mcpServers": {
"odbc": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\mcp-odbc",
"run",
"odbc-mcp-server",
"--config",
"C:\\path\\to\\mcp-odbc\\config\\your_config.ini"
]
}
}
}
Uso
Iniciar el servidor manualmente
# Start with default configuration
odbc-mcp-server
# Start with a specific config file
odbc-mcp-server --config path/to/config.ini
Uso con Claude Desktop
- Configure el servidor en el archivo de configuración de Claude Desktop como se muestra arriba
- Reinicie Claude Desktop
- Las herramientas ODBC aparecerán automáticamente en la lista de herramientas MCP
Herramientas MCP disponibles
El servidor ODBC MCP proporciona estas herramientas:
- list-connections: Enumera todas las conexiones de bases de datos configuradas
- list-available-dsns: Enumera todos los DSN disponibles en el sistema
- test-connection: Prueba una conexión de base de datos y devuelve información
- list-tables: Enumera todas las tablas de la base de datos
- get-table-schema: Obtiene información del esquema de una tabla
- execute-query: Ejecuta una consulta SQL y devuelve los resultados
Consultas de ejemplo
Pruebe estas indicaciones en Claude Desktop después de conectar el servidor:
- "Muéstrame todas las tablas de la base de datos"
- "¿Cuál es el esquema de la tabla Customer?"
- "Ejecuta una consulta para obtener los primeros 10 clientes"
- "Encuentra todos los pedidos realizados en los últimos 30 días"
- "Analiza los datos de ventas por región y proporciona información"
Solución de problemas
Problemas de conexión
Si encuentra problemas de conexión:
- Verifique que sus controladores ODBC estén instalados correctamente
- Pruebe su DSN mediante el Administrador de orígenes de datos ODBC
- Verifique los parámetros de conexión en su archivo de configuración
- Busque mensajes de error detallados en los registros de Claude Desktop
Problemas específicos de ProvideX
Para Sage 100/ProvideX:
- Utilice una configuración de conexión mínima (DSN, nombre de usuario, contraseña, empresa)
- Asegúrese de que el parámetro Company sea correcto
- Utilice la plantilla de configuración especial de ProvideX
- Si encuentra errores de
Driver not capable, verifique que autocommit se esté configurando al momento de la conexión
Tablas faltantes
Si las tablas no aparecen:
- Verifique los permisos de usuario de la cuenta de la base de datos
- Verifique si el código de empresa es correcto (para Sage 100)
- Intente utilizar nombres de tabla totalmente calificados (schema.table)
Licencia
Licencia MIT - Copyright (c) 2024