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

    basementstudio

    xmcp

    The TypeScript MCP framework

    Community basementstudio
    MCP-Manager

    MCP Security Checklists

    MCP Server

    Community MCP-Manager
    mozarkai

    Optics Framework

    Open-source test automation for Android, iOS, web, smart TV (Android TV, Tizen, webOS) and Bluetooth (BLE) devices. Write tests as CSV/YAML, record them live, or let an AI agent build them over MCP. Self-healing locators: XPath, text, OCR, image.

    Community mozarkai
    baronunread

    rdyrct

    Open-source URL shortener for teams: branded short links, QR codes, and custom domains on Cloudflare Workers.

    Community baronunread
    ExpeditedProjects

    HutchDB

    A database for AI agents. No schema, SQL, or structure required. Claude Code, Codex, Cursor, Hermes, Claw, Grokbot, and other MCP clients store, query, and share the same records. Open source (AGPLv3) or cloud.

    Community ExpeditedProjects