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 triggerget_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 noenabled gate — they register whenever the harness starts. Others are toggled via tools.<key>.enabled in configs/default.yaml or per-entity YAML.
Web and search
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 anenabled flag in configs/default.yaml:
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 keyworddescribe_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.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_ENVIRONMENTis set) - RPC — remote execution host via
BUMBLEBEE_EXECUTION_RPC_URL