Asistente de base de datos Ollama MCP
Una interfaz de chat interactiva que combina las capacidades LLM de Ollama con el acceso a bases de datos PostgreSQL mediante el Protocolo de Contexto de Modelo (MCP). Pregunte sobre sus datos en lenguaje natural y obtenga respuestas basadas en IA, respaldadas por consultas SQL reales.
Características
- Interfaz de lenguaje natural para su base de datos PostgreSQL
- Generación automática de consultas SQL
- Respuestas que tienen en cuenta el esquema
- Interfaz de chat interactiva
- Acceso seguro y de solo lectura a la base de datos
Prerrequisitos
- Node.js 16 o superior
- Una base de datos PostgreSQL en ejecución
- Ollama instalado y ejecutándose localmente
- El modelo qwen2.5-coder:7b-instruct incluido en Ollama
Configuración
- Clonar el repositorio:
- Instalar dependencias:
- Extraiga el modelo Ollama requerido:
- Cree un archivo
.env
en la raíz del proyecto:
Uso
- Iniciar la interfaz de chat:
- Haga preguntas sobre sus datos en lenguaje natural:
- Escriba ‘exit’ para salir de la aplicación.
Cómo funciona
- La aplicación se conecta a su base de datos PostgreSQL a través del servidor PostgreSQL MCP
- Carga y almacena en caché el esquema de su base de datos.
- Cuando haces una pregunta:
- El esquema y la pregunta se envían a Ollama
- Ollama genera una consulta SQL apropiada
- La consulta se ejecuta a través de MCP
- Los resultados se envían a Ollama para su interpretación.
- Recibirás una respuesta en lenguaje natural
Variables de entorno
Variable | Descripción | Por defecto |
---|---|---|
URL DE LA BASE DE DATOS | Cadena de conexión de PostgreSQL | Requerido |
OLLAMA_MODELO | Modelo Ollama a utilizar | qwen2.5-coder:7b-instruct |
Seguridad
- Todo acceso a la base de datos es de sólo lectura.
- Las consultas SQL están restringidas a sentencias SELECT
- Las credenciales de la base de datos se mantienen seguras en su archivo .env
Desarrollo
Construido con:
- Mecanografiado
- Protocolo de Contexto Modelo (MCP)
- Ollama
- PostgreSQL
Solución de problemas
Problemas comunes
- "Error al conectar con la base de datos"
- Comprueba tu DATABASE_URL en .env
- Verificar que PostgreSQL se esté ejecutando
- Comprobar la conectividad de la red
- "Error al conectar con Ollama"
- Asegúrese de que Ollama se esté ejecutando (
ollama serve
) - Verificar que el modelo esté instalado (
ollama list
)
- Asegúrese de que Ollama se esté ejecutando (
- "Error al ejecutar la consulta"
- Comprobar los permisos de la base de datos
- Verificar los nombres de tablas/columnas en el esquema
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Contribuyendo
- Bifurcar el repositorio
- Crea tu rama de funciones
- Confirme sus cambios
- Empujar hacia la rama
- Abrir una solicitud de extracción
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Una interfaz de chat interactiva que combina las capacidades LLM de Ollama con el acceso a bases de datos PostgreSQL mediante el Protocolo de Contexto de Modelo (MCP). Pregunte sobre sus datos en lenguaje natural y obtenga respuestas basadas en IA, respaldadas por consultas SQL reales.
Related MCP Servers
- AsecurityAlicenseAqualityMCP Ollama server integrates Ollama models with MCP clients, allowing users to list models, get detailed information, and interact with them through questions.Last updated -325PythonMIT License
- -securityAlicense-qualityEnables seamless integration between Ollama's local LLM models and MCP-compatible applications, supporting model management and chat interactions.Last updated -6594TypeScriptAGPL 3.0
- -securityAlicense-qualityA Model Context Protocol server that provides standardized interfaces for interacting with Ollama API, offering JSON responses, error handling, and intelligent guidance for LLM-based API calls.Last updated -PythonMIT License
- -securityFlicense-qualityA conversational application server that integrates LLM capabilities via Ollama with vector memory context, supporting multiple users, sessions, automatic history summarization, and a plugin system for executing real actions.Last updated -Python