start_resource
Start cloud instances or functions on AWS, Azure, or GCP by specifying the provider and resource ID.
Instructions
Start a cloud resource (instance, function, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | Cloud provider | |
| resourceId | Yes | Resource ID to start | |
| resourceType | Yes | Resource type |
Implementation Reference
- src/tools/resource-management.ts:199-209 (handler)The handler logic for the 'start_resource' tool within the handleResourceManagementTool function. It starts an AWS EC2 instance if provider is 'aws' and type is 'instance'; otherwise throws an error.case 'start_resource': { const resourceId = params.resourceId as string; const resourceType = params.resourceType as string; if (provider === 'aws' && resourceType === 'instance') { const adapter = new AWSAdapter(); await adapter.startEC2Instance(resourceId); return { success: true, message: `Instance ${resourceId} started` }; } throw new Error(`Start operation not yet implemented for ${provider} ${resourceType}`); }
- The tool schema definition for 'start_resource', including name, description, and input schema for provider, resourceId, and resourceType.{ name: 'start_resource', description: 'Start a cloud resource (instance, function, etc.)', inputSchema: { type: 'object', properties: { provider: { type: 'string', enum: ['aws', 'azure', 'gcp'], description: 'Cloud provider', }, resourceId: { type: 'string', description: 'Resource ID to start', }, resourceType: { type: 'string', enum: ['instance', 'function'], description: 'Resource type', }, }, required: ['provider', 'resourceId', 'resourceType'], }, },
- src/server.ts:70-71 (registration)Registration and routing logic in the main MCP server handler: checks if the tool name matches one in resourceManagementTools and delegates to handleResourceManagementTool.} else if (resourceManagementTools.some((t) => t.name === name)) { result = await handleResourceManagementTool(name, args || {});
- src/server.ts:50-53 (registration)Registers the list of all tools (including start_resource via resourceManagementTools spread into allTools) with the MCP server for the ListTools request.this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: allTools, };