Skip to main content
Tools are how the entity interacts with the world — not “services for the user,” but senses and reach. The entity decides when and how to use tools based on conversation context. Both reflex and deliberate reasoning profiles share the same tool registry, and the agent loop executes multiple tool calls in parallel when the model emits them in one step. When presence.tool_activity is enabled, tool use surfaces in chat with short status lines so the user can see what the entity is doing.

How the entity uses tools

Tools are registered at startup based on YAML configuration and installed extras. During each turn, the perceive pipeline routes to either reflex or deliberate reasoning. Both profiles have access to the full tool registry — the difference is token budget and thinking mode. The bounded agent loop runs tool calls, inspects results, and decides whether to continue (more tools needed), produce a final reply, or report a failure. A context-aware nudge after each tool round tells the model which tools ran and whether they succeeded, referencing the user’s original question. A completion gate prevents thin acknowledgements from escaping as final replies. The entity can chain tools across multiple rounds. For example, a question about current weather might trigger get_weather, while a research question might chain search_web into fetch_url into a synthesized reply. The maximum number of tool rounds per turn is controlled by cognition.tool_continuation_rounds (default 21).

Complete tool reference

Every built-in tool, its harness configuration key, and default state. Tools marked “always on” have no enabled gate — they register whenever the harness starts. Others are toggled via tools.<key>.enabled in configs/default.yaml or per-entity YAML.

Shell and processes

Filesystem

Episodic memory

Session planning

Human-in-the-loop

Code execution

Knowledge and journal

Voice

Messaging

Automations

Reminders

Browser (optional)

Remote desktop sessions (optional)

Image generation (optional)

IoT / Environment

Observation

Social Broadcast

Local RAG / Indexing

Information

Content

Discovery

Agency and flow control

end_wake_session only affects multi-round autonomous wake. end_turn ends a single perceive round.

Enabling and disabling

Each tool category has an enabled flag in configs/default.yaml:
Override per entity with a top-level tools: block in entity YAML.

Runtime discovery

The live registry depends on YAML toggles, installed extras, and any MCP servers attached. The entity can inspect its own capabilities at runtime:
  • search_tools — find tools by keyword
  • describe_tool — get the full JSON Schema for a specific tool

MCP

Attach external tools via Model Context Protocol stdio servers. Their tools register dynamically at startup, prefixed with the server name so they stay distinct from native tools.
Multiple servers and reconnects are supported. See configs/entities/example.yaml for a commented template.

Zapier MCP

Zapier exposes MCP over Streamable HTTP, but Bumblebee only spawns stdio servers today. Bridge with mcp-proxy:

Optional extras

Some tools require additional Python packages:

Execution layer

Shell, filesystem, and code tools run via the execution layer. Where they execute depends on your deployment:
  • Local — same machine as Bumblebee
  • Railway — inside the container (RAILWAY_ENVIRONMENT is set)
  • RPC — remote execution host via BUMBLEBEE_EXECUTION_RPC_URL
See Hybrid deployment for details on execution safety and configuration.