io.github.n0Sp00n/clipmaster-mcp
AI video clipping with ClipMaster (clipmaster.app): clips, exports, scheduling.
Open source Open in the app JSON README (API)
About
AI video clipping with ClipMaster (clipmaster.app): clips, exports, scheduling.
Details
- Kind
- MCP servers
- Topic
- Productivity
- Publisher
- n0sp00n
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.1
- Last push
- 2026-08-14T20:07:50Z
- Repository state
- ativo
- Language
- Python
- Added
- 2026-08-29 04:00:52
- Updated
- 2026-08-29 04:00:52
- Origin id
io.github.n0Sp00n/clipmaster-mcp
README
# clipmaster-mcp
mcp-name: io.github.n0Sp00n/clipmaster-mcp
MCP (Model Context Protocol) server for [ClipMaster](https://clipmaster.app) —
AI video clipping at [clipmaster.app](https://clipmaster.app). It exposes the
ClipMaster public API as tools, so Claude Desktop, Claude Code, and any MCP client can ingest videos,
monitor processing, browse clips, trigger exports, and schedule posts.
- Talks ONLY to the public REST API (`https://api.clipmaster.app/api/v1`) with
the user's API key — no database access, no internal services.
- Ingestion is URL-only by design (streaming a local file through an LLM tool
call is impractical). Account management (keys, billing, OAuth connects) is
excluded; the API rejects those routes for key auth anyway.
## Requirements
- Python 3.10+
- A ClipMaster API key (paid plans): web app → Settings → API access
## Install
From this repo checkout:
```bash
pipx install ./clipmaster-mcp
# or, without installing:
uvx --from ./clipmaster-mcp clipmaster-mcp
```
## Configure
| Env var | Required | Meaning |
|---|---|---|
| `CLIPMASTER_API_KEY` | yes* | Your `cm_live_…` API key |
| `CLIPMASTER_API_BASE` | no | Override the API base URL (default `https://api.clipmaster.app/api/v1`) |
*Instead of the env var you can put the key in `~/.config/clipmaster/key` —
this keeps it out of client config files and shell history:
```bash
mkdir -p ~/.config/clipmaster && printf '%s' 'cm_live_...' > ~/.config/clipmaster/key && chmod 600 ~/.config/clipmaster/key
```
The env var wins when both are set.
### Claude Code
```bash
claude mcp add clipmaster -e CLIPMASTER_API_KEY=cm_live_... -- clipmaster-mcp
```
### Claude Desktop
`claude_desktop_config.json`:
```json
{
"mcpServers": {
"clipmaster": {
"command": "clipmaster-mcp",
"env": { "CLIPMASTER_API_KEY": "cm_live_..." }
}
}
}
```
## Tools
| Tool | What it does |
|---|---|
| `ingest_youtube(url, orientation?, user_query?, compilation_format?)` | Import a YouTube video, start clip generation |
| `get_status(project_id)` | Processing progress / state |
| `list_projects()` | The user's projects |
| `list_clips(project_id)` | Generated clips with AI metadata |
| `get_clip(project_id, clip_id)` | Full detail for one clip |
| `trigger_export(project_id, clip_id)` | Render a clip with its saved settings (charges tokens) |
| `get_export_status(export_id)` | Poll an export; completed → temporary `download_url` |
| `list_compilations(source_project_id?)` / `get_compilation(id)` | Cross-project clip collections |
| `list_social_accounts()` | Connected channels for scheduling |
| `schedule_post(...)` | Schedule an export to publish (idempotent on retry) |
| `list_scheduled_posts(from_date, to_date)` | Posting calendar range |
## Development
```bash
python3 -m venv .venv && .venv/bin/pip install -e ./clipmaster-mcp pytest
.venv/bin/pytest clipmaster-mcp/tests -q
```