# MCP Server

Coverr provides a Model Context Protocol (MCP) (opens new window) server that enables AI assistants and agents to interact with the Coverr API using structured tools.

# Endpoint

POST https://mcp.coverr.co/mcp

The MCP server is available at the https://mcp.coverr.co/mcp URL and follows the Streamable HTTP transport (opens new window) specification.

# Authentication

The MCP server supports two authentication methods:

# Method 1: Custom header

Pass your API key via the x-coverr-api-key header:

x-coverr-api-key: {api_key}

# Method 2: OAuth 2.0 (Bearer token)

The server implements an OAuth 2.0 flow for MCP clients. When configuring your client:

  • Client ID: Any value (can be "coverr-client")
  • Client Secret: Use your Coverr API Key as the secret.

The OAuth metadata is available at:

GET /.well-known/oauth-authorization-server

# Available Tools

The following tools are available for interacting with the Coverr library:

# Videos

# get_videos

Fetch a list of videos from the Coverr API. Supports search, filtering, and pagination.

Parameter Type Description
query string Free-text search query for videos. Optional.
page number Page number (0-based). Default: 0.
page_size number Number of results per page. Max: 100.
category string Category slug to filter by (e.g., "nature"). Optional.
sort_by enum Sort order: date, popular, trending. Optional.
filter string Filter string, e.g. is_vertical:true or tags:"nature". Optional.

# get_video

Fetch a single video by ID. Returns video details including URLs.

Parameter Type Description
id string Video ID. Required.

# Collections

# get_collections

Fetch a paginated list of curated video collections.

Parameter Type Description
page number Page number (0-based). Default: 0. Optional.
page_size number Number of results per page. Max: 100. Optional.

# get_collection

Fetch a single collection by ID.

Parameter Type Description
id string Collection ID. Required.

# get_collection_videos

Fetch videos from a specific collection. Supports search and pagination.

Parameter Type Description
id string Collection ID. Required.
page number Page number (0-based). Default: 0. Optional.
page_size number Number of results per page. Max: 100. Optional.
query string Search videos within the collection. Optional.
urls boolean Include video URLs in the response. Optional.

# Categories

# get_categories

Fetch a paginated list of video categories.

Parameter Type Description
page number Page number (0-based). Default: 0. Optional.
page_size number Number of results per page. Max: 100. Optional.

# get_category

Fetch a single category by ID or slug.

Parameter Type Description
id string Category ID or slug. Required.

# get_category_videos

Fetch videos from a specific category. Supports search and pagination.

Parameter Type Description
id string Category ID or slug. Required.
page number Page number (0-based). Default: 0. Optional.
page_size number Number of results per page. Max: 100. Optional.
query string Search videos within the category. Optional.
urls boolean Include video URLs in the response. Optional.

# Audios

# get_audios

Fetch a list of audio tracks. Supports search, filtering, and pagination.

Parameter Type Description
query string Free-text search query for audio tracks. Optional.
page number Page number (0-based). Default: 0. Optional.
page_size number Number of results per page. Max: 100. Optional.
sort_by enum Sort order: date, popular. Optional.

# get_audio

Fetch a single audio track by ID.

Parameter Type Description
id string Audio ID. Required.

# Video Scenes

# get_video_scenes

Fetch a paginated list of video scenes. Each scene includes up to 4 preview videos.

Parameter Type Description
page number Page number (0-based). Default: 0. Optional.
page_size number Number of results per page. Max: 100. Optional.

# get_video_scene

Fetch a single video scene by slug or ID. Returns up to 8 preview videos sorted by popularity.

Parameter Type Description
slug_or_id string Video scene slug or ID. Required.
filter string Exclude a specific video ID from preview videos. Optional.

# get_video_scene_videos

Fetch videos from a specific video scene.

Parameter Type Description
slug_or_id string Video scene slug or ID. Required.
page number Page number (0-based). Default: 0. Optional.
page_size number Number of results per page. Max: 100. Optional.

Already have an API key? Configure your MCP client and start fetching videos!