Roku MCP Server

Roku MCP Server

Enables AI agents to develop, test, and certify Roku applications by providing direct control over device functions like app deployment, remote input, and SceneGraph inspection. It supports automated workflows including real-time log collection, media monitoring, and certification verification.

Category
访问服务器

README

🎮 Roku MCP Server

한국어 | English


한국어

Roku 기기 개발, 테스트, 인증을 위한 MCP (Model Context Protocol) 서버입니다.
AI 에이전트(Gemini, Claude, Copilot 등)가 Roku 기기를 직접 제어하고 테스트할 수 있게 합니다.

✨ 주요 기능

  • 📦 앱 배포 — 사이드로드 배포 및 스크린샷 캡처
  • 🖥️ 해상도 검증 — HD/FHD 호환성 자동 확인
  • ⌨️ 리모컨 제어 — 키 입력, 시퀀스, 텍스트 입력
  • 📱 앱 관리 — 설치된 앱 조회, 실행, 딥링크 테스트
  • 📋 로그 수집 — BrightScript 콘솔 실시간 로그
  • 🔍 SceneGraph 검사 — 노드 트리, 메모리, 포커스 요소
  • 🎥 스트리밍 모니터링 — 재생 상태, 버퍼링, 대역폭
  • 🛡️ 인증 검증 — DRM, 접근성(Audio Guide/자막), RAF 광고
  • 🧪 통합 테스트 — 여러 동작을 시퀀스로 자동 실행

📋 도구 목록 (25개)

카테고리 도구 설명
배포 roku_deploy 앱 사이드로드 배포
roku_screenshot 화면 캡처 (base64 이미지)
디스플레이 roku_device_info 기기 정보 (모델, 해상도, 펌웨어)
roku_check_resolution HD/FHD 해상도 호환성 검증
입력 roku_keypress 리모컨 키 입력
roku_keypress_sequence 키 시퀀스 전송
roku_input 커스텀 이벤트/딥링크 파라미터
앱 관리 roku_apps 설치된 앱 목록
roku_active_app 현재 실행 중인 앱
roku_launch 앱 실행/재시작
roku_deep_link 딥링크 인증 테스트
roku_registry 앱 레지스트리 데이터 조회
roku_app_state 앱 라이프사이클 추적
로그 roku_log BrightScript 콘솔 로그
SceneGraph roku_sg_nodes SG 노드 트리 검사
roku_perf CPU/메모리 사용량
roku_graphics_fps 그래픽 FPS
roku_element UI 요소 검색 (WebDriver)
roku_focused_element 포커스 요소 조회
스트리밍 roku_media_player 미디어 재생 상태
roku_server_check 서버 헬스체크
인증 roku_check_drm DRM 콘텐츠 보호 상태
roku_check_accessibility 접근성 준수 검사
roku_check_raf RAF 광고 프레임워크 검증
테스트 roku_run_test 통합 테스트 실행

🛠️ 설치

git clone https://github.com/maskelog/roku-mcp.git
cd roku-mcp
npm install
npm run build

⚙️ 설정

.env.example.env로 복사한 후 설정:

ROKU_DEV_HOST=192.168.0.100     # Roku 기기 IP (설정 > 네트워크 > 정보)
ROKU_DEV_PASSWORD=your_password  # Developer Mode 비밀번호
ROKU_PROJECT_ROOT=               # 프로젝트 루트 (기본: 상위 디렉토리)
ROKU_APP_SERVER_URL=             # 앱 서버 URL (선택)

⚠️ Roku Developer Mode를 활성화해야 합니다.

🔌 MCP 클라이언트 연결

AI 에이전트의 MCP 설정에 추가:

{
  "mcpServers": {
    "roku-dev": {
      "command": "node",
      "args": ["/path/to/roku-mcp/dist/index.js"],
      "env": {
        "ROKU_DEV_HOST": "192.168.0.100",
        "ROKU_DEV_PASSWORD": "your_password"
      }
    }
  }
}

💡 사용 예시

AI 에이전트에게 자연어로 요청:

  • "Roku 기기 정보 알려줘"roku_device_info
  • "앱 배포하고 스크린샷 찍어줘"roku_deployroku_screenshot
  • "광고 설정 어떤지 확인해"roku_check_raf
  • "HD/FHD 해상도 호환 되는지 봐줘"roku_check_resolution
  • "통합 테스트 돌려줘"roku_run_test

English

MCP (Model Context Protocol) server for Roku device development, testing, and certification.
Enables AI agents (Gemini, Claude, Copilot, etc.) to directly control and test Roku devices.

✨ Features

  • 📦 App Deployment — Sideload apps and capture screenshots
  • 🖥️ Resolution Verification — Auto-check HD/FHD compatibility
  • ⌨️ Remote Control — Key presses, sequences, text input
  • 📱 App Management — List apps, launch, deep link testing
  • 📋 Log Collection — Real-time BrightScript console logs
  • 🔍 SceneGraph Inspection — Node tree, memory, focused elements
  • 🎥 Streaming Monitoring — Playback state, buffering, bandwidth
  • 🛡️ Certification Checks — DRM, accessibility (Audio Guide/Captions), RAF ads
  • 🧪 Integration Testing — Automated multi-step test sequences

📋 Tools (25)

Category Tool Description
Deploy roku_deploy Sideload app to device
roku_screenshot Capture screen (base64 image)
Display roku_device_info Device info (model, resolution, firmware)
roku_check_resolution Verify HD/FHD resolution support
Input roku_keypress Send remote key press
roku_keypress_sequence Send key sequence
roku_input Custom events / deep link params
App roku_apps List installed apps
roku_active_app Currently running app
roku_launch Launch / restart app
roku_deep_link Test deep linking (certification req.)
roku_registry Read app registry data
roku_app_state Track app lifecycle
Logging roku_log BrightScript console logs
SceneGraph roku_sg_nodes Inspect SG node tree
roku_perf CPU / memory usage
roku_graphics_fps Graphics frame rate
roku_element Find UI element (WebDriver)
roku_focused_element Get focused element
Streaming roku_media_player Media playback state
roku_server_check Server health check
Certification roku_check_drm DRM content protection status
roku_check_accessibility Accessibility compliance
roku_check_raf RAF ad framework verification
Testing roku_run_test Run integration test sequence

🛠️ Installation

git clone https://github.com/maskelog/roku-mcp.git
cd roku-mcp
npm install
npm run build

⚙️ Configuration

Copy .env.example to .env and configure:

ROKU_DEV_HOST=192.168.0.100     # Roku device IP (Settings > Network > About)
ROKU_DEV_PASSWORD=your_password  # Developer Mode password
ROKU_PROJECT_ROOT=               # Project root (default: parent directory)
ROKU_APP_SERVER_URL=             # App server URL (optional)

⚠️ Roku Developer Mode must be enabled on the target device.

🔌 MCP Client Setup

Add to your AI agent's MCP configuration:

{
  "mcpServers": {
    "roku-dev": {
      "command": "node",
      "args": ["/path/to/roku-mcp/dist/index.js"],
      "env": {
        "ROKU_DEV_HOST": "192.168.0.100",
        "ROKU_DEV_PASSWORD": "your_password"
      }
    }
  }
}

💡 Usage Examples

Ask your AI agent in natural language:

  • "Show me the Roku device info"roku_device_info
  • "Deploy the app and take a screenshot"roku_deployroku_screenshot
  • "Check if the ad framework is set up correctly"roku_check_raf
  • "Verify HD/FHD resolution support"roku_check_resolution
  • "Run a full integration test"roku_run_test

🏗️ Architecture

roku-mcp/
├── src/
│   ├── index.ts              # MCP server entry (25 tools + 2 resources)
│   ├── roku-client.ts        # ECP + Dev Web Server client
│   ├── log-client.ts         # BrightScript console (Telnet :8085)
│   ├── webdriver-client.ts   # Roku WebDriver (port 9000)
│   └── test-runner.ts        # Integration test orchestrator
├── dist/                     # Compiled output
├── package.json
├── tsconfig.json
└── .env.example

📡 Roku APIs Used

API Port Purpose
ECP (External Control Protocol) 8060 Device control, queries, key presses
Developer Web Server 80 App sideloading, screenshots
BrightScript Console 8085 Runtime logs, debugging
SceneGraph Debug 8080 SG-specific debugging
WebDriver 9000 UI element automation

📝 Self-Documenting

Every tool includes inline Roku API documentation in its description — API endpoints, ports, parameters, expected responses, and links to official docs. AI agents can use the tools without consulting external documentation.


License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选