CloudNativePG MCP Server
Servidor MCP de CloudNativePG
Un servidor MCP para gestionar clústeres de PostgreSQL a través del operador CloudNativePG.
Esta versión utiliza el andamiaje (scaffold) de MCP Base para su estructura de servidor, autenticación, construcción de contenedores, gráfico de Helm, registro de prompts y banco de pruebas. La implementación manual anterior se conserva en deprecated-v1/ como referencia.
Superficie de herramientas
El servidor expone las herramientas de CloudNativePG de la implementación v1:
list_postgres_clustersget_cluster_statuscreate_postgres_clusterscale_postgres_clusterdelete_postgres_clusterlist_postgres_rolescreate_postgres_roleupdate_postgres_roledelete_postgres_rolelist_postgres_databasescreate_postgres_databasedelete_postgres_database
También incluye herramientas de administración del andamiaje MCP Base para la gestión de prompts:
admin_reload_promptsadmin_get_prompt_manifest
Related MCP server: PostgreSQL MCP Server
Estructura
src/cnpg_mcp_server.py: punto de entrada HTTP de FastMCP para producciónsrc/cnpg_mcp_test_server.py: punto de entrada de prueba sin autenticación/OIDCsrc/cnpg_mcp_tools.py: implementaciones y registro de herramientas de CloudNativePGsrc/mcp_context.py: envoltorio de contexto MCP con extracción de identidad de usuariosrc/auth_*.py: soporte de autenticación del andamiaje MCP Basechart/: activos de despliegue de Helmtest/: banco de pruebas de plugins MCPSCAFFOLD_INVENTORY.md: hashes de artefactos del andamiaje MCP Base
Desarrollo
Cree un entorno e instale las dependencias:
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt -r test/requirements.txtEjecute la prueba de humo de registro del andamiaje:
python bin/smoke_test.pyEjecute la suite de pruebas MCP local sin autenticación:
python test/run-local-tests.pyEjecute las pruebas de integración de Kubernetes de CloudNativePG adaptadas de deprecated-v1/test/plugins:
python test/run-local-tests.py --include-integration
# or
make test-integrationEstas pruebas crean, escalan, actualizan y eliminan recursos reales de CloudNativePG. Configuraciones opcionales útiles:
CNPG_MCP_TEST_NAMESPACE: espacio de nombres para los recursos de pruebaCNPG_MCP_TEST_CLUSTER_PREFIX: prefijo generado para el nombre del clústerCNPG_MCP_TEST_STORAGE_SIZE: tamaño de almacenamiento por instancia, por defecto1GiCNPG_MCP_TEST_CREATE_WAIT_SECONDS: tiempo de espera de preparación del clúster, por defecto300CNPG_MCP_TEST_SCALE_WAIT_SECONDS: tiempo de espera de preparación del escalado, por defecto300
Ejecución local
El punto de entrada del andamiaje utiliza transporte HTTP:
python src/cnpg_mcp_server.py --host 0.0.0.0 --port 4200El servidor de pruebas se puede ejecutar sin autenticación:
python src/cnpg_mcp_test_server.py --host 127.0.0.1 --port 4201 --no-authAcceso a Kubernetes
Las herramientas utilizan el cliente de Python para Kubernetes. Cargan la configuración en este orden:
Configuración de la cuenta de servicio dentro del clúster
Kubeconfig local desde
~/.kube/configoKUBECONFIG
La mayoría de las herramientas aceptan un namespace opcional. Cuando se omite, se utiliza el espacio de nombres del contexto actual de Kubernetes, recurriendo a default.
Para despliegues de Helm dentro del clúster, el servidor utiliza la cuenta de servicio del despliegue. Por defecto, el gráfico otorga a esa cuenta de servicio permisos de CNPG y secretos solo en el espacio de nombres de la versión de Helm. Para gestionar recursos de CNPG en otro espacio de nombres, pase el argumento namespace de la herramienta y otorgue acceso a la cuenta de servicio allí:
rbac:
targetNamespaces:
- application-databasesPara un despliegue MCP compartido que deba operar en espacios de nombres arbitrarios, opte por RBAC a nivel de clúster:
rbac:
clusterWide: trueEl modo a nivel de clúster otorga acceso a secretos en todos los espacios de nombres, por lo que es preferible usar targetNamespaces explícitos cuando se conoce el conjunto de destino.
Despliegue
El andamiaje MCP Base incluye activos de Docker y Helm:
make build
make push
make helm-installUtilice python bin/configure-make.py para generar make.env para la configuración de la imagen y el espacio de nombres antes de utilizar los objetivos de despliegue.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Your Supabase account in natural language: run SQL, apply migrations, manage tables, storage, edge f
Your AI Agent's Infrastructure Layer. Connect Claude, Copilot, Codex, or ChatGPT to 200+ managed open source services. Start databases, pipelines, and applications through natural language.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables secure, AI-driven PostgreSQL database administration, observability, and querying with support for extensions like PostGIS and pgvector, connection pooling, and advanced tool filtering.35 npm12MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact deeply with PostgreSQL databases—query data, manage schema, analyze performance, and administer the database.152 npm4MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with PostgreSQL databases through natural language queries, schema inspection, and safe SQL execution.7 npm1-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to manage, monitor, and query CockroachDB using natural language, supporting cluster monitoring, database operations, table management, and query execution.MIT