get_media_entry
Retrieve complete metadata for a specific video entry, including title, description, duration, tags, thumbnail, and status. Use this tool when you have an entry_id and need detailed information about a media file.
Instructions
Get complete metadata for a single video/media file. USE WHEN: You have a specific entry_id and need full details (title, description, duration, tags, thumbnail, status). RETURNS: Complete media metadata including URLs, dimensions, creation date. EXAMPLE: After search finds entry_id='1_abc123', use this to get full video details.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| entry_id | Yes | The media entry ID (format: '1_abc123' or '0_xyz789') |
Implementation Reference
- src/kaltura_mcp/tools/media.py:83-124 (handler)The core handler function that retrieves detailed metadata for a Kaltura media entry by ID using the Kaltura API client and returns formatted JSON.async def get_media_entry(manager: KalturaClientManager, entry_id: str) -> str: """Get detailed information about a specific media entry.""" if not validate_entry_id(entry_id): return json.dumps({"error": "Invalid entry ID format"}, indent=2) try: client = manager.get_client() entry: KalturaMediaEntry = client.media.get(entry_id) except Exception as e: return handle_kaltura_error(e, "get media entry", {"entry_id": entry_id}) return json.dumps( { "id": entry.id, "name": entry.name, "description": entry.description, "mediaType": safe_serialize_kaltura_field(entry.mediaType), "createdAt": datetime.fromtimestamp(entry.createdAt).isoformat() if entry.createdAt else None, "updatedAt": datetime.fromtimestamp(entry.updatedAt).isoformat() if entry.updatedAt else None, "duration": entry.duration, "tags": entry.tags, "categories": entry.categories, "categoriesIds": entry.categoriesIds, "thumbnailUrl": entry.thumbnailUrl, "downloadUrl": entry.downloadUrl, "plays": entry.plays, "views": entry.views, "lastPlayedAt": datetime.fromtimestamp(entry.lastPlayedAt).isoformat() if entry.lastPlayedAt else None, "width": entry.width, "height": entry.height, "dataUrl": entry.dataUrl, "flavorParamsIds": entry.flavorParamsIds, "status": safe_serialize_kaltura_field(entry.status), }, indent=2, )
- src/kaltura_mcp/server.py:74-86 (schema)JSON schema definition and registration of the get_media_entry tool in the main MCP server, including input validation schema.name="get_media_entry", description="Get complete metadata for a single video/media file. USE WHEN: You have a specific entry_id and need full details (title, description, duration, tags, thumbnail, status). RETURNS: Complete media metadata including URLs, dimensions, creation date. EXAMPLE: After search finds entry_id='1_abc123', use this to get full video details.", inputSchema={ "type": "object", "properties": { "entry_id": { "type": "string", "description": "The media entry ID (format: '1_abc123' or '0_xyz789')", }, }, "required": ["entry_id"], }, ),
- src/kaltura_mcp/server.py:497-498 (registration)Tool dispatch logic in the MCP server's call_tool handler that invokes the get_media_entry function.if name == "get_media_entry": result = await get_media_entry(kaltura_manager, **arguments)
- src/kaltura_mcp/tools/__init__.py:22-23 (registration)Export and re-export of the get_media_entry handler from the media module for use across the tools package.get_download_url, get_media_entry,
- src/kaltura_mcp/remote_server.py:553-554 (registration)Tool dispatch in the remote MCP server that calls the get_media_entry handler.if tool_name == "get_media_entry": result = await get_media_entry(kaltura_manager, **arguments)