Skip to main content
Glama
danyial
by danyial
README.md
# reelfaceless-mcp

MCP server (stdio) for the [ReelFaceless](https://reelfaceless.com) public API.
Schedule short-form video posts to YouTube and TikTok from Claude Desktop,
Claude Code or any other MCP client.

## Setup

You need an API key: ReelFaceless → workspace → **Settings → API** (Creator
plan and up). Plan quotas and rate limits apply automatically.

**Claude Code**

```bash
claude mcp add reelfaceless \
  --env REELFACELESS_API_KEY=rf_your_key \
  -- npx -y reelfaceless-mcp@latest
```

**Claude Desktop** (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "reelfaceless": {
      "command": "npx",
      "args": ["-y", "reelfaceless-mcp@latest"],
      "env": { "REELFACELESS_API_KEY": "rf_your_key" }
    }
  }
}
```

Optional: `REELFACELESS_BASE_URL` to point at a different instance.

## Tools

| Tool | Purpose |
|---|---|
| `list_channels` | Connected channels incl. posting schedule (needed for channel IDs) |
| `get_channel_info` | TikTok posting constraints: allowed privacy levels, disabled interactions, max duration |
| `upload_video` | Upload a local MP4/MOV/WebM (max 500 MB), returns `media_id` |
| `create_post` | Schedule a post across channels — queue slots or a fixed time |
| `list_posts` | List posts, newest first, optional status filter |
| `get_post_status` | Per-channel status, remote URLs, error details |
| `update_post` | Edit a scheduled post: content, per-channel settings, timing, channels |
| `publish_post_now` | Publish a scheduled post immediately instead of waiting for its slot |
| `get_post_metrics` | Latest views/likes/comments per channel for a published post |

Example prompt: *"Upload ~/exports/recap.mp4 and add it to the queue for all
my channels with the caption 'Weekly recap'."*

## Development

```bash
npm install
npm run build        # bundles to dist/index.js
npx tsx test/e2e.ts  # BASE=… RF_KEY=… VIDEO=… — full round-trip test
```

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct operation: creating posts, retrieving metrics, fetching status, listing channels, listing posts, and uploading videos. No two tools overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_post, list_channels, upload_video). No mixing of conventions.

Tool Count5/5

With 6 tools, the set is well-scoped for managing video posts across channels. Each tool serves a clear role without unnecessary bloat or deficiency.

Completeness3/5

The tool set covers creation, status, metrics, and listing, but lacks update or delete operations for posts. Users cannot modify or remove existing posts, which is a notable gap for full lifecycle management.

Maintenance

ActivitySlowing
ResponsivenessNo issues