Skip to content

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).

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.

SurfaceHow
TUISlash /agent_kinds (aliases /kinds, /agent-kinds) or ctrl+pAgent kinds
Agent toollist_agent_kinds — JSON snapshot { "agent_kinds": [ … ] } using the same public fields as the HTTP and MCP surfaces
HTTPGET /v1/agent-kinds with Bearer auth (same JSON as the tool when bmo serve / bmo up runs the HTTP server)
MCPbmo_list_agent_kinds — opt-in via options.mcp_server.exposed_tools (requires coordinator-backed MCP runtime); see MCP Server
  • 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_capabilities when 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.

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.