Your videos, carried to every platform. On time.
A self-hosted scheduler for YouTube Shorts, Instagram Reels and TikTok. Multi-brand, secure by default, free to run on Cloudflare Workers — and your AI agent drives it over MCP.
Kervan is Turkish for caravan.
Kervly carries your videos across every platform, on schedule. Paid schedulers cap your posts per month. Kervly is a small app you own: it talks to the official APIs directly, and you set the limits.
From prompt to published,
without a browser tab.
Tell your agent
Claude calls schedule_post over MCP. Or schedule from the dashboard yourself.
Lands in D1
One post per platform. Allowlist, daily limit and duplicate checks run before anything is queued.
Every five minutes
A cron picks up due posts and claims each one with a conditional update, so nothing posts twice.
Straight to the APIs
The .mp4 is streamed from your allowlisted URL — never buffered — to YouTube, Instagram and TikTok.
Your agent runs
the content calendar.
Kervly exposes a Streamable HTTP MCP endpoint with OAuth 2.1 and PKCE. Tokens are issued only after you sign in and approve the client — and no tool can change your video allowlist.
Small app.
Serious machinery.
Everything a multi-brand video team needs, running on Cloudflare's free tier.
Brands
Each brand has its own YouTube, Instagram and TikTok accounts, video allowlist, daily limit and time zone.
Publisher
YouTube resumable uploads, Instagram Reels containers, TikTok Direct Post. Videos are streamed, never buffered.
Dashboard
Brands, account connections, scheduling, a post list with cancel and retry, and an audit log. In English and Turkish.
Tracked to the end
Instagram and TikTok processing is followed until it finishes, and platform tokens refresh before they expire.
Allowlisted media
A brand can only publish .mp4 files under its own allowed prefixes. A compromised client still can't post arbitrary content.
Free on Cloudflare
Workers, D1 and KV on the free tier. Push to main and GitHub Actions redeploys and applies migrations.
Watch the caravan move.
A time-lapse demo of the post list: scheduled, publishing, processing, published.
Locked down
at every layer.
Single admin, mandatory 2FA, encrypted tokens and least-privilege scopes. No secrets in the repository — CI scans the history with gitleaks.
How Kervly is secured →Password + mandatory 2FA
PBKDF2-SHA256 and TOTP, per-IP rate limit, codes cannot be reused.
Hardened sessions
__Host- cookie, HttpOnly, Secure, SameSite=Lax, 8 h. Only a hash is stored.
CSRF on every write
X-CSRF-Token header plus an Origin check.
OAuth 2.1 for MCP
PKCE and dynamic client registration. One-hour access tokens.
Encrypted platform tokens
AES-256-GCM in D1, bound to brand and platform. Never returned anywhere.
Least privilege
Upload and publish scopes only — nothing more from any platform.
No double posting
Each post is claimed before processing; finished uploads are never retried.
Strict browser policy
Nonce-based CSP, frame-ancestors none, HSTS, nosniff, no-store.
Your schedule. Your limits.
- ✕Monthly caps on how many posts you can send
- ✕Your platform tokens live on someone else's servers
- ✕Closed source — you trust what you can't read
- ✕Built for clicking, not for agents
- ✓You set the daily limit per brand and platform
- ✓Tokens AES-256-GCM encrypted in your own D1
- ✓AGPL-3.0 — read it, fork it, self-host it
- ✓An MCP server is part of the product
Run it yourself,
or let us run it.
Self-host
Free · AGPL-3.0Everything runs on Cloudflare's free tier. Fork the repo, set a few variables, run the Deploy workflow.
# create the resources npx wrangler d1 create kervly-db npx wrangler kv namespace create kervly-oauth npx wrangler kv namespace create kervly-sessions # then: Actions → Deploy → open /setupRead the self-hosting guide →
Kervly Cloud
Paid · hostedThe same open-source Kervly, hosted and maintained for you. Connect your accounts and start scheduling in minutes.
- ✦No Cloudflare or GitHub setup
- ✦MCP endpoint ready for Claude
- ✦No Google, Meta or TikTok developer apps to create
- ✦Updates applied for you
Load the caravan.
Schedule once. Kervly carries it to Shorts, Reels and TikTok — on time, every time.