pgEdge PostgreSQL MCP Server
100% Open Source Enterprise PostgreSQL MCP con consultas en lenguaje natural, búsqueda híbrida (pgvector+BM25)
Documentación
pgEdge Postgres MCP Server y Agente de Lenguaje Natural
- Acerca del servidor MCP de pgEdge Postgres
- Instalación del servidor MCP
- Configuración del servidor MCP
- Especificar preferencias de configuración
- Usar variables de entorno para especificar opciones
- Incluir embeddings de proveedores en un archivo de configuración
- Configurar el agente para múltiples bases de datos
- Configurar servicios de soporte; HTTP, systemd y nginx
- Usar un archivo de secreto de cifrado
- Habilitar o deshabilitar funciones
- Configuración y uso de una aplicación cliente
- Revisar los registros del servidor
- Autenticación y seguridad
- Referencia
- Temas avanzados
- Para desarrolladores
- Para desarrolladores - Resumen
- Protocolo MCP
- Referencia de API
- Navegador de API
- Ejemplos de clientes
- Construcción de clientes de chat
- Contribuciones
- Acceso a la ayuda en línea
- Solución de problemas
- Notas de la versión
- Licencia
El servidor pgEdge Postgres Model Context Protocol (MCP) permite consultas SQL contra bases de datos PostgreSQL a través de clientes compatibles con MCP. El Agente de Lenguaje Natural proporciona funcionalidad de soporte que le permite usar lenguaje natural para formular consultas SQL.
Versiones compatibles: PostgreSQL 14 y superiores.
NO PARA APLICACIONES PÚBLICAS: Este servidor MCP proporciona a los LLM acceso de lectura a todo el esquema y los datos de su base de datos. Solo debe usarse para herramientas internas, flujos de trabajo de desarrollo, o entornos donde todos los usuarios sean de confianza. Para aplicaciones públicas, considere el pgEdge RAG Server en su lugar. Consulte la guía Elegir la solución adecuada para obtener más detalles.
Inicio rápido
La guía de Inicio rápido cubre la instalación y configuración para todos los clientes compatibles:
| Cliente | Transporte | Mejor para |
|---|---|---|
| CLI (Stdio) | Stdio | Desarrollo local de un solo usuario |
| CLI (HTTP) | HTTP | Acceso multiusuario o remoto |
| Web UI | HTTP | Interfaz de chat basada en navegador |
| Claude Code | Stdio | Agente CLI de Anthropic |
| Claude Desktop | Stdio | Aplicación de escritorio de Anthropic |
| Cursor | Stdio | Editor de código con IA |
| Windsurf | Stdio | Editor de código de Codeium |
| VS Code Copilot | Stdio | Agente de GitHub Copilot |
Para una demostración guiada con datos de ejemplo, consulte la Demo de inicio rápido con Northwind.
Características principales
- Protección de solo lectura - Todas las consultas se ejecutan en transacciones de solo lectura por defecto
- Recursos - Acceso a estadísticas de PostgreSQL y más
- Herramientas - Ejecución de consultas, análisis de esquema, búsqueda híbrida avanzada (BM25+MMR), generación de embeddings, lectura de recursos y más
- Prompts - Flujos de trabajo guiados para configuración de búsqueda semántica, exploración de bases de datos, diagnóstico de consultas y más
- Cliente de chat de producción - Cliente Go completo con caché de prompts de Anthropic (reducción del 90% en costos)
- Modo HTTP/HTTPS - Acceso directo a la API con autenticación de usuario y token
- Interfaz web - Interfaz moderna basada en React con chat impulsado por IA para interacción con bases de datos en lenguaje natural
- Soporte Docker - Imágenes preconstruidas en GitHub Container Registry con despliegue mediante Docker Compose
- Seguro - Soporte TLS, autenticación de usuario y token, aplicación de solo lectura
- Recarga en caliente - Recarga automática de archivos de autenticación sin reiniciar el servidor
Desarrollo
Requisitos previos
- Go 1.21 o superior
- PostgreSQL 14 o superior (para pruebas)
- golangci-lint v1.x (para linting)
Configuración del linter
El proyecto usa golangci-lint v1.x. Instálelo con:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
Nota: El archivo de configuración .golangci.yml es compatible con golangci-lint v1.x (no v2).
Compilación
git clone https://github.com/pgEdge/pgedge-postgres-mcp.git
cd pgedge-postgres-mcp
make build
Pruebas
# Run all tests
make test
# Run server tests with a database
export TEST_PGEDGE_POSTGRES_CONNECTION_STRING=\
"postgres://localhost/postgres?sslmode=disable"
go test ./...
# Run with coverage
go test -v -cover ./...
# Run linting
make lint
Pruebas de la interfaz web
La interfaz web tiene un conjunto completo de pruebas. Consulte web/TEST_SUMMARY.md para obtener detalles.
cd web
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # With coverage
Seguridad
- Aplicación de transacciones de solo lectura (configurable por base de datos)
- Autenticación de usuario y token de API con expiración
- Soporte TLS/HTTPS
- Hash de tokens SHA256
- Aplicación de permisos de archivo (0600)
- Validación y saneamiento de entradas
Consulte la Guía de seguridad para obtener documentación completa de seguridad.
Solución de problemas
¿No ve las herramientas en Claude Desktop?
- Use rutas absolutas en la configuración
- Reinicie Claude Desktop por completo
- Verifique la sintaxis JSON
¿Errores de conexión a la base de datos?
- Asegúrese de que la conexión a la base de datos esté configurada antes de iniciar el servidor (mediante archivo de configuración, variables de entorno o banderas de línea de comandos)
- Verifique que PostgreSQL esté en ejecución:
pg_isready - Verifique que los parámetros de conexión sean correctos
Consulte la Guía de solución de problemas para obtener soluciones detalladas.
Soporte
Para informar un problema con el software, visite: GitHub Issues
Para obtener más información, visite docs.pgedge.com
Este proyecto está licenciado bajo la Licencia PostgreSQL.