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
| Tool | Purpose |
|---|
health | verify proxy, MCP, and connected apps |
get_connected_apps | list app IDs and app types |
get_app_status | inspect one app's connection status |
reset_connection | reset MCP/proxy connection state |
reload_web_app | reload a web target |
get_state | focused view, route context, CollectionView summary |
get_app_structure | discover tabs, screens, and springboard-style app structure |
Navigation and Assertions
| Tool | Purpose |
|---|
send_debugger_command | send a raw remote debug command |
send_ecp_key | send a Roku ECP key |
drive | send keys and capture before/after state |
diff_state | diff state before/after key sequences |
diff_focus | focus-specific before/after diff |
go_to | navigate toward a target label/id |
wait_for_view | poll until a view appears |
check | assert focus, screen, visibility, or property expectations |
test | run a scripted assertion flow |
batch_commands | execute multiple debugger operations together |
View Inspection
| Tool | Purpose |
|---|
get_view_hierarchy | full Hosanna tree |
get_sg_hierarchy | full SceneGraph tree |
get_view_details | one Hosanna view by _hid |
get_sg_node_details | one SG node by ID/_hid |
find_views | search views by label, ID, text, or type |
get_focus_graph | runtime focus graph |
set_view_property | update a Hosanna view field |
set_sg_property | update a SceneGraph node field |
highlight_view | highlight a view in the running app |
start_highlighting / stop_highlighting | control highlighter mode |
CollectionView
| Tool | Purpose |
|---|
get_collection_view | list CollectionViews, rows, focused indices, and cell metadata |
get_collection_view_slice | fetch specific row/cell slices |
trace_cv_rows | trace row lifecycle and movement |
get_cv_diagnostic_report | read latest diagnostic report |
start_cv_listener / stop_cv_listener | receive streamed CV batches from DevTools |
get_cv_recording | inspect a CV recording session |
analyze_cv_recording | run diagnostics over recorded batches |
get_cv_recording_stats | summarize CV recording sessions |
pull_cv_batch | request a specific batch from the extension |
| Tool | Purpose |
|---|
trace_handlers | trace key/focus handler execution |
trace_render | trace state mutations and rebuilds |
inspect_lifecycle | inspect view lifecycle events |
validate_data | validate data bindings in CollectionView cells |
render_frequency | detect render hotspots and frequent SG field updates |
perf_tracking | enable or disable frame/pool performance tracking |
get_perf_report | read frame timing, pool use, and slow frame data |
reset_perf_data | clear collected performance metrics |
diagnose | run automated checks across focus, CV, lifecycle, animation, and logs |
Logs
| Tool | Purpose |
|---|
logs | get/search/clear/analyze logs through one high-level tool |
get_app_logs | read app logs |
search_app_logs | search app logs |
clear_app_logs | clear app logs |
connect_roku_logs | connect to Roku telnet logs |
get_roku_logs | read buffered Roku logs |
get_roku_errors | read Roku errors/warnings |
search_roku_logs | search Roku logs |
clear_roku_logs | clear Roku log buffer |
roku_log_status | inspect Roku log connection state |
Device, Screenshots, and Registry
| Tool | Purpose |
|---|
configure_roku_device | set Roku IP/password |
get_roku_device_info | query Roku device metadata |
take_screenshot | take a Roku screenshot |
take_web_screenshot | take a web screenshot |
get_active_channel | read active Roku channel |
get_installed_channels | list installed Roku channels |
launch_channel | launch a Roku channel |
post_to_device | send a raw device HTTP request |
get_registry | read registry data |
update_registry | write registry data |
get_text_to_speech | read TTS state |
toggle_text_to_speech | enable/disable TTS |
type_text | type text into the app |
type_literal_keys | send literal key names |
Build, Deploy, and Recordings
| Tool | Purpose |
|---|
roku_build | run a Roku build |
deploy_roku | deploy to Roku |
deep_link | send deep link launch data |
start_test_recording | start a UI test recording |
record_step | add a step to a recording |
stop_test_recording | finish recording |
replay_test_recording | replay a saved recording |
list_test_recordings | list saved recordings |
get_test_recording | inspect a recording |
delete_test_recording | delete 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.