Skip to main content
An agent can do more than answer a prompt. A use case is a named, schema-typed action the agent advertises — triage a build, run a backup — and the Komodor Agentic Operation Platform (KAOP) turns each one into a callable tool on that agent’s own endpoint. This page covers what a use case is, how it differs from two things it is easily confused with, how you declare one, and the two every agent gets for free.

It is not a skill, and not a capability flag

These three sit close together and do different jobs. Mixing them up is the usual mistake. A skill shapes how the agent works. A capability says what class of work it takes. A use case is an entry point someone else can call.

Declaring one

Use cases live in the worker’s agent-spec.yaml, and the agent advertises them itself — there is nothing to register separately.
A malformed spec is rejected when you author it rather than at run time, and the same definition is the wire format — there is no second place for it to drift.
Use cases travel inside the agent card, so changing them registers as a new generation of the agent. There is nothing separate to publish.

Every agent already has two

Both are advertised automatically, so a freshly deployed agent always has a safe command you can run to prove it works. Declaring your own connectivity_check or sample_run keeps your definition instead.
When a newly deployed agent looks wrong, run these in order. Check connectivity failing points at deployment or networking; Check connectivity passing while Sample run fails points at the model, the tools, or the handler.

Calling one

Every agent is served as its own MCP server, so a client can connect to that one agent:
Alongside your declared use cases, every agent exposes two universal tools:
  • invoke — starts a run. It is typed from the agent’s own input schema when it has one, and otherwise takes free text. It also accepts a use_case field, so calling invoke with use_case: "triage_build" reaches exactly the same path as calling triage_build directly.
  • get_run — checks a run that invoke started. Given a run id it reads the current state; give it a wait and it blocks for up to 45 seconds instead of returning immediately.
Declared use cases are additive: a typed agent keeps its own tools and gets these two. The agent’s Metadata tab carries the connection details for this endpoint — the URL, a ready-made client command, and the use cases it publishes.

Next steps

Build from scratch

Where agent-spec.yaml lives, and the rest of what it declares.

Skills

The know-how an agent reads, as opposed to an entry point it offers.

MCP server

The platform’s own MCP surface, distinct from an agent’s.

Deploy an agent

Getting to the point where there is something to call.