agentd-cli 1.3.1

agentd — a minimal, MCP-native, reactive agent runtime (the CLI binary over the agentd-core engine)
# agentd

An agent runtime. One static binary: give it an instruction and tools from
remote MCP servers, and it runs the agentic loop — think, call a tool, observe,
self-correct — as a one-shot job or a long-lived daemon.

```console
$ cargo install agentd-cli
$ agentd --prompt "triage the newest issue and label it" \
    --mcp github=https://mcp-github.internal/mcp \
    --intelligence https://gateway.internal/v1
```

Or without Rust: `curl -fsSL https://agentd.dev/install.sh | sh`, or
`docker run --rm ghcr.io/agentd-dev/agentd:latest --help`.

*(The crate is `agentd-cli` because `agentd` on crates.io belongs to an
unrelated project. The binary it installs is `agentd`.)*

## What it is

**It runs no code of its own.** Every capability is a tool on an MCP server you
named. Nothing is implicit — what the agent can do is exactly what you wired.

**The supervisor holds no model.** Lifecycle, limits and the process tree belong
to a component that cannot be prompted; the reasoning runs in child processes it
can always kill. A jailbroken model still meets a process that will not
negotiate.

**It stays up.** Durable workflows checkpoint before every effect, so a killed
host resumes in-flight runs rather than starting over. A `human` step suspends a
run and renders as an answerable question in every attached client — and the run
survives a restart while it waits.

**You can attach to it.** `agentd tui -c agent.yaml` runs the daemon and a
terminal UI together; there is a web UI too. The daemon holds all the state, so
quitting a client leaves the agent working.

## In 20 lines

```yaml
config_version: "2"
agent:
  name: triage
  instruction: You triage incoming issues. Be precise; ask if unsure.
intelligence:
  endpoints: https://gateway.internal/v1
  model: gpt-5.1
mcp:
  servers:
    - { name: github, endpoint: https://mcp-github.internal/mcp }
store: { kind: mcp, mcp: { server: github } }
workflows:
  - name: triage
    steps:
      new:  { kind: subscribe, server: github, uri: "github:///issues" }
      work: { kind: agent, depends_on: [new], instruction: "Triage {{payload.title}}" }
      done: { kind: finish, depends_on: [work], status: completed }
```

`agentd --validate-config -c agent.yaml` checks it — including the workflow
bodies — before anything runs.

## Documentation

<https://agentd.dev/docs/> — getting started, configuration, workflows, MCP,
A2A, security, deployment. Licensed under Apache-2.0.