{
  "$schema": "https://modelcontextprotocol.io/schema/mcp-server-card.json",
  
  "name": "video-samuraizer",
  "displayName": "Video Samuraizer",
  "description": "AI-powered YouTube video summarization - 12 summary formats, transcript chat, video library management",
  "version": "4.0.0",
  
  "publisher": {
    "name": "Video Samuraizer",
    "url": "https://testingstage.video-samuraizer.de"
  },
  
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false
  },
  
  "tools": [
    {
      "name": "summarize_youtube_video",
      "description": "Generate an AI-powered summary of a YouTube video. Extracts transcript and creates summary in chosen format. Costs credits based on detail level. IMPORTANT: Always display the complete summary to the user without truncation or abbreviation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "YouTube video URL"
          },
          "detailLevel": {
            "type": "string",
            "enum": ["short", "medium", "detailed", "songtext", "executive", "actionable", "critical", "knowledge", "decision", "tutorial", "kochrezept", "backrezept"],
            "default": "medium",
            "description": "Summary format: short/songtext(1cr), medium(2cr), detailed(3cr), premium formats(5cr)"
          }
        },
        "required": ["url"]
      },
      "annotations": {
        "title": "Summarize YouTube Video",
        "readOnlyHint": false,
        "destructiveHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "chat_with_video",
      "description": "Ask questions about a video's transcript. Requires video to be in library. IMPORTANT: Always display the complete response without truncation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "videoId": {
            "type": "integer",
            "description": "Video ID from user's library"
          },
          "message": {
            "type": "string",
            "description": "Question to ask about the video"
          },
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": { "type": "string", "enum": ["user", "assistant"] },
                "content": { "type": "string" }
              }
            },
            "description": "Previous conversation history"
          }
        },
        "required": ["videoId", "message"]
      },
      "annotations": {
        "title": "Chat with Video",
        "readOnlyHint": true,
        "destructiveHint": false
      }
    },
    {
      "name": "list_videos",
      "description": "List all videos in user's library.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "description": "Search term for title or channel"
          },
          "tags": {
            "type": "string",
            "description": "Comma-separated tag filter"
          }
        }
      },
      "annotations": {
        "title": "List My Videos",
        "readOnlyHint": true,
        "destructiveHint": false
      }
    },
    {
      "name": "get_video_details",
      "description": "Get full details of a specific video including all available summaries. IMPORTANT: Always display all summaries completely without truncation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "videoId": {
            "type": "integer",
            "description": "Video ID"
          }
        },
        "required": ["videoId"]
      },
      "annotations": {
        "title": "Get Video Details",
        "readOnlyHint": true,
        "destructiveHint": false
      }
    },
    {
      "name": "get_credit_balance",
      "description": "Check remaining credits.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "title": "Check Credit Balance",
        "readOnlyHint": true,
        "destructiveHint": false
      }
    },
    {
      "name": "delete_video",
      "description": "Delete a video from user's library.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "videoId": {
            "type": "integer",
            "description": "Video ID to delete"
          }
        },
        "required": ["videoId"]
      },
      "annotations": {
        "title": "Delete Video",
        "readOnlyHint": false,
        "destructiveHint": true
      }
    }
  ],
  
  "authentication": {
    "type": "bearer",
    "description": "JWT or Agent Token authentication",
    "scheme": "Bearer",
    
    "methods": [
      {
        "name": "agent_token",
        "description": "Dedicated token for AI agents - revokeable",
        "format": "vs_ag_xxxxx",
        "obtain": {
          "url": "/api/tokens",
          "method": "POST",
          "requires": "existing_account"
        },
        "recommended": true
      },
      {
        "name": "jwt_token",
        "description": "Session JWT from login",
        "format": "eyJ...",
        "obtain": {
          "url": "/api/auth/login",
          "method": "POST",
          "body": {
            "email": { "type": "string", "format": "email" },
            "password": { "type": "string" }
          }
        }
      }
    ],
    
    "headers": {
      "Authorization": "Bearer <token>",
      "X-Agent-Source": "mcp",
      "X-Agent-Tool": "<tool_name>",
      "X-Agent-Name": "<agent_name>"
    }
  },
  
  "pricing": {
    "model": "credits",
    "freeTier": {
      "credits": 5,
      "description": "Free credits upon registration"
    },
    "costs": {
      "summarize": {
        "short": { "credits": 1 },
        "medium": { "credits": 2 },
        "detailed": { "credits": 3 },
        "songtext": { "credits": 1 },
        "executive": { "credits": 5 },
        "actionable": { "credits": 5 },
        "critical": { "credits": 5 },
        "knowledge": { "credits": 5 },
        "decision": { "credits": 5 },
        "tutorial": { "credits": 5 },
        "kochrezept": { "credits": 5 },
        "backrezept": { "credits": 5 }
      },
      "chat": { "credits": 0, "note": "Free for cached videos" }
    },
    "purchase": {
      "url": "/pricing.html",
      "provider": "Paddle"
    }
  },
  
  "links": {
    "api": "/api/openapi.json",
    "oauth": "/.well-known/oauth-protected-resource",
    "llms_txt": "/llms.txt",
    "documentation": "/faq.html",
    "pricing": "/pricing.html",
    "features": "/features.html",
    "setup_claude": "/setup-claude-desktop.html",
    "setup_chatgpt": "/setup-chatgpt-desktop.html",
    "setup_openclaw": "/setup-openclaw.html",
    "setup_hermes": "/setup-hermes.html"
  }
}
