Kaltura

Kaltura-MCP server powering agentic AI workflows with Kaltura's API
  • python

5

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "zoharbabin-kaltura-mcp": {
      "command": "kaltura-mcp",
      "args": [],
      "env": {
        "KALTURA_USER_ID": "YOUR_USER_ID",
        "KALTURA_PARTNER_ID": "YOUR_PARTNER_ID",
        "KALTURA_SERVICE_URL": "https://cdnapisec.kaltura.com",
        "KALTURA_ADMIN_SECRET": "YOUR_ADMIN_SECRET"
      }
    }
  }
}

You can use the Kaltura MCP Server to perform read-only, secure operations against Kaltura data. It lets you search, filter, analyze captions and transcripts, browse categories, and retrieve analytics in a controlled, local or remote deployment that keeps credentials secure while enabling powerful AI-assisted content discovery.

How to use

Choose your deployment mode based on your needs. For personal use and direct Claude Desktop integration, run a local MCP server (stdio mode). For hosted services or multiple users, deploy a remote MCP server (HTTP/SSE mode) and connect clients through a proxy or direct transport.

How to install

# Prerequisites: ensure you have Python 3.8+ and Git installed

# 1) Clone the MCP server repository
git clone https://github.com/zoharbabin/kaltura-mcp.git
cd kaltura-mcp

# 2) Install dependencies in editable mode
pip install -e .
# Optional: install the MCP package if you prefer a packaged approach
pip install kaltura-mcp

Next, configure your environment securely. Use the interactive setup to create a .env file and tailor settings for either stdio (local) or remote (hosted) mode.

Configuration and using the MCP server

Local MCP Server (stdio mode) setup guides you through: choosing stdio vs remote, securely entering Kaltura credentials, and generating a .env file with proper permissions. For personal use, you will point Claude Desktop to this local MCP server executable. The path to the MCP command is discovered during setup and stored in your Claude Desktop configuration.

Remote MCP Server (HTTP/SSE mode) requires additional environment variables for JWT signing, OAuth flow, and server binding. You will run a remote server using the provided commands and expose an HTTP/SSE endpoint for MCP transport. Clients connect by providing the server URL and a JWT or token obtained through the on-server authorization flow.

Security and credentials

Credentials are handled securely in both modes. In local mode, credentials stay in ~/.env and are not exposed over the network. In remote mode, credentials are encrypted inside tokens and transmitted over TLS. Tokens have a 24-hour default expiry and scopes restrict access to read-only Kaltura operations. Always protect your .env file (permissions should be 600) and avoid committing secrets to version control.

Hardening tips include using HTTPS in production, rotating JWT secrets, enabling auditing and monitoring, and applying network controls such as firewalls or VPN access where appropriate.

Troubleshooting and tips

If the MCP server doesn’t start, verify that the MPL command path is correct and that the environment file exists and is readable. Check that the credentials you entered in the setup match those configured in your Kaltura account. Ensure the .env file has correct permissions and that the server process is running in the expected directory.

For Claude Desktop integration, ensure the configuration points to the correct local MCP command and that the CLI path is accessible in your shell (use which kaltura-mcp to locate it). After changes, restart Claude Desktop fully to apply the new settings.

Notes on deployment options

Local deployment (stdio) is ideal for solo work and direct integration. Remote deployment (HTTP/SSE) is suited for hosting as a service, multi-tenant scenarios, and centralized management. Use a proxy client if you want seamless compatibility with Claude Desktop when combining local and remote setups.

Available tools

get_media_entry

Retrieve detailed information about a specific media entry by entry_id.

list_categories

List and search content categories with optional text filtering and limits.

get_analytics

Provide general analytics data suitable for reporting and analysis.

get_analytics_timeseries

Return time-series analytics data for charting and trend analysis.

get_video_retention

Analyze viewer retention across a video to identify drop-off points.

get_realtime_metrics

Fetch live analytics data updated at regular intervals.

get_quality_metrics

Provide QoE metrics and streaming performance indicators.

get_geographic_breakdown

Aggregate analytics by geographic location at various granularities.

list_analytics_capabilities

Return the available analytics functions and capabilities.

get_download_url

Obtain a direct download URL for a media entry, optionally with a flavor.

get_thumbnail_url

Get a thumbnail or preview image URL with specified dimensions.

search_entries

Search and discover media entries with filtering and sorting options.

list_caption_assets

List available captions for a media entry.

get_caption_content

Retrieve caption or subtitle content for a given caption asset.

list_attachment_assets

List attachments associated with a media entry.

get_attachment_content

Retrieve attachment content details and data in base64 format.

analytics_wizard

Interactive guide to create comprehensive analytics reports.

content_discovery

Natural language search assistant for finding media.

accessibility_audit

Check content accessibility compliance for specified scope.

retention_analysis

Create a retention analysis report for a video over a time period.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational