{"openapi":"3.1.0","info":{"title":"Vultr (BYOK) API","version":"0.1.0","description":"Vultr (BYOK) lets an AI assistant read your own Vultr data through the Vultr API with a key you supply (API key (restrict it to your own address or leave access control open)). Read-only: 9 tools (get_account, list_billing_history, list_invoices, get_pending_charges, list_bare_metal_servers, list_block_storage, list_backups, list_dns_domains, list_dns_records). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-vultr.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-vultr/docs"},"termsOfService":"https://connectorbay.com/byok-vultr/terms"},"servers":[{"url":"https://byok-vultr.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-vultr/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_account":{"post":{"operationId":"get_account","summary":"Show the Vultr account's name, email, current balance, pending charges and last payment date and amount. Use for \"What i","description":"Show the Vultr account's name, email, current balance, pending charges and last payment date and amount. Use for \"What is my Vultr balance and how much is pending this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_accountArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_billing_history":{"post":{"operationId":"list_billing_history","summary":"List billing history entries (payments, credits, charges) with date, type, description, amount and running balance. Use ","description":"List billing history entries (payments, credits, charges) with date, type, description, amount and running balance. Use for \"What payments did I make to Vultr recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 500).","title":"Per Page"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor copied from meta.links.next of the previous answer; leave empty for the first page.","title":"Cursor"}},"title":"list_billing_historyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_invoices":{"post":{"operationId":"list_invoices","summary":"List Vultr invoices with id, date, description, amount and balance. Use for \"Which Vultr invoices do I have\".","description":"List Vultr invoices with id, date, description, amount and balance. Use for \"Which Vultr invoices do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 500).","title":"Per Page"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor copied from meta.links.next of the previous answer; leave empty for the first page.","title":"Cursor"}},"title":"list_invoicesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_pending_charges":{"post":{"operationId":"get_pending_charges","summary":"List the charges accrued so far in the current billing period with product, units, unit price and total. Use for \"What h","description":"List the charges accrued so far in the current billing period with product, units, unit price and total. Use for \"What has my Vultr account been charged so far this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_pending_chargesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_bare_metal_servers":{"post":{"operationId":"list_bare_metal_servers","summary":"List bare metal servers with label, region, plan, status, main IP, operating system, RAM, disk and CPU count. Passwords ","description":"List bare metal servers with label, region, plan, status, main IP, operating system, RAM, disk and CPU count. Passwords are not returned. Use for \"Which Vultr bare metal servers do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 500).","title":"Per Page"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor copied from meta.links.next of the previous answer; leave empty for the first page.","title":"Cursor"}},"title":"list_bare_metal_serversArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_block_storage":{"post":{"operationId":"list_block_storage","summary":"List block storage volumes with label, size in GB, region, monthly cost, status and the instance each is attached to. Us","description":"List block storage volumes with label, size in GB, region, monthly cost, status and the instance each is attached to. Use for \"How big are my Vultr block storage volumes and what are they attached to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 500).","title":"Per Page"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor copied from meta.links.next of the previous answer; leave empty for the first page.","title":"Cursor"}},"title":"list_block_storageArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_backups":{"post":{"operationId":"list_backups","summary":"List Vultr backups with description, size in bytes, status and creation date, optionally for one instance. Use for \"What","description":"List Vultr backups with description, size in bytes, status and creation date, optionally for one instance. Use for \"What backups exist for my Vultr instance\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only backups of the instance with this id (UUID).","title":"Instance Id"},"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 500).","title":"Per Page"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor copied from meta.links.next of the previous answer; leave empty for the first page.","title":"Cursor"}},"title":"list_backupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_dns_domains":{"post":{"operationId":"list_dns_domains","summary":"List DNS domains in the Vultr account with creation date and whether DNSSEC is enabled. Use for \"Which DNS domains do I ","description":"List DNS domains in the Vultr account with creation date and whether DNSSEC is enabled. Use for \"Which DNS domains do I host on Vultr\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 500).","title":"Per Page"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor copied from meta.links.next of the previous answer; leave empty for the first page.","title":"Cursor"}},"title":"list_dns_domainsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_dns_records":{"post":{"operationId":"list_dns_records","summary":"List the DNS records of one Vultr DNS domain with type, name, data, priority and TTL. Use for \"What DNS records does exa","description":"List the DNS records of one Vultr DNS domain with type, name, data, priority and TTL. Use for \"What DNS records does example.com have on Vultr\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dns_domain":{"description":"The DNS domain name, for example 'example.com'.","maxLength":253,"title":"Dns Domain","type":"string"},"per_page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 500).","title":"Per Page"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor copied from meta.links.next of the previous answer; leave empty for the first page.","title":"Cursor"}},"required":["dns_domain"],"title":"list_dns_recordsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}