smithery.jsonā¢4.2 kB
{
"name": "cnpg-mcp-server",
"version": "1.2.0",
"description": "MCP server for managing PostgreSQL clusters using CloudNativePG in Kubernetes",
"author": "helxplatform",
"license": "MIT",
"homepage": "https://github.com/helxplatform/cnpg-mcp",
"repository": {
"type": "git",
"url": "https://github.com/helxplatform/cnpg-mcp.git"
},
"categories": [
"database",
"kubernetes",
"postgresql",
"infrastructure"
],
"keywords": [
"postgresql",
"postgres",
"cloudnativepg",
"cnpg",
"kubernetes",
"k8s",
"database",
"mcp",
"cluster-management",
"ha",
"high-availability"
],
"runtime": "python",
"entrypoint": "cnpg-mcp-server",
"requirements": "requirements.txt",
"configuration": {
"transport": "stdio",
"env": {
"KUBECONFIG": {
"description": "Path to Kubernetes config file (optional, defaults to ~/.kube/config)",
"required": false,
"type": "string"
}
}
},
"tools": [
{
"name": "list_postgres_clusters",
"description": "List all PostgreSQL clusters in Kubernetes",
"category": "cluster"
},
{
"name": "get_cluster_status",
"description": "Get detailed status for a specific cluster",
"category": "cluster"
},
{
"name": "create_postgres_cluster",
"description": "Create a new high-availability PostgreSQL cluster",
"category": "cluster"
},
{
"name": "scale_postgres_cluster",
"description": "Scale a cluster by adjusting instance count",
"category": "cluster"
},
{
"name": "delete_postgres_cluster",
"description": "Delete a cluster and its associated secrets",
"category": "cluster"
},
{
"name": "list_postgres_roles",
"description": "List PostgreSQL roles/users in a cluster",
"category": "user-management"
},
{
"name": "create_postgres_role",
"description": "Create a new PostgreSQL role with auto-generated password",
"category": "user-management"
},
{
"name": "update_postgres_role",
"description": "Update attributes of an existing role",
"category": "user-management"
},
{
"name": "delete_postgres_role",
"description": "Delete a role and its associated secret",
"category": "user-management"
},
{
"name": "list_postgres_databases",
"description": "List PostgreSQL databases managed by Database CRDs",
"category": "database-management"
},
{
"name": "create_postgres_database",
"description": "Create a new PostgreSQL database",
"category": "database-management"
},
{
"name": "delete_postgres_database",
"description": "Delete a PostgreSQL database CRD",
"category": "database-management"
}
],
"features": [
"12 comprehensive tools for PostgreSQL cluster lifecycle management",
"Role/user management with automatic password generation and Kubernetes secret storage",
"Database management via CloudNativePG Database CRDs",
"Optional JSON format output for programmatic consumption",
"Automatic cleanup of secrets on cluster deletion",
"Built with FastMCP for simplified development",
"Support for both local (stdio) and remote (HTTP/SSE) transports",
"Automatic namespace inference from Kubernetes context",
"Lazy initialization for graceful startup",
"Comprehensive error handling with actionable suggestions"
],
"prerequisites": [
"Kubernetes cluster with CloudNativePG operator installed",
"Kubernetes config file (kubeconfig) with cluster access",
"Python 3.11 or higher",
"Appropriate RBAC permissions (cnpg-cloudnative-pg-edit or higher)"
],
"notes": [
"Requires access to a Kubernetes cluster with CloudNativePG operator installed",
"Requires kubeconfig file at ~/.kube/config or set KUBECONFIG environment variable",
"Requires appropriate RBAC permissions (see README.md for setup)",
"Smithery automatically handles Python dependencies using uvx for isolation",
"kubectl CLI is NOT required - server uses Kubernetes Python client library"
]
}