Skip to main content
Glama

Cloud Manage MCP Server

by rainhan99

list_vultr_instances

Retrieve details of all Vultr instances on the Cloud Manage MCP Server, enabling users to monitor and manage cloud resources effectively.

Instructions

列出所有Vultr实例

Input Schema

NameRequiredDescriptionDefault

No arguments

Input Schema (JSON Schema)

{ "properties": {}, "title": "list_vultr_instancesArguments", "type": "object" }

Implementation Reference

  • main.py:540-545 (registration)
    MCP tool registration and thin handler for list_vultr_instances, delegates to vultr_provider.list_instances()
    @mcp.tool() def list_vultr_instances() -> Dict: """ 列出所有Vultr实例 """ return vultr_provider.list_instances()
  • Core implementation of listing Vultr instances via API, formats and returns list
    def list_instances(self) -> Dict: """ 列出所有Vultr实例 Returns: Dict: 实例列表或错误信息 """ if not self.available: return { 'error': f'Vultr服务不可用: {getattr(self, "error", "未知错误")}', 'provider': 'vultr' } try: response = requests.get(f'{self.base_url}/instances', headers=self.headers, timeout=10) if response.status_code != 200: return { 'error': f'Vultr API调用失败: {response.status_code} - {response.text}', 'provider': 'vultr' } data = response.json() instances = data.get('instances', []) instance_list = [] for instance in instances: instance_info = self._format_instance_summary(instance) instance_list.append(instance_info) return { 'provider': 'vultr', 'total_instances': len(instance_list), 'instances': instance_list } except requests.RequestException as e: return { 'error': f'网络请求失败: {str(e)}', 'provider': 'vultr' } except Exception as e: return { 'error': f'列出Vultr实例时发生错误: {str(e)}', 'provider': 'vultr' }
  • Helper function to format instance summary used in list_instances
    def _format_instance_summary(self, instance: Dict) -> Dict: """格式化实例摘要信息""" return { 'id': instance.get('id'), 'label': instance.get('label', '未命名'), 'hostname': instance.get('hostname'), 'status': instance.get('status'), 'power_status': instance.get('power_status'), 'main_ip': instance.get('main_ip'), 'ram': instance.get('ram'), 'vcpu_count': instance.get('vcpu_count'), 'region': instance.get('region'), 'plan': instance.get('plan'), 'os': instance.get('os'), 'date_created': instance.get('date_created') }
  • Helper to format detailed instance info, though not directly used in list_instances but related
    def _format_instance_info(self, instance: Dict) -> Dict: """格式化实例详细信息""" return { 'id': instance.get('id'), 'label': instance.get('label', '未命名'), 'hostname': instance.get('hostname'), 'status': instance.get('status'), 'power_status': instance.get('power_status'), 'server_status': instance.get('server_status'), 'allowed_bandwidth': instance.get('allowed_bandwidth'), 'netmask_v4': instance.get('netmask_v4'), 'gateway_v4': instance.get('gateway_v4'), 'main_ip': instance.get('main_ip'), 'v6_main_ip': instance.get('v6_main_ip'), 'ram': instance.get('ram'), 'disk': instance.get('disk'), 'vcpu_count': instance.get('vcpu_count'), 'region': instance.get('region'), 'plan': instance.get('plan'), 'os': instance.get('os'), 'os_id': instance.get('os_id'), 'app_id': instance.get('app_id'), 'firewall_group_id': instance.get('firewall_group_id'), 'features': instance.get('features', []), 'tags': instance.get('tags', []), 'internal_ip': instance.get('internal_ip'), 'kvm': instance.get('kvm'), 'date_created': instance.get('date_created') }
  • main.py:14-14 (registration)
    Import of vultr_provider module
    from providers.vultr_provider import vultr_provider

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rainhan99/cloud_manage_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server