# MCP tool reference

1 callable tools.

Use tools/call at https://mcp.schedulerzero.com/mcp with the exact tool name and arguments below. The /tools/ paths in this view are documentation identifiers, not HTTP endpoints. Request execution is disabled for this reference.

Inputs are shown for personal API keys (bound) and for OAuth/delegated agents. Output schemas describe MCP structuredContent: native objects pass through; arrays, scalars and null use a data wrapper. Text content retains the native JSON result.

[Connect a client](/mcp/connect) · [Authentication and authorization](/authentication) · [Generated auth guide](/auth.md) · [Download tool catalog](/mcp-catalog.json) · [Agent documentation](/llms.txt)

## get_capability

Return one capability's full guidance plus its input and output JSON Schemas.

Use before calling an unfamiliar capability to learn its prerequisites and exact argument shape.

Do not call for capabilities already summarized in a page.

Scopes: agent:capabilities

Risk: read; confirmation: none; idempotency: none.

### Input schema (personal API key)

```json
{
  "type": "object",
  "properties": {
    "capabilityId": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_]{0,63}$"
    }
  },
  "required": [
    "capabilityId"
  ],
  "patternProperties": {
    "^(?!(?:capabilityId)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "anyOf": [
      {
        "type": "string",
        "enum": [
          "capabilityId"
        ]
      }
    ]
  }
}
```

### Input schema (OAuth / delegated agent)

```json
{
  "type": "object",
  "properties": {
    "capabilityId": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_]{0,63}$"
    }
  },
  "required": [
    "capabilityId"
  ],
  "patternProperties": {
    "^(?!(?:capabilityId)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "anyOf": [
      {
        "type": "string",
        "enum": [
          "capabilityId"
        ]
      }
    ]
  }
}
```

### Output schema (structuredContent)

```json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_]{0,63}$"
    },
    "feature": {
      "$ref": "#/$defs/NonEmptyString"
    },
    "purpose": {
      "$ref": "#/$defs/Description"
    },
    "prerequisites": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ShortText"
      }
    },
    "kind": {
      "type": "string",
      "enum": [
        "direct_tool",
        "mcp_resource",
        "async_operation",
        "preview_commit",
        "user_completion",
        "human_only"
      ]
    },
    "risk": {
      "type": "string",
      "enum": [
        "read",
        "write",
        "costly",
        "destructive",
        "security_admin"
      ]
    },
    "scopes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "agent:capabilities",
          "agent:identity",
          "agent:operations:cancel",
          "agent:operations:read",
          "analytics:export",
          "analytics:read",
          "apiKey:create",
          "apiKey:delete",
          "apiKey:read",
          "apiKey:update",
          "audit:read",
          "billing:manage",
          "billing:read",
          "blocklist:create",
          "blocklist:delete",
          "blocklist:read",
          "campaign:archive",
          "campaign:create",
          "campaign:delete",
          "campaign:launch",
          "campaign:pause",
          "campaign:read",
          "campaign:update",
          "dialer:assign_numbers",
          "dialer:assign_seats",
          "dialer:create",
          "dialer:delete",
          "dialer:dial",
          "dialer:manage_billing",
          "dialer:manage_number_health",
          "dialer:manage_numbers",
          "dialer:manage_numbers_self",
          "dialer:manage_voicemails",
          "dialer:read",
          "dialer:read_analytics",
          "dialer:read_numbers_all",
          "dialer:release_numbers",
          "dialer:update",
          "domain:manage_dns",
          "domain:purchase",
          "domain:read",
          "domain:transfer",
          "emailVerification:manage_credits",
          "emailVerification:manage_keys",
          "emailVerification:manage_sharing",
          "emailVerification:read",
          "emailVerification:verify",
          "inbox:connect",
          "inbox:create",
          "inbox:delete",
          "inbox:read",
          "inbox:update",
          "inbox:warmup_manage",
          "integration:create",
          "integration:delete",
          "integration:read",
          "integration:update",
          "lead:create",
          "lead:delete",
          "lead:export",
          "lead:import",
          "lead:read",
          "lead:update",
          "leadList:create",
          "leadList:delete",
          "leadList:read",
          "leadList:update",
          "org:delete",
          "orgAnalytics:read",
          "orgAnalytics:manage",
          "org:read",
          "org:update",
          "orgApiKey:manage",
          "orgMember:invite",
          "orgMember:read",
          "orgMember:remove",
          "orgMember:update",
          "phoneVerification:manage_keys",
          "phoneVerification:read",
          "phoneVerification:verify",
          "platform:operate",
          "replyLabel:create",
          "replyLabel:delete",
          "replyLabel:read",
          "replyLabel:update",
          "role:manage",
          "role:read",
          "sequence:create",
          "sequence:delete",
          "sequence:read",
          "sequence:update",
          "sql:manage_dashboards",
          "sql:query",
          "support:create",
          "support:read",
          "support:update",
          "tag:create",
          "tag:delete",
          "tag:read",
          "tag:update",
          "task:create",
          "task:delete",
          "task:read",
          "task:update",
          "template:create",
          "template:delete",
          "template:read",
          "template:update",
          "unibox:archive",
          "unibox:label",
          "unibox:read",
          "unibox:reply",
          "usage:read",
          "webhook:create",
          "webhook:delete",
          "webhook:read",
          "webhook:update",
          "whiteLabel:read",
          "whiteLabel:update",
          "workflow:create",
          "workflow:delete",
          "workflow:publish",
          "workflow:read",
          "workflow:run",
          "workflow:update",
          "workspace:create",
          "workspace:delete",
          "workspace:read",
          "workspace:transfer",
          "workspace:update",
          "workspaceMember:invite",
          "workspaceMember:read",
          "workspaceMember:remove",
          "workspaceMember:update"
        ]
      }
    },
    "confirmation": {
      "type": "string",
      "enum": [
        "none",
        "explicit",
        "preview_token",
        "human_completion"
      ]
    },
    "resultMode": {
      "type": "string",
      "enum": [
        "inline",
        "page",
        "operation_handle",
        "stream",
        "download",
        "redirect"
      ]
    },
    "availability": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "available",
            "scope_required",
            "permission_denied",
            "feature_disabled",
            "subscription_blocked",
            "human_completion_required",
            "temporarily_unavailable"
          ]
        },
        "reason": {
          "$ref": "#/$defs/ShortText"
        }
      },
      "required": [
        "state"
      ],
      "patternProperties": {
        "^(?!(?:state|reason)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "state",
          "reason"
        ]
      }
    },
    "inputFields": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NonEmptyString"
      }
    },
    "outputBounds": {
      "type": "object",
      "properties": {
        "maxItems": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "maxBytes": {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      },
      "required": [
        "maxItems",
        "maxBytes"
      ],
      "patternProperties": {
        "^(?!(?:maxItems|maxBytes)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "maxItems",
          "maxBytes"
        ]
      }
    },
    "bundles": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9_]{0,63}$"
      }
    },
    "inputSchema": {
      "$ref": "#/$defs/Union_"
    },
    "outputSchema": {
      "$ref": "#/$defs/Union_"
    },
    "errorCodes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NonEmptyString"
      }
    },
    "guidance": {
      "type": "object",
      "properties": {
        "whenToUse": {
          "$ref": "#/$defs/Description"
        },
        "whenNotToUse": {
          "$ref": "#/$defs/Description"
        }
      },
      "required": [
        "whenToUse",
        "whenNotToUse"
      ],
      "patternProperties": {
        "^(?!(?:whenToUse|whenNotToUse)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "whenToUse",
          "whenNotToUse"
        ]
      }
    }
  },
  "required": [
    "id",
    "feature",
    "purpose",
    "prerequisites",
    "kind",
    "risk",
    "scopes",
    "confirmation",
    "resultMode",
    "availability",
    "inputFields",
    "outputBounds",
    "bundles",
    "inputSchema",
    "outputSchema",
    "errorCodes",
    "guidance"
  ],
  "patternProperties": {
    "^(?!(?:id|feature|purpose|prerequisites|kind|risk|scopes|confirmation|resultMode|availability|inputFields|outputBounds|bundles|inputSchema|outputSchema|errorCodes|guidance)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "id",
      "feature",
      "purpose",
      "prerequisites",
      "kind",
      "risk",
      "scopes",
      "confirmation",
      "resultMode",
      "availability",
      "inputFields",
      "outputBounds",
      "bundles",
      "inputSchema",
      "outputSchema",
      "errorCodes",
      "guidance"
    ]
  },
  "$defs": {
    "NonEmptyString": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096
    },
    "Description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096
    },
    "ShortText": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "Union_": {
      "anyOf": [
        {
          "type": "null"
        },
        {
          "type": "boolean"
        },
        {
          "type": "number"
        },
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Union_"
          }
        },
        {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/Union_"
          }
        }
      ]
    }
  }
}
```

### Underlying API operations

- `agent.getCapability`: `GET /agent/capabilities/:capabilityId`

