Eyra tools implement BaseTool, return ToolResult, and register through build_tool_registry(). The local policy router decides which registered tools are allowed for a request.

Always registered

ToolPurpose
discover_capabilitiesReport enabled control surfaces
get_voice_contextReport voice runtime context
get_current_timeCurrent local time
read_clipboardRead clipboard
get_system_infoLocal system snapshot
take_screenshotIn-memory screenshot
get_frontmost_appFrontmost macOS app
get_finder_selectionSandboxed Finder selection
read_file, write_file, edit_fileSandboxed file text operations
append_file, prepend_file, compare_filesStructured text operations
list_directory, create_directoryDirectory operations
move_path, copy_path, rename_path, duplicate_pathReversible local path operations
compress_path, uncompress_archiveArchive operations
move_to_trash, restore_from_trash, delete_permanentlyRemoval and restore
open_path, reveal_pathmacOS open/reveal
read_pdfLocal PDF text extraction

Network tools

Enabled by NETWORK_TOOLS_ENABLED=true.
ToolPurpose
get_weatherWeather for an explicit location
fetch_urlFetch URL text
web_searchBrave Search through Playwright
open_urlOpen page and extract text
click_elementClick by selector, link role, or text
fill_form_fieldFill a form field without submitting
page_screenshotBrowser screenshot
download_fileApproved download into sandbox
upload_fileApproved sandboxed upload

OS tools

Enabled by OS_TOOLS_ENABLED=true.
ToolPurpose
run_commandApproved shell command under sandbox policy
get_file_info, search_filesLocal file metadata/search
list_processes, get_system_snapshotSystem reads
get_accessibility_tree, extract_screen_textLocal UI/screen reads
list_open_apps, list_windowsApp/window reads
window_action, activate_app, open_app, quit_appApp/window control
get_launch_agent_status, manage_launch_agentLaunchAgent status/control
ui_click, ui_scroll, ui_drag, ui_type_text, press_hotkeyApproved UI actions
show_notification, run_shortcut, set_clipboard_textLocal macOS actions

Agent and MCP tools

Enabled by AGENT_TOOLS_ENABLED, EXTERNAL_AGENT_TOOLS_ENABLED, or MCP_TOOLS_ENABLED. Connector jobs are separate from model-selected function tools. They run through ConnectorRegistry, background tasks, approvals, and the durable job ledger after CONNECTORS_ENABLED=true and acceptance checks pass.
ToolPurpose
get_agent_status, list_agent_sessions, get_agent_session_contentAgent state reads
Agent session readersBounded session reads
Agent status readersLocal agent state reads
Agent task runnersApproved terminal-agent delegation
list_mcp_tools, call_mcp_toolstdio MCP listing and approved call

Risk tiers

TierExamples
LOW_READ_ONLYTime, basic system info
PRIVATE_READFiles, screenshots, clipboard, PDF, agent session reads
LOCAL_WRITEFile writes, moves, copies, app opens
DESTRUCTIVEPermanent delete
NETWORKEDBrowser, weather, URL fetch
OS_CONTROLUI actions, app/window control
SHELL_EXECUTIONShell commands
DELEGATED_AGENTAgent or MCP calls
Complexity routing is not a safety boundary. Tool policy, settings gates, sandboxing, approvals, and privacy decisions decide what can run.