Skip to main content
Connect Gemini CLI to Control Plane to manage your infrastructure through natural language conversations.

Prerequisites

Gemini CLI

Get started with Gemini CLI

Service Account Token

Create a service account with appropriate permissions

Configuration

1

Add the MCP Server

Ask gemini to show you where the user scope settings.json file is:
show me where the global user settings.json file is
Open the settings.json file and add in the control plane mcp server details:
"mcpServers": {
  "cpln": {
    "url": "https://mcp.cpln.io/mcp",
    "headers": {
      "Authorization": "Bearer <your-service-account-token>"
    }
  }
}
Replace <your-service-account-token> with your actual service account token.
We recommend the user scope to make the MCP server available across all your projects. If you prefer to define it locally, open a .gemini folder in your local project, create a settings.json file inside and update the MCP server there.
2

Verify the Connection

List your configured MCP servers to confirm the setup:
gemini mcp list
You should see cpln listed with a successful connection.
cpln: https://mcp.cpln.io/mcp (sse) - ✓ Connected

Managing MCP Servers

# List all MCP servers
gemini mcp list

# Remove an MCP server
gemini mcp remove cpln

# Get help on MCP commands
gemini mcp --help
For the latest configuration options and troubleshooting, refer to the official Gemini CLI Documentation.

Example Conversation

Here’s an example of deploying a public workload through Gemini CLI:
1

Set Context

Use org "my-org" and gvc "my-gvc" for context.
2

Deploy a Workload

Create a publicly accessible workload called "my-api" using nginx:latest on port 80.
3

Get the Endpoint

Monitor the readiness of my-api and give me the public endpoint once it's ready.

Troubleshooting

  • Check that your service account token is valid.
  • Ensure the token is entered without extra spaces or quotes.
  • Verify the token has appropriate permissions (see Service Account Permissions).
  • Check for typos in the org name you’re using for context, this is a common cause of authentication failures.

Next Steps