Skip to main content

creativai-mcp

MCP (Model Context Protocol) server for the CreativAI Video Intelligence Platform.

Connect any MCP-compatible AI assistant (Claude, Cursor, VS Code Copilot, etc.) directly to your CreativAI video library — search, index, extract knowledge, manage collections, run live streams, import from YouTube, and more — all through natural language.

Installation

pip install creativai-mcp

Quick Start

export CREATIVAI_API_KEY=YOUR_API_KEY
creativai-mcp

Or put api_key=YOUR_API_KEY in ~/.creativai/config. Don't pass the key as --api-key: other users of the same machine can read command-line arguments from the process list, so that flag is deprecated.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "creativai": {
      "command": "creativai-mcp",
      "env": { "CREATIVAI_API_KEY": "YOUR_API_KEY" }
    }
  }
}

VS Code / GitHub Copilot

Add to your VS Code settings.json:

{
  "mcp": {
    "servers": {
      "creativai": {
        "type": "stdio",
        "command": "creativai-mcp",
        "env": { "CREATIVAI_API_KEY": "YOUR_API_KEY" }
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "creativai": {
      "command": "creativai-mcp",
      "env": { "CREATIVAI_API_KEY": "YOUR_API_KEY" }
    }
  }
}

Hosted by CreativAI (no install)

Web agents — claude.ai custom connectors, Replit Agent, the Claude API's MCP connector — and any client that speaks MCP over streamable HTTP can use the server CreativAI runs, at https://ws.creativai-apis.com/api/v2/mcp. Send your own API key on every request as X-API-Key: YOUR_API_KEY (or Authorization: Bearer YOUR_API_KEY). The hosted server follows the hosting rules below: no delete_* tools and no blocking helpers.

Available Tools

Collections

Tool Description
list_collections List all video collections in your account
create_collection Create a new video collection (video_only or multimodal)
get_collection Get full details for a single collection
update_collection Rename a collection
delete_collection ⚠️ Permanently delete a collection and all its data

Media

Tool Description
list_media List all media files in a collection with preprocessing status
get_upload_url Get a presigned S3 upload URL for a single file
get_upload_urls Get presigned S3 upload URLs for multiple files at once
upload_from_url Import a video from an external URL or S3 URI (async)
get_transfer_status Poll the status of a URL-to-collection transfer job
delete_media ⚠️ Permanently remove specific media files from a collection
Tool Description
search_collection Semantic search over an indexed collection — vision, audio, or hybrid

Indexing

Tool Description
start_indexing Start an async indexing job to make a collection searchable
get_indexing_status Poll the status of a running indexing job
estimate_indexing_cost Estimate credit cost before starting indexing
cancel_indexing Cancel a running indexing job
index_and_wait Start indexing and block until completion (convenience tool)

Agentic Chat

Tool Description
ask_collection Ask a natural-language question about a collection — one-shot
create_chat_session Create a multi-turn chat session for a collection
send_chat_message Send a follow-up message to an existing chat session
get_chat_history Get the full message history of a chat session
list_chat_sessions List chat sessions, optionally filtered by collection
delete_chat_session Delete a chat session

Data Plates

Tool Description
list_data_plates List all data plates in a collection
get_data_plate Get a data plate with its paginated segments
create_data_plate_from_collection Create a data plate from all indexed segments (async)
get_data_plate_job Poll the status of a data plate creation job
delete_data_plate ⚠️ Permanently delete a data plate and its extracted data

Knowledge Extraction

Tool Description
query_knowledge_plate Ask a natural-language question against a knowledge plate
add_extraction_columns Add AI extraction questions as columns to a knowledge plate
list_extraction_columns List all extracted columns in a knowledge plate
get_knowledge_extraction_job Poll the status of a knowledge extraction job
get_plate_charts Get auto-generated charts and visualizations for a plate

Live Stream

Tool Description
create_live_stream_session Create a live stream session for real-time video analysis
list_live_stream_sessions List live stream sessions, optionally filtered by collection
get_live_stream_session Get full details for a live stream session
stop_live_stream_session Stop an active live stream session
add_live_stream_questions Add real-time analysis questions to a running session
get_live_stream_status Check if a live stream session is ready (workers + MediaMTX)

Online Search (Web Video Import)

Tool Description
start_online_search Start a web search job to find publicly available videos
get_online_search_status Poll the status of an online search job
list_online_search_candidates List candidate videos found by an online search
confirm_online_search Confirm all candidates and start importing + indexing
search_and_import Blocking convenience tool: search web and return candidates

YouTube

Tool Description
start_youtube_search Start a YouTube search — refines query into optimized search terms
get_youtube_search_status Poll the status of a YouTube search job
list_youtube_candidates List candidate YouTube videos found for a search job
confirm_youtube_search Confirm all YouTube candidates and trigger import + indexing
confirm_selected_youtube_videos Confirm only specific YouTube videos for import
index_youtube_links Index YouTube links you already have — no search, no review step

Organizations & Projects

Tool Description
list_organizations List all organizations you are a member of
get_organization Get details for a specific organization
list_projects List all projects in an organization
get_project Get a project and its collections

Tasks

Tool Description
list_tasks List annotation/review tasks in a collection
get_task Get detailed information about a specific task
my_tasks List all tasks assigned to you across all collections
update_task_status Update the status of a task
add_task_comment Add a comment to a task

Account & Users

Tool Description
get_account_info Get your account info (credits, plan, uploaded hours)
get_credits Get your current credit balance and usage stats
get_current_user Get the current authenticated user's ID and email

Transports

stdio (default — for desktop AI clients). The server uses one key, from CREATIVAI_API_KEY or ~/.creativai/config (or the deprecated --api-key):

CREATIVAI_API_KEY=YOUR_API_KEY creativai-mcp --transport stdio

Streamable HTTP (for hosting — claude.ai custom connectors, Replit Agent, the Claude API MCP connector, other web agents):

creativai-mcp --transport streamable-http --host 0.0.0.0 --port 8090

The MCP endpoint is http://<host>:8090/mcp. SSE (--transport sse, endpoint /sse) is also available for older clients and follows the same rules.

Hosting rules

  • Every request brings its caller's own key, as X-API-Key: <key> or Authorization: Bearer <key>, and runs against that caller's account. Requests without a key get 401. The server never uses a key of its own: --api-key and CREATIVAI_API_KEY are ignored on the HTTP transports.
  • Not available when hosted: delete_collection, delete_media, delete_data_plate, delete_chat_session (irreversible — delete from the website) and the blocking helpers index_and_wait and search_and_import (they can hold a request for minutes). Agents poll start_indexing → get_indexing_status and start_online_search → get_online_search_status → list_online_search_candidates instead.
  • Stateless: run as many replicas as you like behind a load balancer; no sticky sessions needed.
  • Bind to 0.0.0.0 (or the pod IP). On 127.0.0.1 the server accepts only Host: localhost requests (DNS-rebinding protection), which breaks behind a reverse proxy.
  • Serve it over HTTPS at a public URL, terminating TLS at the load balancer. Web agents connect from their own cloud, not from the user's machine.
  • GET /healthz returns 200 ok without a key, for load-balancer health checks.
  • Point it at a non-production API with --base-url or CREATIVAI_BASE_URL.

Requirements

License

Proprietary — © CreativAI

Metadata

Release files for creativai-mcp 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for creativai-mcp 0.2.4
File Size Uploaded Provenance Actions
creativai_mcp-0.2.4.tar.gz 31.4 kB Without provenance Details for creativai_mcp-0.2.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for creativai-mcp 0.2.4
File Interpreter ABI Platform Actions
creativai_mcp-0.2.4-py3-none-any.whl Python 3 none any Details for creativai_mcp-0.2.4-py3-none-any.whl

Total release size: 62.6 kB

Release files / creativai_mcp-0.2.4.tar.gz

Download URL creativai_mcp-0.2.4.tar.gz
Size 31.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f6dfa4d3bae96b7873a58c3c80c71823372d1fd4590fae6f8c883a09db172cd1
BLAKE2b-256 checksum
How to use checksums
4c586c6c24521539f8b2b7f1c82b4b17f54273642c230e9bf793b829988db39c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / creativai_mcp-0.2.4-py3-none-any.whl

Download URL creativai_mcp-0.2.4-py3-none-any.whl
Size 31.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98992c516d075f52849d856881e14299e642a3cb4f923471c561d2ab34efc11d
BLAKE2b-256 checksum
How to use checksums
65c9f94fec44b4b6321d974d1a39c79a59b6abf600396fe6eb1708d1a148b2f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for creativai-mcp 0.2.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page