remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Manages configuration through environment variables using .env files for storing database credentials, server settings, and security parameters.
Supports repository cloning for installation and source code management during development.
Provides example code for API interaction, allowing clients to execute queries and interact with analysis templates.
Servidor PostgreSQL MCP
Un servidor Modelo-Controlador-Proveedor (MCP) que:
- Se conecta a una base de datos PostgreSQL
- Expone esquemas de tablas como recursos
- Proporciona herramientas para ejecutar consultas SQL de solo lectura
- Incluye indicaciones para tareas comunes de análisis de datos.
Características
- Exploración de esquemas : explore esquemas, tablas y columnas de bases de datos
- Ejecución de consultas de solo lectura : ejecute consultas SQL de forma segura en su base de datos
- Indicaciones de análisis de datos : Plantillas SQL prediseñadas para tareas de análisis comunes
- Visualización de datos : generar datos para visualización
- Exploración de relaciones : visualice relaciones de tablas y claves externas
- Documentación de API : Especificación OpenAPI generada automáticamente
Arquitectura
Esta aplicación sigue el patrón Modelo-Controlador-Proveedor (MCP):
- Capa de modelo : interacción directa con la base de datos
- Capa de proveedor : lógica empresarial y procesamiento de datos
- Capa de controlador : puntos finales de API y manejo de solicitudes
Características de seguridad
- Validación de consultas de solo lectura
- Protección contra inyección SQL
- Limitación de velocidad
- Consultas parametrizadas
- Soporte de autenticación
- Configuración de CORS
Instalación
- Clonar el repositorio:Copy
- Instalar dependencias:Copy
- Cree un archivo
.env
basado en.env.template
:Copy - Actualice el archivo
.env
con las credenciales de su base de datos PostgreSQL. - Iniciar el servidor:Copy
Configuración
Toda la configuración se gestiona a través de variables de entorno:
- Servidor : Puerto, entorno, configuración CORS
- Base de datos : Detalles de conexión, configuración del grupo
- Seguridad : configuración de JWT, limitación de velocidad
- Consulta : Límites de ejecución, límites de tamaño de resultados
Puntos finales de API
Puntos finales del esquema
GET /api/schemas
- Listar todos los esquemasGET /api/schemas/:schema/tables
- Listar tablas en un esquemaGET /api/schemas/:schema/tables/:table
- Obtener detalles del esquema de la tablaGET /api/schemas/:schema/relationships
- Obtener relaciones de tablasGET /api/structure
- Obtener la estructura completa de la base de datosGET /api/search?q=term
- Buscar en tablas y columnas
Puntos finales de consulta
POST /api/query
- Ejecutar una consulta SQLPOST /api/query/explain
- Obtener el plan de ejecución de la consultaGET /api/schemas/:schema/tables/:table/sample
- Obtener datos de muestraGET /api/schemas/:schema/tables/:table/stats
- Obtener estadísticas de la tabla
Puntos finales del mensaje de análisis
GET /api/prompts
- Plantillas de indicaciones para el análisis de listasGET /api/prompts/:templateId
- Obtener detalles de la plantilla de solicitudPOST /api/prompts/:templateId/generate
- Generar SQL a partir de la plantillaGET /api/schemas/:schema/tables/:table/analysis/suggest
- Obtener sugerencias de análisis
Consultas de ejemplo
Consulta de tabla básica
Uso de indicaciones de análisis
Desarrollo
- Ejecutar en modo de desarrollo:
npm run dev
- Ejecutar pruebas:
npm test
- Código de pelusa:
npm run lint
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
Un servidor que se conecta a bases de datos PostgreSQL y proporciona herramientas para explorar esquemas de forma segura, ejecutar consultas SQL de solo lectura y realizar análisis de datos con plantillas prediseñadas.