{
  "name": "aicontentdrop",
  "title": "AI Content Drop",
  "version": "1.0.0",
  "kind": "product",
  "protocolVersion": "2025-06-18",
  "url": "https://aicontentdrop.com/mcp",
  "serverUrl": "https://aicontentdrop.com/mcp",
  "serverInfo": {
    "name": "aicontentdrop",
    "version": "1.0.0",
    "title": "AI Content Drop"
  },
  "icon": "https://aicontentdrop.com/logo.png",
  "description": "AI Content Drop: browse the model catalogue and published guides anonymously; add an API key to generate video on your own account.",
  "endpoint": "https://aicontentdrop.com/mcp",
  "transport": "streamable-http",
  "transports": [
    {
      "type": "streamable-http",
      "url": "https://aicontentdrop.com/mcp",
      "protocolVersion": "2025-06-18"
    },
    {
      "type": "sse",
      "url": "https://aicontentdrop.com/mcp/sse",
      "protocolVersion": "2024-11-05"
    }
  ],
  "authentication": {
    "type": "optional-bearer",
    "description": "Authorization: Bearer acd_live_… authorizes calling account and generation tools; all tool descriptors are public.",
    "documentation": "https://aicontentdrop.com/developers"
  },
  "tools": [
    {
      "name": "list_models",
      "description": "List the AI video or image models available on AI Content Drop with their flat credit cost per generation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "video",
              "image"
            ],
            "description": "Model family to list. Defaults to video."
          },
          "max_credits": {
            "type": "number",
            "description": "Only return models costing this many credits or fewer."
          }
        }
      },
      "annotations": {
        "title": "List models",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://aicontentdrop/model-picker.html",
          "preferredSize": {
            "width": 420,
            "height": 480
          }
        },
        "ui/resourceUri": "ui://aicontentdrop/model-picker.html",
        "openai/outputTemplate": "ui://aicontentdrop/model-picker.html",
        "openai/widgetAccessible": true,
        "openai/toolInvocation/invoking": "Reading the catalogue…",
        "openai/toolInvocation/invoked": "Done."
      }
    },
    {
      "name": "estimate_credit_cost",
      "description": "Estimate the credit cost of generating with a specific model, optionally for a batch of several generations.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "model_id": {
            "type": "string",
            "description": "Model ID, e.g. \"kling_3_0\" or \"veo_3_fast\"."
          },
          "quantity": {
            "type": "number",
            "description": "How many generations. Defaults to 1."
          }
        },
        "required": [
          "model_id"
        ]
      },
      "annotations": {
        "title": "Estimate credit cost",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "search_articles",
      "description": "Search AI Content Drop's published guides and model comparisons about AI video generation, prompting, and ad creative.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Keywords, e.g. 'kling vs sora' or 'ugc hooks'."
          },
          "limit": {
            "type": "number",
            "description": "Maximum results (1-25). Defaults to 10."
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "title": "Search articles",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://aicontentdrop/article-list.html",
          "preferredSize": {
            "width": 420,
            "height": 480
          }
        },
        "ui/resourceUri": "ui://aicontentdrop/article-list.html",
        "openai/outputTemplate": "ui://aicontentdrop/article-list.html",
        "openai/widgetAccessible": true,
        "openai/toolInvocation/invoking": "Reading the catalogue…",
        "openai/toolInvocation/invoked": "Done."
      }
    },
    {
      "name": "get_article",
      "description": "Fetch the full text of one published article as markdown, by slug.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Article slug, e.g. \"kling-vs-sora-comparison\"."
          }
        },
        "required": [
          "slug"
        ]
      },
      "annotations": {
        "title": "Get article",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "generate_video",
      "description": "Start generating an AI video on the authenticated account. Returns a job id immediately — poll get_generation until status is 'completed'. Charges credits only on success. Call estimate_credit_cost first if the cost matters. REQUIRES AN API KEY: add \"Authorization: Bearer acd_live_…\" to this MCP server; a key is created by a signed-in human at https://aicontentdrop.com/settings/integrations.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "prompt": {
            "type": "string",
            "description": "What the video should show. Detailed prompts produce better results."
          },
          "model": {
            "type": "string",
            "description": "Model ID from list_models, e.g. \"kling_3_0\". Omitted means the platform picks a suitable one."
          },
          "duration": {
            "type": "number",
            "description": "Length in seconds. Defaults to 5."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "description": "Defaults to 16:9."
          },
          "image_url": {
            "type": "string",
            "description": "Optional public image URL to animate (image-to-video)."
          }
        },
        "required": [
          "prompt"
        ]
      },
      "annotations": {
        "title": "Generate video",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://aicontentdrop/generation-card.html",
          "preferredSize": {
            "width": 420,
            "height": 480
          }
        },
        "ui/resourceUri": "ui://aicontentdrop/generation-card.html",
        "openai/outputTemplate": "ui://aicontentdrop/generation-card.html",
        "openai/widgetAccessible": true,
        "openai/toolInvocation/invoking": "Reading the catalogue…",
        "openai/toolInvocation/invoked": "Done."
      }
    },
    {
      "name": "get_generation",
      "description": "Check one generation by id: status ('generating', 'completed', 'failed'), the finished video URL, and credits charged. REQUIRES AN API KEY: add \"Authorization: Bearer acd_live_…\" to this MCP server; a key is created by a signed-in human at https://aicontentdrop.com/settings/integrations.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id returned by generate_video."
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "title": "Get generation",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://aicontentdrop/generation-card.html",
          "preferredSize": {
            "width": 420,
            "height": 480
          }
        },
        "ui/resourceUri": "ui://aicontentdrop/generation-card.html",
        "openai/outputTemplate": "ui://aicontentdrop/generation-card.html",
        "openai/widgetAccessible": true,
        "openai/toolInvocation/invoking": "Reading the catalogue…",
        "openai/toolInvocation/invoked": "Done."
      }
    },
    {
      "name": "list_generations",
      "description": "List recent generations on the authenticated account, newest first. REQUIRES AN API KEY: add \"Authorization: Bearer acd_live_…\" to this MCP server; a key is created by a signed-in human at https://aicontentdrop.com/settings/integrations.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "number",
            "description": "How many to return (1-50). Defaults to 10."
          }
        }
      },
      "annotations": {
        "title": "List generations",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://aicontentdrop/generation-card.html",
          "preferredSize": {
            "width": 420,
            "height": 480
          }
        },
        "ui/resourceUri": "ui://aicontentdrop/generation-card.html",
        "openai/outputTemplate": "ui://aicontentdrop/generation-card.html",
        "openai/widgetAccessible": true,
        "openai/toolInvocation/invoking": "Reading the catalogue…",
        "openai/toolInvocation/invoked": "Done."
      }
    },
    {
      "name": "get_account",
      "description": "Credit balance and plan for the authenticated account. Check this before a batch of generations. REQUIRES AN API KEY: add \"Authorization: Bearer acd_live_…\" to this MCP server; a key is created by a signed-in human at https://aicontentdrop.com/settings/integrations.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "title": "Get account",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "resources": [
    {
      "uri": "ui://aicontentdrop/model-picker.html",
      "name": "model-picker",
      "title": "Model picker",
      "description": "Renders the output of list_models as a sortable credit-cost table so a person can pick a model instead of reading JSON.",
      "mimeType": "text/html;profile=mcp-app",
      "_meta": {
        "ui": {
          "csp": {
            "connectDomains": [],
            "resourceDomains": []
          }
        }
      }
    },
    {
      "uri": "ui://aicontentdrop/generation-card.html",
      "name": "generation-card",
      "title": "Generation card",
      "description": "Renders one generation — status, model, credits, and the finished video or image inline.",
      "mimeType": "text/html;profile=mcp-app",
      "_meta": {
        "ui": {
          "csp": {
            "connectDomains": [],
            "resourceDomains": [
              "https://aicontentdrop.com",
              "https://auth.aicontentdrop.com",
              "https://*.supabase.co"
            ]
          }
        }
      }
    },
    {
      "uri": "ui://aicontentdrop/article-list.html",
      "name": "article-list",
      "title": "Article list",
      "description": "Renders search_articles results as a linked reading list.",
      "mimeType": "text/html;profile=mcp-app",
      "_meta": {
        "ui": {
          "csp": {
            "connectDomains": [],
            "resourceDomains": []
          }
        }
      }
    },
    {
      "uri": "https://aicontentdrop.com/llms.txt",
      "name": "llms-txt",
      "title": "llms.txt — site overview",
      "description": "Curated index of every public page, written for agents.",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://aicontentdrop.com/openapi.json",
      "name": "openapi",
      "title": "REST API specification",
      "description": "OpenAPI 3.1 document for the /v1 REST API.",
      "mimeType": "application/json"
    },
    {
      "uri": "https://aicontentdrop.com/pricing.md",
      "name": "pricing",
      "title": "Plans, credit costs, and limits",
      "description": "Every plan, its price, its credit allocation, and what a credit buys.",
      "mimeType": "text/markdown"
    }
  ],
  "prompts": [
    {
      "name": "pick_a_model",
      "title": "Pick a model for a brief",
      "description": "Choose the best AI video model for a brief and budget, with the credit cost stated up front.",
      "arguments": [
        {
          "name": "brief",
          "description": "What the video needs to show.",
          "required": true
        },
        {
          "name": "budget_credits",
          "description": "Credit ceiling per video.",
          "required": false
        }
      ]
    },
    {
      "name": "write_video_prompt",
      "title": "Write a generation prompt",
      "description": "Turn a rough idea into a detailed generation prompt, using our published guides as the reference.",
      "arguments": [
        {
          "name": "idea",
          "description": "The rough idea, one or two lines.",
          "required": true
        },
        {
          "name": "format",
          "description": "e.g. \"9:16 UGC ad\", \"16:9 cinematic\".",
          "required": false
        }
      ]
    },
    {
      "name": "estimate_a_campaign",
      "title": "Cost out a batch",
      "description": "Work out the credit and dollar cost of a batch of generations before committing.",
      "arguments": [
        {
          "name": "variants",
          "description": "How many videos are needed.",
          "required": true
        },
        {
          "name": "model_id",
          "description": "Model to price, if already chosen.",
          "required": false
        }
      ]
    }
  ],
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "resources": {
      "listChanged": false,
      "subscribe": false
    },
    "prompts": {
      "listChanged": false
    },
    "extensions": {
      "io.modelcontextprotocol/ui": {
        "mimeTypes": [
          "text/html;profile=mcp-app"
        ]
      }
    },
    "ui": [
      {
        "uri": "ui://aicontentdrop/model-picker.html",
        "title": "Model picker",
        "description": "Renders the output of list_models as a sortable credit-cost table so a person can pick a model instead of reading JSON."
      },
      {
        "uri": "ui://aicontentdrop/generation-card.html",
        "title": "Generation card",
        "description": "Renders one generation — status, model, credits, and the finished video or image inline."
      },
      {
        "uri": "ui://aicontentdrop/article-list.html",
        "title": "Article list",
        "description": "Renders search_articles results as a linked reading list."
      }
    ]
  },
  "extensions": [
    "io.modelcontextprotocol/ui"
  ],
  "authenticatedTools": [
    {
      "name": "generate_video",
      "description": "Start generating an AI video on the authenticated account. Returns a job id immediately — poll get_generation until status is 'completed'. Charges credits only on success. Call estimate_credit_cost first if the cost matters."
    },
    {
      "name": "get_generation",
      "description": "Check one generation by id: status ('generating', 'completed', 'failed'), the finished video URL, and credits charged."
    },
    {
      "name": "list_generations",
      "description": "List recent generations on the authenticated account, newest first."
    },
    {
      "name": "get_account",
      "description": "Credit balance and plan for the authenticated account. Check this before a batch of generations."
    }
  ],
  "documentation": "https://aicontentdrop.com/developers",
  "instructions": "https://aicontentdrop.com/auth.md"
}