# General Prompting Guidelines When working with MCP-enabled AI assistants to manage your DigitalOcean infrastructure, follow these best practices: - **Be specific about the service**: Mention the specific DigitalOcean product to help the assistant use the right tools. - **Include resource identifiers**: Provide IDs, names, or UUIDs when referring to existing resources. - **Specify regions and sizes**: Always include region slugs (like `nyc3`, `sfo3`) and size slugs (like `s-1vcpu-1gb`) when creating resources. - **Start simple, then iterate**: Begin with basic queries to verify information before making changes. - **Request confirmation for destructive actions**: Ask the assistant to confirm before deleting or modifying critical resources. The following example prompts map to the specific tools exposed by each product’s MCP server. ## App Platform - “Show me all my apps in App Platform.” - “Get deployment status for app `app-id`.” - “Deploy this GitHub repository as an App Platform app.” ## Droplets - “Create a new droplet named `web-server` with 1GB RAM in `NYC3`.” - “Reboot droplet `droplet-id`.” - “Create a snapshot of droplet `droplet-id` called `backup-2024-11`.” ## Kubernetes (DOKS) - “List all my Kubernetes clusters.” - “Create a new Kubernetes cluster named `production-k8s` in `nyc3`.” - “Get the kubeconfig for cluster `cluster-id`.” ## Databases (DBaaS) - “List all my database clusters.” - “Create a PostgreSQL database called `production-db` in `nyc1`.” - “Delete database cluster `cluster-id`.” ## Spaces - “List all my Spaces access keys.” - “Create a new Spaces access key named `backup-key`.” - “Delete Spaces access key `access-key-id`.” ## Insights and Monitoring - “List all my uptime checks.” - “Create an uptime check for `https://example.com`.” - “List all my alert policies.” ## Marketplace (1-Click Apps) - “List all available 1-click apps for droplets.” - “Show me Kubernetes 1-click applications.” - “Install WordPress on my Kubernetes cluster `cluster-uuid`.” ## Account and Common - “List all available DigitalOcean regions.” - “Show me my account information.” - “List my SSH keys.” ## Complex Multi-Step Prompts For more complex infrastructure tasks, you can combine multiple operations in a single request: - “Create a PostgreSQL database cluster named `production-db` in `nyc3` with 3 nodes, then create a user named `api-user` and show me the connection details.” - “List all my droplets in `nyc3`, then create a snapshot of the one named `web-server`.” - “Create a Kubernetes cluster called `staging-k8s` in `sfo3` with a node pool of 3 nodes, then install the nginx 1-click app.” - “Show me the deployment status of my app, then if it’s unhealthy, trigger a new deployment.” ## Troubleshooting and Information Gathering - “What’s the current resource usage for my app `app-name`?” - “Why isn’t my uptime check `check-id` passing?” - “Show me all failed deployments for app `app-id`.” - “Which of my droplets have backups enabled?” - “List all database clusters in the `nyc1` region.” ## Best Practices for Destructive Operations When performing operations that delete or significantly modify resources, be explicit: - **Good**: “Delete droplet `droplet-id` but show me its details first to confirm.” - **Good**: “I want to delete my database cluster `production-db` - confirm this is cluster-id `cluster-id` before proceeding.” - **Avoid**: “Clean up my old resources” (too vague). - **Avoid**: “Delete everything” (dangerous and unclear).