# JD Cloud Infrastructure MCP

> JD Cloud Infrastructure MCP connects your AI agent directly to JD Cloud's full suite of operations tools. You can manage VMs, disks, and databases from a single chat interface. List instances, start/stop machines, monitor CPU usage, and check Object Storage buckets without leaving your development environment.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** cloud-management, virtual-machines, resource-monitoring, infrastructure-lifecycle, disk-management, cloud-storage

## Description

Managing cloud infrastructure usually means clicking through half a dozen different dashboards. You’re looking at VM status in one tab, disk metrics in another, and networking logs somewhere else. This MCP changes that. It gives your AI agent direct access to the core control plane for JD Cloud—the enterprise backbone running massive e-commerce operations.

Through this connection, you can query resource states, check performance graphs, and perform lifecycle actions using natural conversation. Whether it’s checking if a virtual machine needs a reboot or listing all available Object Storage buckets, your agent handles the API calls instantly. You get to skip the console hopping entirely. Since Vinkius hosts this MCP, your agent connects once and gains access to JD Cloud's full operational toolkit, right alongside thousands of other services. It’s about getting immediate answers and executing changes without ever touching a cloud provider dashboard.

## Tools

### describe_cloud_disk
Gets detailed info on a specific cloud disk volume.

### describe_vm_instance
Retrieves detailed information about a specific virtual machine instance.

### describe_metric_data
Pulls monitoring metric data for any given cloud resource.

### list_oss_buckets
Gives a list of all Object Storage Service buckets.

### list_cloud_disks
Provides an inventory of all cloud disk volumes in your region.

### list_elastic_ips
Lists every Elastic IP address allocated to your account.

### list_vm_instances
Lists all virtual machine instances currently running or stopped in the JD Cloud area.

### list_rds_instances
Shows an inventory of all managed database (RDS) instances in your region.

### reboot_vm_instance
Forces a reboot cycle on an existing VM instance.

### start_vm_instance
Starts up a virtual machine that is currently stopped.

### stop_vm_instance
Shuts down a running VM instance to save costs or for maintenance.

## Prompt Examples

**Prompt:** 
```
List all my running virtual machines on JD Cloud.
```

**Response:** 
```
I queried the VM service and found 4 instances: 2 running (i-abc123, i-def456), 1 stopped (i-ghi789), and 1 in maintenance (i-jkl012). Total allocated vCPUs: 16.
```

**Prompt:** 
```
Show me the CPU usage for instance i-abc123 over the last hour.
```

**Response:** 
```
I pulled cpu.util metrics for i-abc123. Average CPU usage: 34.2%, peak: 78.9% at 23:42 UTC. The instance appears healthy with no sustained high-load periods.
```

## Capabilities

### Manage VM State
You can list all virtual machines and send commands to start, stop, or reboot individual instances.

### Monitor Resource Health
Query time-series data for CPU usage, network traffic, and disk performance on any resource.

### Inventory Storage Resources
Get full listings of cloud disks and Object Storage Service buckets in your region.

### Query Network Assets
List all Elastic IP allocations and confirm their current association status.

## Use Cases

### Need to find out why a service is running slow.
The agent gets pinged: 'Check CPU usage for my primary web server.' It immediately uses `describe_metric_data` on the target VM, finds high load spikes, and reports back that the machine needs scaling. No manual metric checks needed.

### Deploying a new microservice requires a clean slate.
An engineer asks to provision a test environment: 'List all running VMs, then stop any non-critical ones.' The agent uses `list_vm_instances` and executes multiple state changes with the necessary tools.

### Investigating data loss after an unexpected shutdown.
The team leader asks to review disks: 'Show me all attached cloud disks for this project.' The agent runs `list_cloud_disks`, giving a complete list of potential storage sources.

### Preparing for peak traffic season maintenance window.
A team member needs to verify network readiness. They run 'List all IPs and check which are associated.' The agent uses `list_elastic_ips` for a complete audit before the deployment starts.

## Benefits

- You manage the full VM lifecycle—start, stop, rebooting instances—all through chat commands. No need to jump between the Instance Dashboard and the Compute API.
- Get immediate health data by querying metrics using `describe_metric_data` for any resource. This is faster than pulling graphs from a separate monitoring tool.
- Inventory management gets simpler. Use `list_cloud_disks` or `list_oss_buckets` to quickly get counts and IDs without running complex search queries in the console.
- Handle network issues fast. You can use `list_elastic_ips` to verify IP allocations, then cross-reference that data when checking a VM's status via `describe_vm_instance`.
- The agent handles credentials and signatures automatically. You just tell it what you need; it figures out the complex API calls using your Access Key and Secret Key.

## How It Works

The bottom line is: Your AI client handles all the complex authentication and API calls behind the scenes; you just talk to it.

1. Navigate to the JD Cloud Console and generate your IAM Access Keys.
2. Plug your Access Key, Secret Key, and Region ID into Vurb.
3. The MCP engine builds the required `JDCLOUD2-HMAC-SHA256` signature locally for every single request.

## Frequently Asked Questions

**How do I check CPU usage using describe_metric_data?**
You pass the resource ID and specify the metric type (e.g., `cpu.util`). The agent returns time-series data, showing averages and peaks over the requested period.

**What is the difference between stop_vm_instance and list_vm_instances?**
`list_vm_instances` just shows you what's there. `stop_vm_instance` actively changes the state, shutting down a running machine.

**Can I use describe_cloud_disk to find out which VM it belongs to?**
The function gives detailed information about the disk itself (size, type). You must cross-reference that output with `describe_vm_instance` to confirm attachment.

**Do I need to manually manage my access keys for list_elastic_ips?**
No. The MCP handles the complex authentication and signature generation using your provided Access Key and Secret Key automatically, so you just talk to it.

**When I use `start_vm_instance` or `stop_vm_instance`, how do I handle common failure codes?**
The MCP returns the specific cloud error code and message. If a state change fails, check the detailed logs using describe_vm_instance; this pinpoints whether it's an invalid resource ID or a permission issue.

**Do I hit rate limits when repeatedly calling `list_oss_buckets`?**
Yes, API rate limiting applies. While the MCP manages some retries automatically, making too many calls in quick succession can fail. For high-volume checks, consider batching your requests.

**If my agent runs `describe_rds_instances` and doesn't see a database, what permissions am I missing?**
You need read access on the specific RDS resource group. The visibility of any resource is strictly tied to the IAM keys you provide; the AI client can only report what your credentials allow it to see.

**Can I filter results when calling `list_vm_instances` by tags or criteria?**
Yes, you pass filters as arguments. To narrow down the scope of virtual machines, include specific tag keys and values in your request to get a highly targeted list.

**Is the JDCLOUD2-HMAC-SHA256 signing handled automatically?**
Yes. The MCP engine locally derives signing keys through HMAC chains (date → region → service → jdcloud2_request), constructs canonical requests, and injects the Authorization header transparently. Your AI never handles raw crypto.