Skip to main content

MCP Server for Red Bee Media OTT Platform - MCP Interface for Exposure APIs

Project description

Red Bee MCP Server

Model Context Protocol (MCP) Server for Red Bee Media OTT Platform

Connect to Red Bee Media streaming services directly from any MCP-compatible client like Claude Desktop, Cursor, or other AI tools. This server provides 33 tools for authentication, content search, user management, purchases, and system operations.

PyPI version Python 3.8+

๐Ÿš€ Quick Start

Option 1: Using uvx (Recommended)

The easiest way to use Red Bee MCP is with uvx (requires no installation):

# Test the server
uvx redbee-mcp --help

Option 2: Using pip

pip install redbee-mcp

๐Ÿ“‹ Configuration

For Claude Desktop

Add to your Claude Desktop MCP configuration file:

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

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

For Cursor

Add to your Cursor MCP settings:

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

Alternative: If you installed with pip

{
  "mcpServers": {
    "redbee-mcp": {
      "command": "redbee-mcp",
      "env": {
        "REDBEE_CUSTOMER": "CUSTOMER_NAME",
        "REDBEE_BUSINESS_UNIT": "BUSINESS_UNIT_NAME"
      }
    }
  }
}

๐Ÿ”ง Environment Variables

Variable Required Description Example
REDBEE_CUSTOMER โœ… Yes Red Bee customer identifier CUSTOMER_NAME
REDBEE_BUSINESS_UNIT โœ… Yes Red Bee business unit BUSINESS_UNIT_NAME
REDBEE_EXPOSURE_BASE_URL โŒ No API base URL https://exposure.api.redbee.live
REDBEE_USERNAME โŒ No Username for authentication user@example.com
REDBEE_PASSWORD โŒ No Password for authentication password123
REDBEE_SESSION_TOKEN โŒ No Existing session token eyJhbGciOiJIUzI1...
REDBEE_DEVICE_ID โŒ No Device identifier web-browser-123
REDBEE_CONFIG_ID โŒ No Configuration ID sandwich
REDBEE_TIMEOUT โŒ No Request timeout in seconds 30

Example with authentication

{
  "mcpServers": {
    "redbee-mcp": {
      "command": "uvx",
      "args": ["redbee-mcp"],
      "env": {
        "REDBEE_CUSTOMER": "YOUR_CUSTOMER_NAME",
        "REDBEE_BUSINESS_UNIT": "YOUR_BUSINESS_UNIT_NAME",
        "REDBEE_USERNAME": "your_username",
        "REDBEE_PASSWORD": "your_password"
      }
    }
  }
}

๐Ÿ› ๏ธ Available Tools (33 total)

๐Ÿ” Authentication (4 tools)

  • login_user - Authenticate with username/password
  • create_anonymous_session - Create anonymous session
  • validate_session_token - Validate existing session
  • logout_user - Logout and invalidate session

๐Ÿ“บ Content Management (9 tools)

  • search_content - Search for movies, TV shows, documentaries
  • get_asset_details - Get detailed asset information
  • get_public_asset_details - Get public asset details (no auth)
  • get_playback_info - Get streaming URLs and playback info
  • search_assets_autocomplete - Autocomplete search suggestions
  • get_epg_for_channel - Get Electronic Program Guide
  • get_episodes_for_season - Get all episodes in a season
  • get_assets_by_tag - Get assets by tag type
  • list_assets - List assets with filters

๐Ÿ‘ค User Management (6 tools)

  • signup_user - Create new user account
  • change_user_password - Change user password
  • get_user_profiles - Get user profiles
  • add_user_profile - Add new user profile
  • select_user_profile - Select active profile
  • get_user_preferences - Get user preferences
  • set_user_preferences - Set user preferences

๐Ÿ’ณ Purchases & Transactions (7 tools)

  • get_account_purchases - Get user purchases
  • get_account_transactions - Get transaction history
  • get_offerings - Get available product offerings
  • purchase_product_offering - Purchase a product
  • cancel_purchase_subscription - Cancel subscription
  • get_stored_payment_methods - Get saved payment methods
  • add_payment_method - Add new payment method

โš™๏ธ System Operations (7 tools)

  • get_system_config - Get platform configuration
  • get_system_time - Get server time
  • get_user_location - Get user location by IP
  • get_active_channels - Get active TV channels
  • get_user_devices - Get registered devices
  • delete_user_device - Delete a device

๐Ÿงช Testing

Test the server locally

# Using uvx
uvx redbee-mcp

# Using pip installation
redbee-mcp

# With environment variables
REDBEE_CUSTOMER=CUSTOMER_NAME REDBEE_BUSINESS_UNIT=BUSINESS_UNIT_NAME uvx redbee-mcp

Test MCP protocol manually

# Initialize and list tools
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "test", "version": "1.0.0"}}}
{"jsonrpc": "2.0", "method": "notifications/initialized"}
{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}' | uvx redbee-mcp

๐Ÿ“– Usage Examples

Search for content

Ask your AI assistant:

"Search for French documentaries about nature"

The assistant will use the search_content tool with appropriate parameters.

Get streaming information

"Get the playback URL for asset ID 12345"

The assistant will use get_playback_info to retrieve streaming details.

Manage user profiles

"Show me all user profiles and create a new one called 'Kids'"

The assistant will use get_user_profiles and add_user_profile.

๐Ÿ”„ Development

Local development

git clone https://github.com/tamsibesson/redbee-mcp.git
cd redbee-mcp
pip install -e .
redbee-mcp

Run tests

# Test MCP protocol
python -c "
import asyncio
from src.redbee_mcp.server import get_available_tools
print(f'Available tools: {len(asyncio.run(get_available_tools()))}')
"

Project structure

redbee-mcp/
โ”œโ”€โ”€ src/redbee_mcp/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ __main__.py          # Entry point
โ”‚   โ”œโ”€โ”€ server.py            # MCP server implementation
โ”‚   โ”œโ”€โ”€ client.py            # Red Bee API client
โ”‚   โ”œโ”€โ”€ models.py            # Data models
โ”‚   โ””โ”€โ”€ tools/               # MCP tools
โ”‚       โ”œโ”€โ”€ auth.py          # Authentication tools
โ”‚       โ”œโ”€โ”€ content.py       # Content management tools
โ”‚       โ”œโ”€โ”€ user_management.py # User tools
โ”‚       โ”œโ”€โ”€ purchases.py     # Purchase tools
โ”‚       โ””โ”€โ”€ system.py        # System tools
โ”œโ”€โ”€ pyproject.toml           # Package configuration
โ””โ”€โ”€ README.md

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐Ÿ”— Links

๐Ÿ“ž Support

For issues and questions:

  • Create an issue on GitHub
  • Check the Red Bee Media documentation
  • Review the MCP specification

Made with โค๏ธ for the Red Bee Media community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redbee_mcp-1.3.0.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redbee_mcp-1.3.0-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file redbee_mcp-1.3.0.tar.gz.

File metadata

  • Download URL: redbee_mcp-1.3.0.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for redbee_mcp-1.3.0.tar.gz
Algorithm Hash digest
SHA256 1a3a0c76b048be57b32b0027a1cdf7654a0d581d9f795fcbe3fa031884db881f
MD5 8e412757a883e5afe926cd77ae49401a
BLAKE2b-256 7f26d193fe47edb7d760431979caa2f6a42afd0db46ad15b7e096b00c93eb5d3

See more details on using hashes here.

File details

Details for the file redbee_mcp-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: redbee_mcp-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for redbee_mcp-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60451f968b91b550cb37eba5fc8e639cd5b8bb2274b7775d932b359ad3f80559
MD5 96c238f1c2d5e3d61c2b6734b4c57e08
BLAKE2b-256 3a7337673c107255558959932a142f6786ee1a74b6922f08f5848fe40ccff087

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page