Skip to main content
Glama
SMITHERY_READY.md6.6 kB
# Smithery.ai Publication Readiness Checklist This document confirms that cnpg-mcp-server is ready for publication on Smithery.ai. ## ✅ Required Files All required files are present and configured: - [x] **smithery.yaml** - Smithery.ai build configuration (required) - Start command configuration - Config schema for KUBECONFIG - Command function for uvx - [x] **smithery.json** - Smithery.ai metadata (optional) - Server metadata - 12 tools documented - Categories and keywords defined - [x] **README.md** - Comprehensive documentation - Overview and features - Prerequisites clearly listed - 3 installation options (Smithery, manual, pip) - 12 tools documented with examples - RBAC setup instructions - Troubleshooting guide - Security considerations - [x] **LICENSE** - MIT License - Copyright 2025 helxplatform - Standard MIT terms - [x] **requirements.txt** - Python dependencies - fastmcp>=2.0.0 - kubernetes>=28.0.0 - pydantic>=2.0.0 - pyyaml>=6.0.0 - [x] **pyproject.toml** - Modern Python package configuration - Build system configuration - Project metadata - Dependencies and console scripts - [x] **cnpg_mcp_server.py** - Main server file - 1,921 lines - 12 MCP tools implemented - FastMCP-based - Async architecture - Proper error handling - [x] **setup.py** - Python package configuration - Version 1.0.0 - Console script entry point - Dependencies defined - [x] **MANIFEST.in** - Package file inclusion rules - [x] **.gitignore** - Excludes build artifacts ## ✅ Configuration Validation ### smithery.json ```json { "name": "cnpg-mcp-server", "version": "1.0.0", "description": "MCP server for managing PostgreSQL clusters using CloudNativePG in Kubernetes", "runtime": "python", "entrypoint": "cnpg_mcp_server.py" } ``` ### Package Entry Point - Function: `cnpg_mcp_server:run()` - Tested: ✅ `python cnpg_mcp_server.py --help` works - Command: `cnpg-mcp-server` (after pip install) ## ✅ Documentation ### Core Documentation - **README.md**: 623 lines, comprehensive - **CLAUDE.md**: Development guide for AI assistants - **QUICKSTART.md**: Quick start guide - **PUBLISHING.md**: Publication guide (this helps maintainers) - **FASTMCP_MIGRATION.md**: Migration notes ### Example Files - **example-cluster.yaml**: Sample cluster configuration - **rbac.yaml**: RBAC configuration template - **rbac-database.yaml**: Database-specific RBAC ### RBAC Helper - **rbac/bind_cnpg_role.py**: Python script for RBAC setup ## ✅ Code Quality - [x] Syntax check passed - [x] Entry point tested - [x] Help command works - [x] All tools registered (12/12) - [x] Error handling implemented - [x] Security considerations documented - [x] Type hints throughout - [x] Comprehensive docstrings ## ✅ Features ### Cluster Management (5 tools) 1. list_postgres_clusters - List all clusters 2. get_cluster_status - Get cluster details 3. create_postgres_cluster - Create new cluster 4. scale_postgres_cluster - Scale cluster instances 5. delete_postgres_cluster - Delete cluster + secrets cleanup ### Role/User Management (4 tools) 6. list_postgres_roles - List roles 7. create_postgres_role - Create role with auto password 8. update_postgres_role - Update role attributes 9. delete_postgres_role - Delete role + secret ### Database Management (3 tools) 10. list_postgres_databases - List databases 11. create_postgres_database - Create database 12. delete_postgres_database - Delete database CRD ### Additional Features - ✅ JSON format output (4 tools support it) - ✅ Automatic secret cleanup on cluster deletion - ✅ Secret naming: `cnpg-{cluster}-user-{role}` - ✅ Lazy Kubernetes client initialization - ✅ Namespace auto-inference - ✅ Transport-agnostic (stdio ready, HTTP scaffolded) ## ✅ Prerequisites Documented 1. Kubernetes cluster with CloudNativePG operator 2. Python 3.11+ 3. Kubernetes config file (kubeconfig) with cluster access 4. Appropriate RBAC permissions **Note**: kubectl CLI is NOT required - server uses Kubernetes Python client library ## ✅ Installation Methods ### 1. Via Smithery.ai (Recommended) ```bash npx @smithery/cli install cnpg-mcp-server --client claude ``` ### 2. Manual Installation ```bash git clone https://github.com/helxplatform/cnpg-mcp.git cd cnpg-mcp pip install -r requirements.txt python cnpg_mcp_server.py ``` ### 3. Via pip ```bash pip install git+https://github.com/helxplatform/cnpg-mcp.git cnpg-mcp-server ``` ## ✅ Repository Checklist Before pushing to Smithery: - [x] All code committed to GitHub - [x] Repository is public - [x] README.md in repository root - [x] smithery.json in repository root - [x] requirements.txt present - [x] LICENSE file present - [x] No sensitive information in code - [x] .gitignore excludes build artifacts ## 🚀 Next Steps ### To Publish on Smithery.ai: 1. **Push all changes to GitHub**: ```bash git add . git commit -m "Prepare for Smithery.ai publication" git push origin main ``` 2. **Visit Smithery.ai**: - Go to https://smithery.ai - Click "Submit Server" - Provide repository URL: `https://github.com/helxplatform/cnpg-mcp` 3. **Smithery will validate and approve** 4. **Users can install with**: ```bash npx @smithery/cli install cnpg-mcp-server --client claude ``` ### Post-Publication: - Monitor GitHub issues - Respond to user feedback - Plan v1.0.1 for bug fixes - Plan v1.1.0 for new features (backup management, etc.) ## 📊 Project Stats - **Lines of code**: 1,921 (cnpg_mcp_server.py) - **Tools**: 12 - **Dependencies**: 4 core (fastmcp, kubernetes, pydantic, pyyaml) - **Python version**: 3.11+ - **License**: MIT - **Status**: Production-ready ## ✅ Final Verification Run this command to verify everything: ```bash # Verify all key files exist ls -1 smithery.json setup.py README.md LICENSE requirements.txt cnpg_mcp_server.py # Verify syntax python -m py_compile cnpg_mcp_server.py # Verify entry point python cnpg_mcp_server.py --help # Verify tools are registered python -c "from cnpg_mcp_server import mcp; print(f'Tools: {len(mcp._tool_manager._tools)}')" ``` Expected output: - All files found ✅ - Syntax check passed ✅ - Help displayed ✅ - Tools: 12 ✅ --- ## 🎉 Ready for Publication! The cnpg-mcp-server is fully prepared for publication on Smithery.ai. All required files are present, documentation is comprehensive, and the server has been tested and verified. **Repository**: https://github.com/helxplatform/cnpg-mcp **Version**: 1.2.0 **Status**: ✅ READY Last updated: October 29, 2025

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/helxplatform/cnpg-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server