# Dailymotion MCP

> Dailymotion provides full control over your video content library through natural conversation. Use this MCP to upload videos, update metadata (titles, tags), track performance metrics via GraphQL queries, and generate stream URLs for integration—all without touching a complex dashboard.

## Overview
- **Category:** image-video
- **Price:** Free
- **Tags:** video-hosting, streaming-api, video-player, content-distribution, media-management

## Description

Managing video distribution used to mean juggling multiple dashboards: one for uploads, another for analytics, and a third for player configurations. Now you can treat your entire Dailymotion account like a single entity. You tell your agent what you need, whether it's finding the five most recent videos about machine learning or updating the tags on an old demo reel. It handles everything from generating secure upload links to running complex queries against the reporting API.

If you already use Vinkius to connect other services, adding Dailymotion completes your media stack. You get instant access to a unified workflow for content creators, developers needing stream links, and managers tracking performance reports. It takes natural language commands and executes them across video publishing, metadata editing, and advanced reporting.

## Tools

### create_player
Creates and manages customized video player configurations for your profile.

### create_video
Publishes or creates a brand new video file on Dailymotion using the content provided.

### edit_video
Modifies existing video metadata, such as titles, descriptions, and tags, for specific videos.

### get_partner_upload_url
Retrieves a secure upload URL specifically requiring the private API key/token.

### get_upload_url
Gets a public, general-use URL for uploading a new video file to Dailymotion.

### get_video_stream
Generates the necessary stream or download URLs needed to embed or inspect the video content.

### list_videos
Searches and retrieves a list of videos from your library based on criteria like search terms or date range.

### reporting_graphql
Executes complex queries against the Reporting API using GraphQL to pull deep performance metrics.

## Prompt Examples

**Prompt:** 
```
Search for the latest 5 videos about 'artificial intelligence' on Dailymotion.
```

**Response:** 
```
I've searched Dailymotion for 'artificial intelligence'. Here are the 5 most recent results, including 'AI Revolution 2024' and 'Future of Robotics'. Would you like the stream URLs for any of these?
```

**Prompt:** 
```
Update the title of video x82j1k9 to 'Product Demo v2' and add 'tutorial' to the tags.
```

**Response:** 
```
I've successfully updated video x82j1k9. The title is now 'Product Demo v2' and the tags have been updated to include 'tutorial'.
```

**Prompt:** 
```
Get me an upload URL so I can publish a new video.
```

**Response:** 
```
I've generated a secure upload URL for you. You can upload your file to: [Upload URL]. Once finished, give me the file URL and I'll use `create_video` to publish it.
```

## Capabilities

### Publishing New Content
Generate secure upload URLs or publish videos directly to specific Dailymotion channels.

### Updating Video Details
Instantly change titles, descriptions, and tags for any video in your library using a simple command.

### Retrieving Stream Links
Get direct HLS or MP4 URLs needed to embed videos into external websites or custom applications.

### Tracking Performance Data
Run complex queries against the Reporting API to pull detailed performance metrics and analytics reports.

### Creating Custom Players
Design and manage customized video player experiences for specific user profiles.

## Use Cases

### The quarterly content audit
A marketing lead needs to find all videos tagged 'Q1 2024' and check their current title. Instead of using the search filters, they simply ask the agent to `list_videos` for that tag, getting a clean list they can review.

### Embedding content on a custom site
A developer needs video links for ten different client pages. They instruct the agent to use `get_video_stream` on the target videos, receiving all necessary embed URLs in one go for their code base.

### Fixing stale metadata
The content team realizes a popular video needs its description and tags updated immediately. They use `edit_video`, telling the agent exactly what changes to make, without needing to log into the Dailymotion dashboard.

### Analyzing campaign success
A manager wants to know engagement metrics for a video published last month. They execute a complex query using `reporting_graphql`, pulling structured data points that confirm or deny the campaign's hypothesis.

## Benefits

- Stop jumping through complex web dashboards. You can update any video's title or tags simply by asking your agent to do it using `edit_video`. The process is instant, not manual.
- Need a developer-ready link? Use `get_video_stream` to pull direct HLS or MP4 URLs right into your code editor. It saves you from digging through player settings.
- Track everything without opening the analytics portal. Run detailed performance reports by calling `reporting_graphql`, getting clean, structured data for analysis.
- Publishing is streamlined: use `get_upload_url` or `get_partner_upload_url` to get a secure link first, then let the agent handle the final publication with `create_video`.
- Build customized viewing experiences by using `create_player` to manage specific player settings for different client profiles.

## How It Works

The bottom line is you manage your entire media pipeline using only conversation, not dashboards.

1. Subscribe to this MCP in Vinkius and provide your Dailymotion Access Token.
2. Ask your AI agent a natural language question, like 'List the last 10 videos' or 'Update video x82j with new tags'.
3. The agent translates that request into specific API calls (e.g., calling `list_videos` or `edit_video`) and returns the required data or confirmation.

## Frequently Asked Questions

**How do I use `list_videos` with Dailymotion?**
You ask the agent to list videos and provide search criteria like 'Show me all educational content from last month.' The tool handles filtering by date or tags, giving you a clean list of video IDs.

**Can I get stream links using `get_video_stream`?**
Yes. This function generates the direct HLS or MP4 URLs needed for embedding. It's crucial for developers building custom sites that need raw media feeds, not just a player widget.

**What is the best way to check performance data? Should I use `reporting_graphql`?**
For deep, structured analysis, always use `reporting_graphql`. It allows you to query specific metrics (like view duration or source) that simple dashboards won't show. It’s your most powerful reporting tool.

**Do I need a special URL to publish new content? Which one should I use: `get_upload_url` or `get_partner_upload_url`?**
It depends on the token. Use `get_upload_url` for general public uploads, but if you are publishing through a specific partner channel using your private credentials, you must call `get_partner_upload_url`.

**How do I use `create_player`? Does this tool handle player setup?**
Yes, it generates a fully customized video player for your profile. You simply provide the necessary parameters like dimensions or branding details, and the MCP returns the embed code you need for deployment.

**After I upload content, how do I publish it using `create_video`?**
This tool finalizes the publishing process. You supply the video file reference and all required metadata fields in a single call, allowing the MCP to push the finished video live to Dailymotion.

**When should I use `edit_video` instead of uploading a new version?**
You use this tool when you need to adjust metadata on an already published video. You pass the target video ID and specify exactly which fields, like tags or descriptions, require updating.

**What are the requirements for `get_partner_upload_url`?**
This function requires a private API key/token to execute. It's designed specifically for controlled enterprise workflows that need secure access to restricted upload paths, keeping your content highly protected.

**How do I upload a video file using this server?**
First, use the `get_upload_url` tool to receive a secure destination. After uploading your file to that URL, use the `create_video` tool with the file's URL to finalize and publish it to your channel.

**Can I get direct HLS stream links for my videos?**
Yes! Use the `get_video_stream` tool with the target Video ID. You can request specific fields like `stream_hls_url` or `stream_h264_hd_url` to get the exact format you need.

**Is it possible to search for videos by specific owners or dates?**
Absolutely. Use the `list_videos` tool which supports filters like `owners`, `created_after`, `created_before`, and a general `search` query to find exactly what you're looking for.