Rackspace Technology · Capability
Rackspace Cloud Account Operations
Unified workflow for Rackspace cloud account operators: authenticate with Cloud Identity, look up the customer account (RCN) and contacts, and manage DNS zones and records under the tenant. Combines Cloud Identity, Customer Service, and Cloud DNS into a single REST and MCP surface used by managed-cloud operators and platform admins.
What You Can Do
POST
Create session
— Authenticate and obtain a service token.
/v1/sessions
GET
List users
— List identity users.
/v1/users
GET
List customer accounts
— List customer accounts the caller can access.
/v1/customer-accounts
GET
Get customer account
— Get a customer account by RCN.
/v1/customer-accounts
GET
List contacts
— List contacts for a customer account.
/v1/contacts
GET
List dns zones
— List DNS zones for the tenant.
/v1/dns-zones
POST
Create dns zones
— Create one or more DNS zones.
/v1/dns-zones
GET
Show dns zone
— Show DNS zone details.
/v1/dns-zones
DELETE
Delete dns zone
— Delete a DNS zone.
/v1/dns-zones
GET
List dns records
— List records in a DNS zone.
/v1/dns-records
POST
Add dns records
— Add records to a DNS zone.
/v1/dns-records
MCP Tools
authenticate-rackspace
Authenticate to Rackspace Cloud Identity using configured credentials and obtain a service token.
list-customer-accounts
List Rackspace customer accounts (RCNs) accessible to the caller.
read-only
get-customer-account
Get a Rackspace customer account by RCN.
read-only
list-dns-zones
List Rackspace Cloud DNS zones for the configured tenant.
read-only
list-dns-records
List records in a Rackspace Cloud DNS zone.
read-only
add-dns-records
Add DNS records to a Rackspace Cloud DNS zone.
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Rackspace Cloud Account Operations
description: 'Unified workflow for Rackspace cloud account operators: authenticate with Cloud Identity, look up the customer
account (RCN) and contacts, and manage DNS zones and records under the tenant. Combines Cloud Identity, Customer Service,
and Cloud DNS into a single REST and MCP surface used by managed-cloud operators and platform admins.'
tags:
- Rackspace
- Cloud
- Identity
- Account
- DNS
created: '2026-05-05'
modified: '2026-05-06'
binds:
- namespace: env
keys:
RACKSPACE_USERNAME: RACKSPACE_USERNAME
RACKSPACE_API_KEY: RACKSPACE_API_KEY
RACKSPACE_AUTH_TOKEN: RACKSPACE_AUTH_TOKEN
RACKSPACE_ACCOUNT_ID: RACKSPACE_ACCOUNT_ID
capability:
consumes:
- type: http
namespace: cloud-identity
baseUri: https://identity.api.rackspacecloud.com
description: Rackspace Cloud Identity v2.0 API.
authentication:
type: header
header: X-Auth-Token
value: '{{env.RACKSPACE_AUTH_TOKEN}}'
resources:
- name: tokens
path: /v2.0/tokens
description: Authentication tokens.
operations:
- name: authenticate
method: POST
description: Authenticate with username and API key, return a service token.
body:
type: json
data:
auth:
RAX-KSKEY:apiKeyCredentials:
username: '{{env.RACKSPACE_USERNAME}}'
apiKey: '{{env.RACKSPACE_API_KEY}}'
outputRawFormat: json
outputParameters:
- name: token
type: string
value: $.access.token.id
- name: serviceCatalog
type: array
value: $.access.serviceCatalog
- name: validate-token
method: GET
description: Validate a token and return associated user/roles.
inputParameters:
- name: tokenId
in: path
type: string
required: true
description: Token to validate.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: users
path: /v2.0/users
description: Identity users.
operations:
- name: list-users
method: GET
description: List users accessible to the caller.
outputRawFormat: json
outputParameters:
- name: users
type: array
value: $.users
- name: get-user
method: GET
description: Get a user by ID.
inputParameters:
- name: userId
in: path
type: string
required: true
description: User identifier.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.user
- name: roles
path: /v2.0/users/{userId}/roles
description: Role assignments for a user.
operations:
- name: list-user-roles
method: GET
description: List global roles assigned to a user.
inputParameters:
- name: userId
in: path
type: string
required: true
description: User identifier.
outputRawFormat: json
outputParameters:
- name: roles
type: array
value: $.roles
- type: http
namespace: customer-service
baseUri: https://accounts.api.rackspacecloud.com
description: Rackspace Customer Service v1 API.
authentication:
type: header
header: X-Auth-Token
value: '{{env.RACKSPACE_AUTH_TOKEN}}'
resources:
- name: customer-accounts
path: /v1/customer_accounts
description: Customer accounts the caller can access.
operations:
- name: list-customer-accounts
method: GET
description: List customer accounts accessible to the caller.
outputRawFormat: json
outputParameters:
- name: accounts
type: array
value: $.customer_accounts
- name: get-customer-account
method: GET
description: Get a customer account by RCN.
inputParameters:
- name: rcn
in: path
type: string
required: true
description: Rackspace Customer Number.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: contacts
path: /v1/customer_accounts/{rcn}/contacts
description: Contacts associated with a customer account.
operations:
- name: list-contacts
method: GET
description: List contacts for a customer account.
inputParameters:
- name: rcn
in: path
type: string
required: true
description: Rackspace Customer Number.
outputRawFormat: json
outputParameters:
- name: contacts
type: array
value: $.contacts
- type: http
namespace: cloud-dns
baseUri: https://dns.api.rackspacecloud.com/v1.0
description: Rackspace Cloud DNS API v1.0.
authentication:
type: header
header: X-Auth-Token
value: '{{env.RACKSPACE_AUTH_TOKEN}}'
resources:
- name: domains
path: /{accountId}/domains
description: DNS zones.
operations:
- name: list-domains
method: GET
description: List all DNS domains for the account.
inputParameters:
- name: accountId
in: path
type: string
required: true
description: Tenant ID.
- name: limit
in: query
type: integer
required: false
description: Maximum results (<=100).
- name: offset
in: query
type: integer
required: false
description: Pagination offset.
- name: name
in: query
type: string
required: false
description: Filter by name.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: create-domains
method: POST
description: Create one or more DNS domains.
inputParameters:
- name: accountId
in: path
type: string
required: true
description: Tenant ID.
body:
type: json
data:
domains: '{{tools.domains}}'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: show-domain
method: GET
description: Get details for a single DNS domain.
inputParameters:
- name: accountId
in: path
type: string
required: true
description: Tenant ID.
- name: domainId
in: path
type: string
required: true
description: Domain ID.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: delete-domain
method: DELETE
description: Delete a DNS domain.
inputParameters:
- name: accountId
in: path
type: string
required: true
description: Tenant ID.
- name: domainId
in: path
type: string
required: true
description: Domain ID.
- name: deleteSubdomains
in: query
type: boolean
required: false
description: Also delete subdomains.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: records
path: /{accountId}/domains/{domainId}/records
description: DNS records within a domain.
operations:
- name: list-records
method: GET
description: List DNS records for a domain.
inputParameters:
- name: accountId
in: path
type: string
required: true
description: Tenant ID.
- name: domainId
in: path
type: string
required: true
description: Domain ID.
- name: type
in: query
type: string
required: false
description: Record type filter.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: add-records
method: POST
description: Add DNS records to a domain.
inputParameters:
- name: accountId
in: path
type: string
required: true
description: Tenant ID.
- name: domainId
in: path
type: string
required: true
description: Domain ID.
body:
type: json
data:
records: '{{tools.records}}'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8081
namespace: cloud-account-operations-api
description: Unified REST API for Rackspace cloud account operations.
resources:
- path: /v1/sessions
name: sessions
description: Authentication sessions.
operations:
- method: POST
name: create-session
description: Authenticate and obtain a service token.
call: cloud-identity.authenticate
outputParameters:
- type: object
mapping: $.
- path: /v1/users
name: users
description: Identity user lookups.
operations:
- method: GET
name: list-users
description: List identity users.
call: cloud-identity.list-users
outputParameters:
- type: object
mapping: $.
- path: /v1/customer-accounts
name: customer-accounts
description: Customer account lookups.
operations:
- method: GET
name: list-customer-accounts
description: List customer accounts the caller can access.
call: customer-service.list-customer-accounts
outputParameters:
- type: object
mapping: $.
- method: GET
name: get-customer-account
description: Get a customer account by RCN.
call: customer-service.get-customer-account
with:
rcn: rest.rcn
outputParameters:
- type: object
mapping: $.
- path: /v1/contacts
name: contacts
description: Customer contact lookups.
operations:
- method: GET
name: list-contacts
description: List contacts for a customer account.
call: customer-service.list-contacts
with:
rcn: rest.rcn
outputParameters:
- type: object
mapping: $.
- path: /v1/dns-zones
name: dns-zones
description: DNS zones (domains) under the tenant.
operations:
- method: GET
name: list-dns-zones
description: List DNS zones for the tenant.
call: cloud-dns.list-domains
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
outputParameters:
- type: object
mapping: $.
- method: POST
name: create-dns-zones
description: Create one or more DNS zones.
call: cloud-dns.create-domains
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
domains: rest.domains
outputParameters:
- type: object
mapping: $.
- method: GET
name: show-dns-zone
description: Show DNS zone details.
call: cloud-dns.show-domain
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
domainId: rest.domainId
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: delete-dns-zone
description: Delete a DNS zone.
call: cloud-dns.delete-domain
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
domainId: rest.domainId
outputParameters:
- type: object
mapping: $.
- path: /v1/dns-records
name: dns-records
description: DNS records within a zone.
operations:
- method: GET
name: list-dns-records
description: List records in a DNS zone.
call: cloud-dns.list-records
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
domainId: rest.domainId
outputParameters:
- type: object
mapping: $.
- method: POST
name: add-dns-records
description: Add records to a DNS zone.
call: cloud-dns.add-records
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
domainId: rest.domainId
records: rest.records
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 8082
namespace: cloud-account-operations-mcp
transport: http
description: MCP server for AI-assisted Rackspace cloud account operations.
tools:
- name: authenticate-rackspace
description: Authenticate to Rackspace Cloud Identity using configured credentials and obtain a service token.
hints:
readOnly: false
openWorld: true
call: cloud-identity.authenticate
outputParameters:
- type: object
mapping: $.
- name: list-customer-accounts
description: List Rackspace customer accounts (RCNs) accessible to the caller.
hints:
readOnly: true
openWorld: true
call: customer-service.list-customer-accounts
outputParameters:
- type: object
mapping: $.
- name: get-customer-account
description: Get a Rackspace customer account by RCN.
hints:
readOnly: true
openWorld: true
call: customer-service.get-customer-account
with:
rcn: tools.rcn
outputParameters:
- type: object
mapping: $.
- name: list-dns-zones
description: List Rackspace Cloud DNS zones for the configured tenant.
hints:
readOnly: true
openWorld: true
call: cloud-dns.list-domains
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
outputParameters:
- type: object
mapping: $.
- name: list-dns-records
description: List records in a Rackspace Cloud DNS zone.
hints:
readOnly: true
openWorld: true
call: cloud-dns.list-records
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
domainId: tools.domainId
outputParameters:
- type: object
mapping: $.
- name: add-dns-records
description: Add DNS records to a Rackspace Cloud DNS zone.
hints:
readOnly: false
openWorld: true
call: cloud-dns.add-records
with:
accountId: '{{env.RACKSPACE_ACCOUNT_ID}}'
domainId: tools.domainId
records: tools.records
outputParameters:
- type: object
mapping: $.