# Agents

Give coding agents and runtime agents the right Ferrite surface for local development, remote control, and durable execution.

Ferrite supports agents in two roles: an agent can build and operate a Ferrite
application, or it can run as part of a Ferrite application. Both roles use
explicit tools and capabilities rather than ambient credentials.

## Agents that build apps

Install the [Ferrite Agent Plugin](/developers/plugin/). It gives the agent a
Ferrite skill, the CLI, and a stateless MCP connection.

Use the CLI for work that touches local files or has a long lifecycle:

```bash
ferrite new webapp support-agent
ferrite add agent-ready
ferrite check --json
ferrite dev --json
ferrite deploy
```

Use MCP for account discovery, app inventory, status, and focused remote
actions. The skill tells the agent not to replace a complete CLI workflow with
dozens of lower-level MCP calls.

## Agents that run in apps

`ferrite-agents` and `packages/agent-toolkit` provide durable sessions,
steering, tool families, gates, and usage attribution. Store the session and
turn state in Ferrite, route model calls through [AI Gateway](/developers/ai-gateway/),
and place external connectors behind the governed gatekeeper contract.

## Make every app usable by agents

An agent-native app publishes a clean Markdown representation, discovery files,
OpenAPI, MCP, and browser tools from the same operation declarations as its
human UI. The agent receives no authorization shortcut: protected actions
reuse the signed-in browser or require an explicit delegated token.

Continue with [Agent-native Apps](/developers/agent-native-apps/),
[MCP Servers](/developers/mcp-servers/), and [WebMCP & OpenAPI](/developers/webmcp-openapi/).
