# MCP tools & resources | AudioDN Docs

> Knowledge tools, live API tools (output presets and legacy aliases), MCP resources, and a short agent workflow.

Source: https://audiodeliverynetwork.com/docs/mcp/tools/

---

# MCP tools & resources

The server exposes read-only knowledge tools grounded in bundled OpenAPI and docs, plus live REST tools when authenticated. Canonical docs are also available as MCP resources.

#### Auth differs by mode

On the **hosted** endpoint, knowledge and live tools require OAuth or a legacy API key. On **stdio**, knowledge tools work without a key; live tools need `ADN_API_KEY`. See [Connect](/docs/mcp/connect).

## Knowledge tools (read-only)

adn\_about

Server version, bundled OpenAPI version, docs source, API base

adn\_search\_docs

Keyword search over bundled docs and OpenAPI summaries

adn\_list\_operations

List all REST operations (operationId, method, path)

adn\_get\_operation

Full OpenAPI definition for one operationId

adn\_get\_guide

Canonical guide by topic: authentication, upload, processing, playback, webhooks, output-types (alias variant-types), security, compatibility, workflows

adn\_list\_output\_types

The seven output types and which are API-creatable (legacy alias: adn\_list\_variant\_types)

## Live API tools

Available when the session is authenticated (hosted OAuth/legacy key, or stdio with ADN\_API\_KEY).

### Organization & keys

adn\_get\_organization  
adn\_update\_organization

Read/update org (id derived from API key when omitted)

read / write

adn\_create\_client\_key

Mint player / uploader / share key (returned once)

write

### Creators

adn\_list\_creators  
adn\_get\_creator

Read creators

read

adn\_create\_creator  
adn\_update\_creator

Create/update creator

write

adn\_delete\_creator

Delete creator

destructive

### Collections

adn\_list\_collections  
adn\_get\_collection

Read collections

read

adn\_create\_collection  
adn\_update\_collection

Create/update collection

write

adn\_delete\_collection

Delete collection and its tracks

destructive

adn\_create\_collection\_cover

Mint a fresh collection cover upload URL

write

adn\_find\_resource

Resolve collection/creator/track by name (exact, ambiguous, or missing)

read

### Tracks & processing

adn\_list\_tracks  
adn\_get\_track

Read tracks; prefer adn\_get\_processing for readiness

read

adn\_get\_processing  
adn\_wait\_for\_processing

Uncached snapshot and bounded wait (playback, output, settled, cover)

read

adn\_create\_track

Create track + upload URL; client PUTs bytes

write

adn\_update\_track

Update track metadata / player fields

write

adn\_delete\_track

Soft-delete one track

destructive

adn\_create\_track\_cover

Mint a fresh track cover upload URL

write

### Upload sessions

adn\_create\_upload\_session  
adn\_get\_upload\_session

Manage upload sessions (optional nested track)

write / read

adn\_create\_track\_in\_upload\_session

Register a track and get track\_upload.upload\_url

write

### Play sessions

adn\_create\_play\_session  
adn\_get\_play\_session

Mint/read play sessions (output indexes via the variants wire field)

write / read

adn\_get\_play\_track

Signed URLs for a track inside a play session

read

adn\_get\_play\_download

Signed download URL for one output index (downloadable sessions)

read

### Output presets

adn\_list\_output\_presets  
adn\_get\_output\_preset

List/get org output presets (legacy: adn\_list\_variants / adn\_get\_variant)

read

adn\_create\_track\_output

Add a track-specific transcode/preview output (legacy: adn\_create\_track\_variant)

write

## MCP resources

Clients that attach context directly can use:

-   `audiodn://openapi.json`
-   `audiodn://llms-full.txt`
-   `audiodn://guide/{topic}` for each guide topic

## Example agent flow

An agent helping a user host a podcast might:

1.  Call `adn_get_guide` with topic `upload` to learn the canonical multi-step flow.
2.  Create a collection with `adn_create_collection`.
3.  Create an upload session with `adn_create_upload_session` — optionally pass a nested track to create the first track in the same call.
    
4.  Otherwise register the file with `adn_create_track_in_upload_session`, then `PUT` bytes to `track_upload.upload_url`.
    
5.  Wait with `adn_wait_for_processing` (target `track_playback`) — call again if the result is pending.
    
6.  List presets with `adn_list_output_presets` and pick real output indexes (for example hq, lq).
7.  Mint a play session with `adn_create_play_session` — returns a play session id for the ADN Player plus signed file URLs on `first_track` for a custom player.
    

See also [Uploading tracks](/docs/integration/uploading) and [Playing and accessing tracks](/docs/integration/playback).
