Agent kinds
Agent kinds are specialized roles BMO can run (coder, task, custom options.agents.<id> rows, and so on). They are data-defined in merged config and prompt profiles, not a hard-coded marketing list. The agent kinds surface is a registry view: it answers which kinds exist in your effective config and how they differ in prompt, mesh tags, and explicit tool allowlists—without dumping full tool lists.
This is not the same as Agent Mesh team formation, and it is not the list of live spawned sub-agents (that remains /agents in the TUI).
How it fits the wider system
Section titled “How it fits the wider system”Kinds are the local role catalog. They tell you which prompts, mesh tags, and tool policies BMO knows about in the current effective config. They do not tell you which remote agents are available over mesh, and they do not tell you which live child agents happen to be running right now.
If you want the broader mental model around local roles, remote peers, and coordination layers, start with How BMO thinks and acts.
Where to open it
Section titled “Where to open it”| Surface | How |
|---|---|
| TUI | Slash /agent_kinds (aliases /kinds, /agent-kinds) or ctrl+p → Agent kinds |
| Agent tool | list_agent_kinds — JSON snapshot { "agent_kinds": [ … ] } using the same public fields as the HTTP and MCP surfaces |
| HTTP | GET /v1/agent-kinds with Bearer auth (same JSON as the tool when bmo serve / bmo up runs the HTTP server) |
| MCP | bmo_list_agent_kinds — opt-in via options.mcp_server.exposed_tools (requires coordinator-backed MCP runtime); see MCP Server |
Sources of truth
Section titled “Sources of truth”- Merged agents map and
options.agents: see Configuration. - Prompt profiles and
agent_prompts: see Configuration for the operator-facing config shape. - Mesh capability tags: configure overrides under
options.mesh.agent_capabilitieswhen a local role should advertise a narrower or broader capability set.
For contributors: Default prompt profiles and mesh capability tags are defined in the config and mesh packages. Keep this page, Agent kinds parity, and the implementation summary in lockstep when public fields change.
Field reference
Section titled “Field reference”For operators, the field contract is the JSON returned by list_agent_kinds and GET /v1/agent-kinds. For cross-surface details, use Agent kinds parity.
For contributors: Implementation-oriented field semantics live in the repository topic
agent-kinds.md.
Related
Section titled “Related”- Agent kinds parity — HTTP, MCP, and native tool alignment
- Slash commands —
/agentsvs/agent_kinds - Tools reference —
list_agent_kindsandcapabilities - How to discover what BMO can do
- Implementation notes: agent-kinds.md