bblietz

brs-docs-mcp

Community bblietz
Updated

MCP server for accessing Roku Brightscript documentation

brs-docs-mcp

MCP server for Roku BrightScript documentation plus device-control tools.

See CLAUDE.md for dev conventions and docs/superpowers/specs/2026-04-16-brs-docs-mcp-design.md for the design.

Tools

Documentation (SQLite FTS5)

  • brs_search(query, limit, kind?) full-text search across BrightScript docs.
  • brs_get(id) fetch a doc by id (e.g. component:roDateTime).
  • brs_list(kind, prefix?) list docs of a given kind, optional title prefix filter.

Read-only device introspection (ECP, port 8060)

  • roku_device_info(host?) parse /query/device-info.
  • roku_list_apps(host?) parse /query/apps.
  • roku_tail_log(host?, seconds=10) capture BrightScript debug console output for seconds.
  • roku_query_active_app(host?) parse /query/active-app.
  • roku_query_media_player(host?) parse /query/media-player to a flat snake_case dict.
  • roku_query_r2d2_bitrate(host?) parse /query/r2d2_bitrate into a list of stream entries.
  • roku_query_icon(app_id, host?) fetch the channel icon at /query/icon/<app_id>; returns mime, base64 body, byte count.

ECP control (port 8060, no auth)

  • roku_keypress(key, repeat=1, mode="press", host?) send /keypress, /keydown, or /keyup. Allowlisted standard keys (Home, Up, Down, ...) plus Lit_<char> for character input.
  • roku_keysequence(keys, delay_ms=150, host?) send a sequence of keypresses with delay_ms between each.
  • roku_launch(app_id, params?, host?) POST /launch/<app_id> with optional URL-encoded deep-link params. app_id="dev" is allowed.
  • roku_input(params, host?) POST /input?<urlencoded> to deep-link into the running channel.
  • roku_to_home(host?) macro that sends Home, Home to drop the device into a known idle state. NOT a reboot; the return value documents this.

Authenticated dev-portal (port 80, Digest)

  • roku_install(zip_base64, host?, password?) sideload a channel zip.
  • roku_remove(host?, password?) remove the currently installed dev channel.
  • roku_query_registry(dev_id, host?, password?) parse /query/registry/<dev_id>.
  • roku_profiler_snapshot(host?, password?) POST /plugin_inspect with mysubmit=Inspect; extract whatever blocks are present plus a 10 KB raw HTML excerpt.
  • roku_crashlog_pull(host?, password?) GET /plugin_factory_log. Returns ok=False on 404. Body is streamed and capped at 1 MB.

host falls back to BRS_DEFAULT_ROKU_HOST. password falls back to BRS_ROKU_DEV_PASSWORD.

MCP Server · Populars

MCP Server · New

    sjkim1127

    Reversecore_MCP

    A security-first MCP server empowering AI agents to orchestrate Ghidra, Radare2, and YARA for automated reverse engineering.

    Community sjkim1127
    sebringj

    Autonomo MCP

    Tired of 'it works' lies? Autonomo MCP makes your AI prove it—on real hardware, right in your editor.

    Community sebringj
    softerist

    Heuristic MCP Server

    Enhanced MCP server for semantic code search with call-graph proximity, recency ranking, and find-similar-code. Built for AI coding assistants.

    Community softerist
    arm

    Arm MCP Server

    Arm's MCP server

    Community arm
    bobmatnyc

    MCP Vector Search

    CLI-first semantic code search with MCP integration. Modern, fast, and intelligent code search powered by ChromaDB and AST parsing.

    Community bobmatnyc