Skip to main content

MCP Tool Reference

The Hosanna MCP server currently exposes broad control over the debug proxy and connected apps. Tool names may grow over time, but the groups below describe the stable capabilities.

Connection and State

ToolPurpose
healthverify proxy, MCP, and connected apps
get_connected_appslist app IDs and app types
get_app_statusinspect one app's connection status
reset_connectionreset MCP/proxy connection state
reload_web_appreload a web target
get_statefocused view, route context, CollectionView summary
get_app_structurediscover tabs, screens, and springboard-style app structure
ToolPurpose
send_debugger_commandsend a raw remote debug command
send_ecp_keysend a Roku ECP key
drivesend keys and capture before/after state
diff_statediff state before/after key sequences
diff_focusfocus-specific before/after diff
go_tonavigate toward a target label/id
wait_for_viewpoll until a view appears
checkassert focus, screen, visibility, or property expectations
testrun a scripted assertion flow
batch_commandsexecute multiple debugger operations together

View Inspection

ToolPurpose
get_view_hierarchyfull Hosanna tree
get_sg_hierarchyfull SceneGraph tree
get_view_detailsone Hosanna view by _hid
get_sg_node_detailsone SG node by ID/_hid
find_viewssearch views by label, ID, text, or type
get_focus_graphruntime focus graph
set_view_propertyupdate a Hosanna view field
set_sg_propertyupdate a SceneGraph node field
highlight_viewhighlight a view in the running app
start_highlighting / stop_highlightingcontrol highlighter mode

CollectionView

ToolPurpose
get_collection_viewlist CollectionViews, rows, focused indices, and cell metadata
get_collection_view_slicefetch specific row/cell slices
trace_cv_rowstrace row lifecycle and movement
get_cv_diagnostic_reportread latest diagnostic report
start_cv_listener / stop_cv_listenerreceive streamed CV batches from DevTools
get_cv_recordinginspect a CV recording session
analyze_cv_recordingrun diagnostics over recorded batches
get_cv_recording_statssummarize CV recording sessions
pull_cv_batchrequest a specific batch from the extension

Tracing and Performance

ToolPurpose
trace_handlerstrace key/focus handler execution
trace_rendertrace state mutations and rebuilds
inspect_lifecycleinspect view lifecycle events
validate_datavalidate data bindings in CollectionView cells
render_frequencydetect render hotspots and frequent SG field updates
perf_trackingenable or disable frame/pool performance tracking
get_perf_reportread frame timing, pool use, and slow frame data
reset_perf_dataclear collected performance metrics
diagnoserun automated checks across focus, CV, lifecycle, animation, and logs

Logs

ToolPurpose
logsget/search/clear/analyze logs through one high-level tool
get_app_logsread app logs
search_app_logssearch app logs
clear_app_logsclear app logs
connect_roku_logsconnect to Roku telnet logs
get_roku_logsread buffered Roku logs
get_roku_errorsread Roku errors/warnings
search_roku_logssearch Roku logs
clear_roku_logsclear Roku log buffer
roku_log_statusinspect Roku log connection state

Device, Screenshots, and Registry

ToolPurpose
configure_roku_deviceset Roku IP/password
get_roku_device_infoquery Roku device metadata
take_screenshottake a Roku screenshot
take_web_screenshottake a web screenshot
get_active_channelread active Roku channel
get_installed_channelslist installed Roku channels
launch_channellaunch a Roku channel
post_to_devicesend a raw device HTTP request
get_registryread registry data
update_registrywrite registry data
get_text_to_speechread TTS state
toggle_text_to_speechenable/disable TTS
type_texttype text into the app
type_literal_keyssend literal key names

Build, Deploy, and Recordings

ToolPurpose
roku_buildrun a Roku build
deploy_rokudeploy to Roku
deep_linksend deep link launch data
start_test_recordingstart a UI test recording
record_stepadd a step to a recording
stop_test_recordingfinish recording
replay_test_recordingreplay a saved recording
list_test_recordingslist saved recordings
get_test_recordinginspect a recording
delete_test_recordingdelete a recording

Practical Rule

For most agent work, start with health, then get_state, then diff_state or drive. Reach for full hierarchy, raw command, or build/deploy tools only when the high-level tools do not answer the question.