Usage Guide
This guide provides detailed instructions on how to install, configure, and use the CWCloud MCP Server.
Prerequisitesβ
- Go 1.23+ - Download Go
- CWCloud Account - Sign up for access
- API Keys - Generate your access and secret keys from the CWCloud credentials page
Installationβ
Option 1: Clone and Buildβ
# Clone the repository
git clone https://github.com/cwloudtech/cwcloud-mcp.git
cd cwcloud-mcp
# Build the server
go build -o cwcloud-mcp ./cmd/server
# Make it executable
chmod +x cwcloud-mcp
Option 2: Direct Installationβ
# Install directly from source
go install github.com/cwloudtech/cwcloud-mcp/cmd/server@latest
Configurationβ
Environment Setupβ
Create a .env file in the project root:
# Copy the example configuration
cp .env.example .env
Edit .env with your CWCloud credentials:
# CWCloud API Configuration
COMWORK_API_URL=https://api.cwcloud.tech
COMWORK_ACCESS_KEY=your_access_key_here
COMWORK_SECRET_KEY=your_secret_key_here
# Server Configuration (optional)
SERVER_PORT=8080
LOG_LEVEL=info
Getting Your API Keysβ
- Log in to your CWCloud Dashboard
- Navigate to Credentials β API Keys
- Generate a new API key pair
- Copy the Access Key and Secret Key to your
.envfile
Quick Startβ
Github Copilot Integration Guide (Recommended)β
The fastest way to get started with CWCloud MCP Server and GitHub Copilot:
# Clone and navigate to the project
git clone https://github.com/cwloudtech/cwcloud-mcp.git
cd cwcloud-mcp
# Run the automated setup
./setup-github-copilot.sh
This will:
- Build the server
- Configure your CWCloud API credentials
- Set up VS Code MCP integration
- Test the connection
See Github Copilot Integration Guide for detailed setup guide
Manual Testingβ
# Run interactive tests with AI functionality
./test-interactive.sh
Connect with MCP Clientsβ
GitHub Copilotβ
After running ./setup-github-copilot.sh, restart VS Code and use:
AI Tools:
#generate_ai_prompt- Generate AI responses using various models#list_conversations- List conversation history#list_adapters- List available AI adapters
User Environment Tools (Read-Only):
#list_environments- List all your cloud environments#get_environment- Get detailed information about a specific environment
Admin Environment Tools (Full Management):
#admin_list_environments- List environments with admin details and statistics#admin_get_environment- Get environment details with admin metadata#admin_create_environment- Create new cloud environments (admin only)#admin_update_environment- Update existing environment properties (admin only)#admin_delete_environment- Delete environments with confirmation (admin only)
Docker Usageβ
Build Docker Imageβ
# Build the Docker image
docker build -t cwcloud-mcp .
Run with Environment Variablesβ
# Method 1: Using individual environment variables
docker run -i --rm \
-e COMWORK_API_URL=https://api.cwcloud.tech \
-e COMWORK_ACCESS_KEY=your_access_key \
-e COMWORK_SECRET_KEY=your_secret_key \
-e LOG_LEVEL=info \
cwcloud-mcp
# Method 2: Using environment file
docker run -i --rm --env-file .env.docker cwcloud-mcp
Test Docker Containerβ
# Test MCP protocol (basic functionality)
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-06-18", "capabilities": {"tools": {}}, "clientInfo": {"name": "test", "version": "1.0.0"}}}' | \
docker run -i --rm --env-file .env.docker cwcloud-mcp
# Test AI generation
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "generate_ai_prompt", "arguments": {"adapter": "gpt4o", "message": "Hello world!"}}}' | \
docker run -i --rm --env-file .env.docker cwcloud-mcp
# Test conversation listing
echo '{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "list_conversations", "arguments": {}}}' | \
docker run -i --rm --env-file .env.docker cwcloud-mcp
# Test environment listing
echo '{"jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": {"name": "list_environments", "arguments": {"format": "table"}}}' | \
docker run -i --rm --env-file .env.docker cwcloud-mcp
# Test admin environment listing (requires admin privileges)
echo '{"jsonrpc": "2.0", "id": 5, "method": "tools/call", "params": {"name": "admin_list_environments", "arguments": {"format": "table", "include_stats": true}}}' | \
docker run -i --rm --env-file .env.docker cwcloud-mcp
Available Tools (119 Total)β
AI Tools (3):
generate_ai_prompt: Generate AI responses using various models (GPT-4, Claude, Gemini).list_conversations: List and manage your AI conversation history.list_adapters: List all available AI adapters and their current status.
Environment Management (11 tools):
list_environments: List all your cloud environments with various output formats.get_environment: Get detailed information about a specific environment.admin_list_environments: List environments with enhanced admin details and statistics.admin_get_environment: Get environment details with admin metadata and additional information.admin_create_environment: Create new cloud environments (VM, Kubernetes, Functions, etc.).admin_update_environment: Update environment properties like name, size, or configuration.admin_delete_environment: Safely delete environments with confirmation requirements.
Project Management (7 tools):
list_projects: List all your projects with various output formats.get_project: Get detailed information about a specific project.admin_list_projects: List projects with admin privileges and enhanced details.admin_get_project: Get project details with admin metadata.admin_create_project: Create new projects with admin privileges.admin_update_project: Update project properties with admin privileges.admin_delete_project: Delete projects with admin privileges and confirmation.
Instance Management (10 tools):
list_instances: List all your VM instances with various output formats.get_instance: Get detailed information about a specific instance.create_instance: Create new VM instances.update_instance: Update existing instance properties.delete_instance: Delete VM instances.admin_list_instances: List instances with admin privileges and enhanced details.admin_get_instance: Get instance details with admin metadata.admin_create_instance: Create instances with admin privileges.admin_update_instance: Update instances with admin privileges.admin_delete_instance: Delete instances with admin privileges.
Storage Management (10 tools):
list_buckets: List all your storage buckets with various output formats.get_bucket: Get detailed information about a specific bucket.create_bucket: Create new storage buckets.update_bucket: Update existing bucket properties.delete_bucket: Delete storage buckets.admin_list_buckets: List buckets with admin privileges and enhanced details.admin_get_bucket: Get bucket details with admin metadata.admin_create_bucket: Create buckets with admin privileges.admin_update_bucket: Update buckets with admin privileges.admin_delete_bucket: Delete buckets with admin privileges.
Registry Management (10 tools):
list_registries: List all your container registries with various output formats.get_registry: Get detailed information about a specific registry.create_registry: Create new container registries.update_registry: Update existing registry properties.delete_registry: Delete container registries.admin_list_registries: List registries with admin privileges and enhanced details.admin_get_registry: Get registry details with admin metadata.admin_create_registry: Create registries with admin privileges.admin_update_registry: Update registries with admin privileges.admin_delete_registry: Delete registries with admin privileges.
Function Management (12 tools):
list_functions: List all your serverless functions with various output formats.get_function: Get detailed information about a specific function.create_function: Create new serverless functions.update_function: Update existing function properties.delete_function: Delete serverless functions.invoke_function: Execute serverless functions with parameters.list_invocations: List function invocation history and logs.admin_list_functions: List functions with admin privileges and enhanced details.admin_get_function: Get function details with admin metadata.admin_create_function: Create functions with admin privileges.admin_update_function: Update functions with admin privileges.admin_delete_function: Delete functions with admin privileges.
Monitoring Management (10 tools):
list_monitors: List all your monitoring endpoints with various output formats.get_monitor: Get detailed information about a specific monitor.create_monitor: Create new monitoring endpoints.update_monitor: Update existing monitor properties.delete_monitor: Delete monitoring endpoints.admin_list_monitors: List monitors with admin privileges and enhanced details.admin_get_monitor: Get monitor details with admin metadata.admin_create_monitor: Create monitors with admin privileges.admin_update_monitor: Update monitors with admin privileges.admin_delete_monitor: Delete monitors with admin privileges.
User Management (10 tools):
list_users: List all system users with various output formats.get_user: Get detailed information about a specific user.create_user: Create new system users.update_user: Update existing user properties.delete_user: Delete system users.admin_list_users: List users with admin privileges and enhanced details.admin_get_user: Get user details with admin metadata.admin_create_user: Create users with admin privileges.admin_update_user: Update users with admin privileges.admin_delete_user: Delete users with admin privileges.
DNS Management (10 tools):
list_dns_records: List all your DNS records with various output formats.get_dns_record: Get detailed information about a specific DNS record.create_dns_record: Create new DNS records (A, AAAA, CNAME, MX, etc.).update_dns_record: Update existing DNS record properties.delete_dns_record: Delete DNS records.admin_list_dns_records: List DNS records with admin privileges and enhanced details.admin_get_dns_record: Get DNS record details with admin metadata.admin_create_dns_record: Create DNS records with admin privileges.admin_update_dns_record: Update DNS records with admin privileges.admin_delete_dns_record: Delete DNS records with admin privileges.
Supported AI Models:
gpt4o,gpt4o-mini- OpenAI GPT-4 variantsclaude3sonnet,claude3haiku- Anthropic Claude 3gemini,gemini-pro- Google Geminiopenmistral- OpenMistral
For detailed usage examples, see Github Copilot Integration Guide