Documentation

Available Tools

The MCP server exposes 43 read-only tools. The first tool, list_organisations, requires no arguments. All other tools require an org_id argument — call list_organisations first to get the org IDs.

Authentication

Every request must include a valid PAT in the Authorization header:

Authorization: Bearer <your-token>

Key points about authentication:

  • Tokens are tied to your email, not a specific organisation
  • Permissions are checked dynamically per request
  • If you are removed from an organisation, access is denied immediately
  • If MCP is disabled for an organisation, tool calls for that org are blocked
  • Tokens have configurable expiry — create a new one when it expires
  • All tool calls are read-only — you cannot modify data through MCP

Tools Reference

ToolDescriptionRequired Arguments
list_organisationsList all organisations you have access toNone
get_organisationGet organisation detailsorg_id
list_resourcesList cloud resources (paginated)org_id
get_resourceGet specific resource detailsorg_id, resource_id
get_resource_countGet total resource countorg_id
get_resource_summaryResource counts by provider and accountorg_id
get_resource_metricsCPU/memory/disk utilization metricsorg_id, resource_uids
get_discovery_summaryGet discovery status summaryorg_id
get_discovery_statusLast discovery refresh statusorg_id
list_schedulesList start/stop schedules (paginated)org_id
get_scheduleGet specific schedule detailsorg_id, schedule_id
list_resource_groupsList resource groups (paginated)org_id
get_resource_groupGet resource group detailsorg_id, group_id
list_overridesList schedule overrides (paginated)org_id
get_overrideGet override detailsorg_id, override_id
list_cloud_accountsList connected cloud accountsorg_id
get_cloud_accountGet cloud account detailsorg_id, account_id
get_costsGet cost and savings summaryorg_id
get_cost_by_resourcesPer-resource cost breakdown (paginated)org_id
get_cost_by_providerCost breakdown by cloud providerorg_id
get_cost_trendsCost trends over timeorg_id, from, to, granularity
get_resource_cost_historyDaily cost history for a resourceorg_id, resource_uid
get_report_snapshotsMonthly cost and savings snapshotsorg_id
get_currency_exchange_rateCurrent currency exchange ratesorg_id
get_recommendationsList optimization recommendations (paginated)org_id
get_recommendationGet specific recommendation detailorg_id, recommendation_id
get_recommendation_summarySavings stats by severityorg_id
get_recommendation_by_providerRecommendations by cloud providerorg_id
list_recommendation_resourcesResources with recommendations (paginated)org_id
list_budgetsList all budgets (paginated)org_id
get_budget_summaryBudget health summaryorg_id
get_state_historyResource start/stop history (paginated)org_id
get_actionAction execution detailsorg_id, action_id
get_latest_bulk_actionLatest bulk actionorg_id
list_eventsScheduler execution events (paginated)org_id
list_audit_logsAudit log entries (paginated)org_id
get_billing_sync_statusBilling sync health per cloud accountorg_id
list_teamsList all teams (paginated)org_id
get_teamGet team detailsorg_id, team_id
list_team_membersList members of a team (paginated)org_id, team_id
list_team_resourcesList resources assigned to a team (paginated)org_id, team_id
list_usersList all users in the organisationorg_id
list_notification_channelsNotification channels for the orgorg_id

Read-Only Access

Currently, all MCP tools are read-only. You cannot create, update, delete, start, or stop resources through MCP. Use the ZopNight web UI for write operations. Write support (creating schedules, managing resources, etc.) is planned for a future release.

Pagination

Tools marked as (paginated) return results in pages. Pass a page argument (starting at 1) to navigate through results. The response includes:

{
  "items": [...],
  "total": 42,
  "page": 1,
  "limit": 10,
  "hasMore": true
}

When hasMore is true, increment the page number to fetch the next set. If you omit the page argument, the server returns page 1 by default.

Filters Reference

Many tools accept optional filter arguments to narrow results. Pass them in the arguments object alongside org_id. All filters are optional unless noted otherwise.

Boolean Filters

The schedulable filter accepts multiple formats: true, false, 1, 0, yes, or no. They are all normalized automatically.

list_resources

FilterValuesNotes
provideraws, gcp, azureCloud provider
resource_typecompute, disk, kms-key, gcp-subnet, ...Resource type
statusrunning, stopped, active, available, ...Resource status (case-insensitive)
regionus-central1, ap-south-1, us-east-1, ...Cloud region
searchAny stringSubstring match on resource name
cloud_account_idAccount IDFilter by cloud account
schedulabletrue, false (also accepts 1, 0, yes, no)Whether resource can be scheduled
instance_typee2-micro, STANDARD, ...Instance/machine type
sort_bynameSort field
sort_orderasc, descSort direction
viewall, parents, childrenResource hierarchy view
parent_uidResource UIDParent resource — requires view=children
tagTag key nameFilter by tag key presence
limitIntegerResults per page

get_recommendations

list_recommendation_resources supports the same filters.

FilterValuesNotes
statusopen, optimisedRecommendation status
provideraws, gcp, azureCloud provider
categorycompliance, discount, idle, orphan, rightsizing, scheduleRecommendation category
resource_typedisk, compute, gke-cluster, s3, ecr, ec2, ebs-volumeResource type
severityhigh, medium, lowRecommendation severity
cloud_account_idAccount IDFilter by cloud account
searchAny stringMatches resource name or UID
resource_uidFull resource UIDExact match on resource
rule_ide.g. RC-022, RC-111Specific recommendation rule
sort_byupdated_at, generated_at, savings_usd, severity, titleSort field
sort_orderasc, descSort direction

list_schedules

FilterValuesNotes
searchAny stringMatches schedule name
team_idTeam UUIDReturns team-linked + standalone schedules

list_resource_groups

FilterValuesNotes
searchAny stringMatches group name
team_idTeam UUIDReturns team-matching + unassigned groups

list_overrides

FilterValuesNotes
group_idResource group UUIDFilter by resource group
resource_uidResource UIDFilter by resource
statusactive, expiredOverride status
sort_bycreated_at, expires_atSort field
sort_orderasc, descSort direction

list_cloud_accounts

FilterValuesNotes
searchAny stringMatches account name

get_cost_trends

FilterValuesNotes
fromYYYY-MM-DDStart date (required)
toYYYY-MM-DDEnd date (required)
granularitydaily, weekly, monthlyTime granularity (required)

get_cost_by_resources

FilterValuesNotes
resource_uidsComma-separated UIDsFilter to specific resources
sort_bycostSort field
sort_orderasc, descSort direction

list_audit_logs

FilterValuesNotes
methodPOST, DELETE, PUT, PATCHHTTP method
resourceAny stringPath substring match
userEmail addressFilter by user email
searchAny stringGeneral search
start_dateYYYY-MM-DDStart date
end_dateYYYY-MM-DDEnd date
sort_orderasc, descSort direction

get_state_history

FilterValuesNotes
statestopped, started, failedAction state
resource_uidResource UIDFilter by resource
changed_by_typebulk, manual, scheduleHow the action was triggered
fromYYYY-MM-DDStart date
toYYYY-MM-DDEnd date
sort_bychanged_atSort field
sort_orderasc, descSort direction

list_events

FilterValuesNotes
schedule_idSchedule UUIDFilter by schedule
resource_uidResource UIDFilter by resource
sort_orderasc, descSort direction

list_budgets

FilterValuesNotes
group_idResource group UUIDFilter by resource group
resource_uidResource UIDFilter by resource

Filter Example

To list only running AWS compute resources sorted by name:

{
  "method": "tools/call",
  "params": {
    "name": "list_resources",
    "arguments": {
      "org_id": "your-org-id",
      "provider": "aws",
      "resource_type": "compute",
      "status": "running",
      "sort_by": "name",
      "sort_order": "asc",
      "page": 1
    }
  }
}

Example Prompts

Once connected, try asking your AI assistant:

What to askWhat happens
"List my organisations"Shows all orgs you have access to
"What are my cloud costs this month?"Shows cost summary and savings
"Show me optimization recommendations"Lists recommendations with savings estimates
"How many resources do I have?"Shows total resource count and summary by provider
"What schedules are active?"Shows start/stop schedules
"Show my cloud accounts"Lists connected AWS/GCP/Azure accounts
"Show cost trends over the last month"Shows daily cost trends
"What is the CPU utilization of my EC2 instances?"Shows CPU/memory metrics
"Are my budgets on track?"Shows budget health summary
"Show billing sync status"Shows if billing data is syncing correctly
"What teams exist in my org?"Lists all teams and members
"Show audit logs"Shows recent activity in the organisation
"What actions were executed recently?"Shows scheduler events and action history