RE

Redbee MCP Server for Redbee API Integration

Integrate Redbee APIs with the Redbee MCP server to streamline connections, manage requests, and accelerate development.

Quick Install
npx -y @Tamsi/redbee-mcp

Overview

Redbee MCP Server implements the Model Context Protocol (MCP) adapter for Red Bee Media streaming services. It exposes Red Bee backend capabilities (authentication, content search, user/profile management, playback info, purchases, and system utilities) through an MCP-compatible interface so local AI agents (e.g., Claude Desktop) and web apps can call Red Bee tools as RPCs or receive real-time events.

The server supports multiple operating modes: the original stdio mode (for local MCP clients), an HTTP JSON-RPC mode suitable for web integration, and an SSE (Server-Sent Events) mode for streaming events. This makes it easy to prototype integrations, build AI assistants that interact with streaming services, or wire Red Bee functionality into web frontends without rewriting service plumbing.

Features

  • MCP-compatible toolset exposing ~33 Red Bee operations (authentication, search, playback, EPG, purchases)
  • Multiple operating modes: stdio, HTTP (JSON-RPC), SSE (events), or both simultaneously
  • Quick CLI using uvx or direct package invocation (Python 3.8+)
  • HTTP endpoints for JSON-RPC calls and health checks
  • Real-time SSE stream for tools/events and client lifecycle messages
  • Environment-driven configuration for credentials, timeouts, and API base URL
  • Lightweight Python package for local deployment or containerization

Installation / Configuration

Requirements: Python 3.8+

Install from PyPI:

pip install redbee-mcp

If you use uvx (recommended for easy CLI usage):

# show help / validate installation
uvx redbee-mcp --help

# stdio mode (for MCP local clients)
uvx redbee-mcp --stdio --customer YOUR_CUSTOMER --business-unit YOUR_BU

# http mode (JSON-RPC)
uvx redbee-mcp --http --customer YOUR_CUSTOMER --business-unit YOUR_BU

# run both modes
uvx redbee-mcp --both --customer YOUR_CUSTOMER --business-unit YOUR_BU

Run directly:

redbee-mcp --http --customer YOUR_CUSTOMER --business-unit YOUR_BU

Common environment variables

VariableRequiredPurpose
REDBEE_CUSTOMERYesRed Bee customer identifier
REDBEE_BUSINESS_UNITYesBusiness unit name
REDBEE_EXPOSURE_BASE_URLNoAPI base URL (default Red Bee Exposure API)
REDBEE_USERNAMENoUsername for interactive login tool
REDBEE_PASSWORDNoPassword for interactive login tool
REDBEE_SESSION_TOKENNoProvide existing session token
REDBEE_DEVICE_IDNoDevice identifier for session creation
REDBEE_CONFIG_IDNoConfiguration ID (e.g., environment)
REDBEE_TIMEOUTNoRequest timeout in seconds

Claude Desktop MCP configuration (example)

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Example snippet:

{
  "mcpServers": {
    "redbee-mcp": {
      "command": "uvx",
      "args": ["redbee-mcp", "--stdio"],
      "env": {
        "REDBEE_CUSTOMER": "CUSTOMER_NAME",
        "REDBEE_BUSINESS_UNIT": "BUSINESS_UNIT_NAME"
      }
    }
  }
}

HTTP Endpoints

The HTTP server defaults to http://localhost:8000 with endpoints:

MethodPathDescription
GET/API information
GET/healthHealth check
POST/JSON-RPC (MCP) requests (tools/list, tools/call, etc.)
GET/sseServer-Sent Events stream (real-time messages)

JSON-RPC examples

Health check:

curl http://localhost:8000/health

List tools:

curl -X POST http://localhost:8000/ \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":"1"}'

Call a tool (search content):

curl -X POST http://localhost:8000/ \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc":"2.0",
    "method":"tools/call",
    "params":{
      "name":"search_content_v2",
      "arguments":{
        "query":"french films",
        "types":"MOVIE",
        "pageSize":5
      }
    },
    "id":"search-1"
  }'

SSE example (browser)

const es = new EventSource('http://localhost:8000/sse');
es.onmessage = e => {
  const payload = JSON.parse(e.data);
  console.log('SSE message:', payload);
};

Available Tools

High-level categories (representative tool names):

  • Authentication
    • login_user, create_anonymous_session, validate_session_token, logout_user
  • Content & Search
    • search_content_v2, search_assets_autocomplete, get_public_asset_details, get_asset_details
  • Playback & EPG
    • get_playback_info, get_epg_for_channel, get_episodes_for_season
  • User & Purchases
    • get_user_profile, create_purchase, validate_purchase
  • System & Utilities
    • health_check, get_configuration, tools/list, tools/call

Each tool accepts structured arguments and returns JSON responses compatible with MCP/JSON-RPC.

Use Cases

  • AI assistant (Claude Desktop): run redbee-mcp in stdio mode and configure Claude Desktop MCP to call Red Bee tools for tasks such as searching content, retrieving episodes, or starting playback flows.
  • Web application integration: run HTTP mode and call tools via JSON-RPC from frontend or backend services. Example: implement a search bar that forwards queries to search_content_v2 and renders results.
  • Real-time updates: use SSE mode for streaming system notifications, tool availability messages, or live user-session events into dashboards or web clients.
  • Rapid prototyping: combine anonymous sessions and content tools to build proof-of-concept voice or chat experiences that query Red Bee catalogs without managing heavy backend logic.

Repository and source

  • GitHub: https://github.com/Tamsi/redbee-mcp

This MCP server simplifies connecting AI agents and web clients to Red Bee services by exposing a consistent, RPC-driven toolset with flexible transport modes.