MCP API Integration

Programmatic video analysis for AI assistants and automation workflows

Common Use Cases

📱 Social Media Management

Automatically generate social media posts, hashtags, and engagement content from video uploads.

📚 Content Curation

Extract key insights and summaries from educational videos for knowledge bases and learning materials.

🔍 Research & Analysis

Analyze market research videos, interviews, and presentations for business intelligence.

🤖 AI Assistant Tools

Add video analysis capabilities to Claude, ChatGPT, or custom AI assistants.

📊 Content Analytics

Batch process video libraries to extract themes, topics, and performance insights.

💼 Enterprise Workflows

Integrate with CMS, marketing automation, and content management systems.

What is MCP?

Model Context Protocol (MCP) is a standardized interface that allows AI assistants and automation tools to integrate with external services. Description.Video provides a fully MCP-compatible REST API that enables programmatic video analysis.

🤖 AI Assistant Integration

Connect Description.Video to Claude, ChatGPT, or any AI assistant that supports MCP for seamless video analysis within conversations.

🔧 Workflow Automation

Integrate video analysis into your automation pipelines, content management systems, or batch processing workflows.

Analysis Mode

🧠 Smart Analysis Mode

analyze_video

Optimized internal prompt system for consistent, high-quality analysis. Black box approach with proven templates.

Comprehensive analysis
Social media optimized
Consistent quality

Agent Configuration

To configure AI agents (like Claude Desktop, ChatGPT, or custom assistants) to use Description.Video's MCP service, add this configuration:

MCP Server Configuration

{
    "mcpServers": {
        "description.video": {
            "url": "https://description.video/mcp"
        }
    }
}

Configuration Notes

  • • Place this configuration in your agent's MCP settings file
  • • The service name "description.video" can be customized to your preference
  • • Ensure your agent supports HTTP-based MCP servers
  • • Some agents may require additional authentication or proxy settings

Quick Start

📋 Essential Parameters

🌍 report_language (Required)

24 languages supported:

bengali bulgarian chinese czech danish dutch english french german hindi hungarian italian japanese norwegian polish portuguese romanian russian spanish swedish swiss_german tamil thai turkish

🤖 model (Optional)

10 AI models available:

tngtech/deepseek-r1t2-chimera:free deepseek/deepseek-chat-v3-0324:free deepseek/deepseek-r1-0528:free tngtech/deepseek-r1t-chimera:free google/gemini-2.0-flash-exp:free moonshotai/kimi-k2:free qwen/qwen-2.5-72b-instruct:free z-ai/glm-4.5-air:free google/gemma-3-27b-it:free meta-llama/llama-3.3-70b-instruct:free Default: tngtech/deepseek-r1t2-chimera:free

⚠️ Missing required parameter:

{"error": {"code": -32602, "message": "Invalid params: report_language is required"}}

2. List Available Functions

curl -X POST https://description.video/mcp/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }'

3. Smart Analysis

curl -X POST https://description.video/mcp/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "analyze_video",
      "arguments": {
        "video_url": "https://www.youtube.com/watch?v=UF8uR6Z6KLc",
        "report_language": "german"
      }
    },
    "id": 3
  }'

Integration Examples

Multi-Language Integration

import requests

def analyze_video(url, lang="english", model=None):
    payload = {
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
            "name": "analyze_video",
            "arguments": {
                "video_url": url,
                "report_language": lang,
                **({"model": model} if model else {})
            }
        },
        "id": 1
    }
    
    response = requests.post("https://description.video/mcp/", json=payload)
    return response.json()["result"]["content"][0]["text"]

# Usage
result = analyze_video(
    "https://www.youtube.com/watch?v=UF8uR6Z6KLc", 
    "german"
)
async function analyzeVideo(url, lang = "english", model) {
    const payload = {
        jsonrpc: "2.0",
        method: "tools/call",
        params: {
            name: "analyze_video",
            arguments: {
                video_url: url,
                report_language: lang,
                ...(model && { model })
            }
        },
        id: Date.now()
    };
    
    const response = await fetch('https://description.video/mcp/', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(payload)
    });
    
    const result = await response.json();
    return result.result?.content[0]?.text;
}

// Usage
const result = await analyzeVideo(
    'https://www.youtube.com/watch?v=UF8uR6Z6KLc',
    'german'
);
curl -X POST https://description.video/mcp/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "analyze_video",
      "arguments": {
        "video_url": "https://www.youtube.com/watch?v=UF8uR6Z6KLc",
        "report_language": "german"
      }
    },
    "id": 1
  }'

🔧 Key Implementation Notes:

  • • All examples use identical MCP JSON-RPC structure
  • • Optional parameters use conditional spreading (**{} in Python, ... in JS)
  • • Response parsing: result.content[0].text contains the analysis
  • • Error handling should check for result.error field

Technical Specifications

Protocol Details

  • Protocol: JSON-RPC 2.0
  • Endpoint: https://description.video/mcp/
  • Method: POST
  • Content-Type: application/json

Rate Limits

  • Analysis requests: 10 per hour per IP
  • List tools: Unlimited
  • Headers: X-RateLimit-*
  • Error code: HTTP 429 when exceeded

📄 Response Format

{
  "jsonrpc": "2.0",
  "result": {
    "content": [{"type": "text", "text": "Analysis result..."}],
    "metadata": {
      "task_id": "uuid",
      "video_title": "Video Title",
      "processing_time": 15.7,
      "model_used": "deepseek-r1t2-chimera:free"
    }
  },
  "id": 1
}