---
title: "AI Content Drop MCP Server | AI Content Drop"
description: "Connect Claude, ChatGPT, or any MCP client to AI Content Drop: streamable HTTP endpoint, eight tools, inline UI widgets, and a documentation-only variant."
canonical: "https://aicontentdrop.com/docs/mcp"
source: "https://aicontentdrop.com/docs/mcp"
---

# AI Content Drop MCP Server

Two servers, one protocol. Both speak Streamable HTTP and need no SDK.

| Endpoint | Tools | Credential | For |
| --- | --- | --- | --- |
| `POST https://aicontentdrop.com/mcp` | 8 | optional | Doing things: catalogue, guides, and generation |
| `POST https://aicontentdrop.com/mcp/docs` | 2 | none | Learning things: documentation retrieval only |

Compatibility discovery manifest: [`/.well-known/mcp.json`](https://aicontentdrop.com/.well-known/mcp.json). The JSON claims no experimental server-card schema. Setup walkthrough for Claude Code: [`/mcp/claude-code`](https://aicontentdrop.com/mcp/claude-code).

## Connecting

```json
{
  "mcpServers": {
    "aicontentdrop": {
      "type": "http",
      "url": "https://aicontentdrop.com/mcp",
      "headers": { "Authorization": "Bearer acd_live_…" }
    }
  }
}
```

Drop the `headers` block and the four read tools still work; the generation tools stay listed but answer with instructions for getting a key instead of running.

## Tools

| Tool | Key | What it does |
| --- | --- | --- |
| `list_models` | no | Catalogue with flat credit costs |
| `estimate_credit_cost` | no | Quote a model, optionally times a quantity |
| `search_articles` | no | Keyword search over published guides |
| `get_article` | no | Full article text as markdown |
| `generate_video` | yes | Start a generation; returns a job id |
| `get_generation` | yes | Poll one job |
| `list_generations` | yes | Recent jobs, newest first |
| `get_account` | yes | Plan and credit balance |

Every tool carries MCP `annotations` — `readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint` — so a client knows which ones need confirmation before it calls them. `generate_video` is the only one that spends money, and it is the only one marked non-read-only.

## Inline UI (MCP Apps)

Tools that return a list or a job also return `_meta.ui.resourceUri` naming a `ui://` resource the host can render inline:

| Resource | Rendered by |
| --- | --- |
| `ui://aicontentdrop/model-picker.html` | `list_models` |
| `ui://aicontentdrop/article-list.html` | `search_articles` |
| `ui://aicontentdrop/generation-card.html` | `generate_video`, `get_generation`, `list_generations` |

Fetch them with `resources/read`. They are self-contained HTML with no network calls, so they render inside a sandboxed iframe with a strict CSP. Hosts that read `_meta["openai/outputTemplate"]` instead get the same URI under that name.

## Resources and prompts

`resources/list` also serves `llms.txt`, the OpenAPI document, and the pricing document, so a client can pull our reference material over the same connection it acts on. `prompts/list` offers three: `pick_a_model`, `write_video_prompt`, and `estimate_a_campaign`.

## Protocol notes

- Streamable HTTP at `/mcp`: `POST` for JSON-RPC and a short-lived `GET` event stream. It is stateless, issues no session id, and answers `DELETE` with 405.
- Deprecated 2024-11-05 HTTP+SSE at `/mcp/sse` (or `/mcp/docs/sse` for the docs server): `GET` opens the held stream and supplies the same-path POST endpoint in its first event. Only this legacy socket-bound transport uses a session id.
- Single messages follow negotiated MCP 2025-06-18. JSON-RPC batch arrays are
  also tolerated as a non-standard compatibility extension; accepting them does
  not negotiate an older MCP protocol revision.
- Generation never blocks inside a `tools/call`. It returns a job id and you poll — a render outlives any request timeout.
