Servidor MCP de base de datos
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para conectarse e interactuar con varios sistemas de bases de datos.
Características
- Compatibilidad con múltiples bases de datos : conéctese a bases de datos SQLite, PostgreSQL, MySQL/MariaDB y SQL Server
- Interfaz unificada : herramientas comunes para operaciones de bases de datos en todos los tipos de bases de datos compatibles
- Extensiones específicas de la base de datos : cuando sea necesario, herramientas específicas para funciones específicas de la base de datos
- Gestión de esquemas : crear, modificar y eliminar tablas e índices
- Ejecución de consultas : ejecute consultas SQL sin procesar o utilice herramientas de consulta estructuradas
- Soporte de transacciones : iniciar, confirmar y revertir transacciones
Instalación
Prerrequisitos
- Python 3.8 o superior
- Paquetes de Python necesarios (se instalan automáticamente con pip):
- SQLAlchemy
- Varios controladores de bases de datos, según las bases de datos que desee utilizar:
- SQLite (incluido con Python)
- PostgreSQL:
psycopg2-binary
- MySQL/MariaDB:
mysql-connector-python
- Servidor SQL:
pyodbc
Instalación desde la fuente
Configuración
El servidor se puede configurar utilizando variables de entorno, un archivo de configuración o proporcionando detalles de conexión en tiempo de ejecución.
Variables de entorno
DB_CONFIG_PATH
: Ruta a un archivo de configuración JSONDB_CONNECTIONS
: una lista separada por comas de ID de conexión o una cadena JSON con detalles de conexión
Formato del archivo de configuración
Uso
Ejecución del servidor
Como servidor MCP para Claude
Como servidor web independiente (para cualquier LLM)
Herramientas MCP disponibles
Gestión de conexiones
add_connection
: Agregar una nueva conexión de base de datostest_connection
: prueba una conexión a la base de datoslist_connections
: Lista todas las conexiones de la base de datosremove_connection
: Eliminar una conexión de base de datos
Ejecución de consultas
execute_query
: Ejecutar una consulta SQLget_records
: Obtener registros de una tablainsert_record
: Insertar un registro en una tablaupdate_record
: Actualizar registros en una tabladelete_record
: Eliminar registros de una tabla
Gestión de esquemas
list_tables
: enumera todas las tablas de una base de datosget_table_schema
: obtener el esquema de una tablacreate_table
: Crea una nueva tabladrop_table
: Borrar una tablacreate_index
: Crea un índice en una tabladrop_index
: Eliminar un índicealter_table
: Alterar una estructura de tabla
Gestión de transacciones
begin_transaction
: Iniciar una transaccióncommit_transaction
: Confirmar una transacciónrollback_transaction
: revertir una transacción
Ejemplos
Agregar una conexión
Ejecutar una consulta
Crear una tabla
Insertar registros
Desarrollo
Ejecución de pruebas
Conexión desde otros LLM
Al ejecutarse como servidor web independiente, otros LLM (como Llama 3) pueden conectarse al servidor MCP de la base de datos mediante HTTP. El servidor expone los siguientes puntos finales:
Puntos finales
/list_tools
- GET o POST: Devuelve una lista de todas las herramientas disponibles con sus descripciones y esquemas de entrada/call_tool
- POST: Ejecutar una herramienta de base de datos específica
Ejemplo: Llamar desde otro LLM
Para usar este servidor con otro LLM, haga que el LLM genere solicitudes HTTP al servidor. A continuación, se muestra un ejemplo de cómo podría estructurar la solicitud para un LLM como Llama 3:
Código Python de muestra para la integración del cliente
Licencia
This server cannot be installed
Un servidor de protocolo de contexto de modelo que proporciona herramientas para conectarse e interactuar con varios sistemas de bases de datos (SQLite, PostgreSQL, MySQL/MariaDB, SQL Server) a través de una interfaz unificada.