---
title: "Install AI Content Drop in Codex | AI Content Drop"
description: "Connect Codex to the AI Content Drop MCP server, or drive the same API from the terminal with the acd CLI, to generate video and images across {{VIDEO_MODEL_COUNT}} models."
canonical: "https://aicontentdrop.com/docs/install/codex"
source: "https://aicontentdrop.com/docs/install/codex"
---

# AI Content Drop in Codex

Two routes. The MCP connection gives Codex the tools directly; the CLI gives it
a command it can run in a shell. Either works, and they hit the same API.

## Route 1 — MCP

Codex reads MCP servers from its configuration file, in TOML:

```toml
[mcp_servers.aicontentdrop]
url = "https://aicontentdrop.com/mcp"
```

Some Codex builds want the transport named explicitly:

```toml
[mcp_servers.aicontentdrop]
type = "streamable-http"
url = "https://aicontentdrop.com/mcp"
```

If your build reads MCP servers from JSON instead, the equivalent is the
standard block every client accepts:

```json
{
  "mcpServers": {
    "aicontentdrop": {
      "type": "streamable-http",
      "url": "https://aicontentdrop.com/mcp"
    }
  }
}
```

Restart Codex and ask it to list its tools. Eight should appear.

## Route 2 — the CLI

No MCP configuration at all. Codex is good at running commands, and the CLI is
published:

```bash
npm install -g aicontentdrop

acd models --type video          # no credential needed
acd cost kling_3_0               # no credential needed
acd generate "a matcha tin on linen, soft window light" --model kling_3_0
acd status <id>
acd list --limit 20
```

`acd models` and `acd cost` answer with no key, so Codex can research and price
a job before anyone authorizes anything.

## Authorize

Create a key at [https://aicontentdrop.com/settings/integrations](https://aicontentdrop.com/settings/integrations).

For the CLI, put it in the environment rather than in a command line, so it does
not land in shell history:

```bash
export ACD_API_KEY=acd_live_YOUR_KEY
```

For MCP, add it as a header on the server entry:

```toml
[mcp_servers.aicontentdrop]
url = "https://aicontentdrop.com/mcp"
headers = { Authorization = "Bearer acd_live_YOUR_KEY" }
```

## A worked task

> Read the README in this repo, write a 20-second product ad script from it,
> pick the cheapest model that does image-to-video with audio, quote the cost,
> and stop before generating.

The agent should reach `list_models` and `estimate_credit_cost` and come back
with a number. Only then hand it the key.

## Troubleshooting

**Codex does not see the server.** Confirm which configuration file your build
reads and that the table name is `mcp_servers` — that spelling, with the
underscore. If in doubt, use Route 2: the CLI needs no configuration.

**`acd: command not found` after installing.** The global npm bin directory is
not on `PATH`. `npm bin -g` prints it.

**Everything returns "requires authorization".** Only four of the eight tools
need a key. If the public four fail too, the header or environment variable is
malformed rather than the key being wrong.

See also: [the plugin overview](https://aicontentdrop.com/plugin) ·
[the MCP reference](https://aicontentdrop.com/docs/mcp) ·
[the REST API](https://aicontentdrop.com/docs/api)
