---
title: "Capabilities"
description: "Capabilities, what a Viper proxy supports, and Limits, the bounds a definition must stay within on it."
source: "Guardian Agent SDK"
---
`Guardian.capabilities()` reports what the proxy supports, and the SDK checks it before relying on it.

## Capabilities

{/* generated api guardian_agent.Capabilities */}

What a Viper proxy supports.

**Attributes:**

- **api** (`str`) – The agent API version, `"v1"`.
- **viper** (`str`) – The proxy's Viper version, such as `"0.3.0"`. For messages
  and support only: what the proxy does is in `features`.
- **features** (`tuple[str, ...]`) – What the proxy does beyond the API version, by name.
- **schemas** (`tuple[str, ...]`) – The definition schemas the proxy accepts.
- **strict** (`bool`) – Whether the proxy refuses model requests that name no agent.
- **agents** (`tuple[str, ...]`) – The agents enrolled on the proxy, sorted.
- **limits** (`Limits`) – The bounds a definition must stay within.

{/* end generated */}

## Limits

{/* generated api guardian_agent.Limits */}

The bounds a definition must stay within on this proxy.

**Attributes:**

- **definition_bytes** (`int`) – The whole definition's canonical size, sub-agents
  included.
- **registration_bytes** (`int`) – A registration request's body; prompts over
  `inline_prompt_bytes` count here rather than toward
  `definition_bytes`, since the proxy moves them out.
- **inline_prompt_bytes** (`int`) – One prompt's text, held inline.
- **prompt_bytes** (`int`) – All of one agent's or sub-agent's prompt text, joined.
- **tools** (`int`) – Tools on any one agent.
- **sub_agents** (`int`) – Sub-agents at every depth, together.
- **sub_agent_depth** (`int`) – How deeply sub-agents may nest.
- **mcp_servers** (`int`) – MCP servers on any one agent.
- **skills** (`int`) – Skills on any one agent.
- **memory** (`int`) – Memory sources on any one agent.
- **collection_files** (`int`) – Files in one uploaded skill or memory source.
- **collection_bytes** (`int`) – One uploaded skill's or memory source's files,
  together.
- **collection_file_bytes** (`int`) – One file in an uploaded skill or memory source.
- **name_length** (`int`) – Names, versions and framework names.

{/* end generated */}