Yesterday Lumiqa exposed 8 MCP tools. Today it exposes 17. The same hosted MCP server at https://lumiqa.io/mcp/<your-slug> now covers every step an AI agent has to take to ship a video — from a raw render landing in your workspace to a scheduled post on Meta and TikTok with on-brand captions, compliant copy, Whisper-generated subtitles, and a DALL-E 3 thumbnail. One claude mcp add, the whole pipeline.
This is the post about why the surface tripled in 24 hours, what each new tool actually does, and three real pipelines that compose them. If you want to skip the reasoning and just install, the connect command is the same as before:
$ claude mcp add lumiqa https://lumiqa.io/mcp/<your-slug>
✓ Connected. 17 tools discovered.
From 8 to 17 in a day — the pivot story
The previous post on this blog (Why MCP Matters) argued that the new craft of building SaaS is tool composability: how few tools you can expose to cover your surface, and how cleanly they compose with other servers. When we shipped the MCP-native pivot yesterday morning, Lumiqa had 5 review tools plus 3 utility ones. Enough to drive a review loop, not enough to drive a full ad pipeline.
The gap showed up the first time I tried to use my own product end-to-end. A Veo render landed in the workspace, I wanted Claude to ship it to TikTok by Friday morning, and the conversation went like this:
Me: "Audit this for TikTok compliance, generate subtitles, make 4 caption variants, request review from the team, and schedule for 9 AM Friday."
Claude: "Lumiqa can upload and request review. The other steps would need separate tools — Anthropic for vision, OpenAI for Whisper and DALL-E, the TikTok API for scheduling. Want me to write the glue?"
That answer was the entire problem. Every additional step lived in a different tool, a different API key, a different rate limit. Composing them was exactly the kind of plumbing MCP was supposed to kill. So I spent the rest of the day building the missing 9 tools into Lumiqa, with one constraint: the platform never marks up the provider price. You bring your own Anthropic key, OpenAI key, Meta/TikTok access tokens; Lumiqa just calls them on the workspace's behalf and ferries the artifacts back.
By dinner the tool count was 17. By tonight the SDK examples and this post are out. Here is what shipped.
The full catalog, grouped by category
Editorial — the original review loop (5 tools)
The core of the platform. Unchanged from yesterday.
lumiqa_uploadRegister an upload, stream the bytes, return an upload id and a preview URL.lumiqa_request_reviewSpawn a review on an upload. Reviewer email and due date optional.lumiqa_list_reviewsList active reviews. Filter by status, reviewer, date range.lumiqa_approveApprove a pending review (requires explicit per-review authorization).lumiqa_deliverPush an approved review to its destination (S3, Drive, webhook).Vision AI — Claude as a creative reviewer (2 tools)
These are the most useful additions for performance marketers. Both call Anthropic vision under the hood with the workspace's own ANTHROPIC_API_KEY.
lumiqa_analyze_videoHook score, retention prediction, brands visible, pacing, scene breakdown, recommendations. focus param swaps the rubric between general, ads, retention, brand, compliance.lumiqa_compliance_scanPer-platform ad policy verdict (pass / warn / fail) for Meta, TikTok, YouTube and LinkedIn, with timecoded evidence so you can fix the cut.Generation — Whisper + DALL-E 3 + Claude text (3 tools)
Needs OPENAI_API_KEY in Workspace Settings for the first two. Variants is text-only and uses the same Anthropic key.
lumiqa_auto_subtitleWhisper-powered SRT and VTT generation, optional translation to N languages. Returns the file URL and the inline transcript.lumiqa_generate_thumbnailDALL-E 3 thumbnails in 3 aspect ratios out of the box — 16:9 YouTube, 9:16 TikTok, 1:1 Instagram. Pass a brand prompt or let the agent infer one from the video analysis.lumiqa_generate_variantsA/B variants of caption, hashtag set, hook line, or CTA. Specify count and style. Pulls brand voice from workspace memory if present.Distribution — out of the workspace (2 tools)
These touch outside-world APIs and need their respective access tokens in Workspace Settings.
lumiqa_schedule_postPublish to Meta, TikTok, YouTube, or LinkedIn. Either immediate or scheduled with an ISO 8601 publish_at in UTC. Returns the platform-side post id when live.lumiqa_fetch_from_drivePull a video directly from a Google Drive file id into the workspace. Skips the local download dance entirely.Memory — persistent workspace knowledge (3 tools)
Workspace-scoped, shared across every agent that connects. The thing that finally stops you re-explaining the brand voice every fresh Claude session.
lumiqa_save_memoryWrite a key with optional tags and a TTL. 8 KB per value, 5,000 keys on Free, 100,000 on Pro.lumiqa_recall_memoryRead by exact key, by tag, or by semantic query (vector search over the workspace).lumiqa_forget_memoryDelete a key. Hard delete, no soft-delete dance.Orchestration — named workflows that compose tools server-side (2 tools)
The closest thing to a "macro" in the MCP world. The server runs the steps in order, streams progress, and returns an artifact manifest.
lumiqa_list_workflow_templatesList the named templates the workspace exposes. Default seed: ads_pipeline, ugc_audit, repurpose_to_shorts.lumiqa_run_workflowExecute a template with inputs. Optionally continue_on_error. Returns the manifest you can drop into the user's terminal.That is 5 + 2 + 3 + 2 + 3 + 2 = 17, which is more tools than I am usually comfortable with per server. The discipline is that an agent rarely needs all of them at once — the categories are scoped enough that the model picks the right cluster for the task.
Use case 1 — the full ads pipeline in one call
This is the use case that pushed me to ship the 9 new tools. A Veo render lands in the workspace, the human says "ship it", and Lumiqa runs the whole pipeline. Without the workflow template, the agent would have to chain 7 tools by hand. With it:
User: ship the new Pulse Edit promo to Meta and TikTok for Friday 9 AM,
request review from sara@ first
Claude: [calls lumiqa_run_workflow]
template: ads_pipeline
inputs:
upload_id: up_8f3a2c
platforms: [meta, tiktok]
reviewer_email: [email protected]
publish_at: 2026-05-23T09:00:00Z
variants_count: 4
[streams progress for 90 seconds]
-> analyze_video hook 8.4/10, retention 67%
-> compliance_scan meta PASS, tiktok WARN (one music claim)
-> auto_subtitle EN + IT generated
-> generate_thumbnail 3 aspect ratios rendered
-> generate_variants 4 captions, 4 hooks, 12 hashtags
-> request_review review_id=rev_7c2f1a, share URL sent to Sara
-> schedule_post meta + tiktok queued for 2026-05-23 09:00 UTC
Claude: Pipeline done. The TikTok scan flagged one music claim at 0:18
("the only beat detector that ships"). Want me to swap it for the
safer line we have in memory ("the beat detector built for editors"),
regenerate variants, and re-queue? Or ship as is?
Notice the question at the end. Claude pulled the safer line from recall_memory(tag="ad-copy") without being told to. The brand-rule memory was set last week, and every workflow run since has had access to it. This is the compounding return on the memory tool — it does nothing on day one and saves hours by week three.
Use case 2 — pre-flight content audit
Different shape. The user is not ready to ship — they want to know if the cut is good before spending budget. No publishing, no review request, just analysis and compliance:
User: before I run paid behind this, audit the cut. I care about hook strength
and whether anything will get rejected on Meta or TikTok.
Claude: [calls lumiqa_analyze_video focus=ads]
hook_score: 6.2/10
retention_prediction: 41% complete-views (below benchmark 55%)
primary_cta: "Try Pulse Edit free" (clear, present at 0:24)
pacing: front-loaded, drops at 0:35-0:50
recommendations:
- Cut 8-12 seconds from 0:35 onward to maintain pace
- Hook is verbal-only; add a visual demo in first 2 seconds
- CTA appears 24s in — try inserting it at 0:08 as overlay
[calls lumiqa_compliance_scan platforms=[meta,tiktok]]
META: PASS
TIKTOK: FAIL
X [0:18] music_rights: source unverified; TikTok rejects unlicensed
background music in commercial posts
- [0:33] dietary_claim: "fix your edit" implies medical fix; flag,
not block
Claude: Two real problems and three optimizations. The music rights issue
on TikTok will block the post, not just warn — you need a licensed
track or you scrap that 0:15-0:25 segment. Want me to add this to
memory as a brand rule so future cuts catch it earlier?
The audit takes about 30 seconds end-to-end. The cost is one Anthropic vision call charged to the workspace's own key — typically <$0.05 per minute of video at the time of writing. Compare that to the cost of letting an ad with unlicensed music ship to production and getting your TikTok account flagged.
Use case 3 — AI brand voice with persistent memory
This is the use case that justifies the memory tools. A creator runs five Claude sessions a week, all asking for caption variants, all needing the same brand-voice constraints. Without memory, that context lives in a Notion doc you copy-paste every session. With memory, it lives in the workspace and every agent inherits it.
Setup once:
User: remember the brand rules — voice is confident and dry, never hyped,
no "revolutionary" or "game-changer" or "unlock", and CTA is always
"Get Pulse Edit" (not "Buy Now" or "Try Now")
Claude: [calls lumiqa_save_memory key="brand/voice" tags=["brand-rule"]]
[calls lumiqa_save_memory key="brand/banned-words" tags=["brand-rule"]]
[calls lumiqa_save_memory key="brand/cta" tags=["brand-rule"]]
Saved 3 brand rules to workspace memory. Every future session
will inherit them.
A week later, fresh session, fresh agent:
User: 5 caption variants for the new Veo cut
Claude: [calls lumiqa_recall_memory tag="brand-rule"]
[pulls 3 rules: voice, banned-words, cta]
[calls lumiqa_generate_variants count=5 type="caption"]
Generated 5 captions, all on brand and CTA-correct. None of them
use revolutionary, game-changer, or unlock. Want me to push the
best one to the cut as overlay text, or save all 5 to memory for
A/B testing later?
The brand-voice context did not have to live in the prompt or in a system message. It lived in the workspace, and the new session inherited it on a single recall_memory call. This is the pattern that becomes obvious only after you have used it a few times — but once you have, going back to re-explaining the brand each session feels like reinstalling your dependencies on every project.
Pricing reminder — the same flat tiers
The tool count tripled, the pricing did not change. The Free Developer tier still gets full MCP + REST access to all 17 tools, with 100 uploads/month and 1 GB of storage. The point of the AI tools is that they call the user's own provider keys — Anthropic for vision, OpenAI for Whisper and DALL-E — so the cost passes through directly. Lumiqa takes nothing on top.
- Developer (Free): €0/month. 100 uploads, 1 GB, full MCP + REST, no credit card.
- Pro: €29/month. 10 workspaces, 5,000 uploads, 100 GB, webhooks, priority support.
- Team: €99/month. Unlimited workspaces, 50,000 uploads, 1 TB, multi-seat, audit log.
The workspace memory limits scale with the tier — 5,000 keys on Free, 100,000 on Pro, unlimited on Team. Workflow runs count as 1 upload each regardless of how many tools they compose, which makes the ads_pipeline template effectively free on the Free tier for a small project.
What ships next
Three things on the next week's horizon, in priority order. None of them require breaking the 17-tool surface.
- More workflow templates. The seed set is enough to demo, but the interesting work is composing tools for specific verticals —
shorts_repurposefor long-to-short edits,localization_pipelinefor multi-language launches,creator_brand_kitfor individual creators who want the same voice across every clip. - Smarter memory. Right now
recall_memorywithquerydoes straight vector search. The next iteration runs a small re-ranker so the top result is the most likely-correct match, not the most similar string. - SSE streaming for long workflows. Today
run_workflowis poll-based; the next release exposes the same endpoint as Server-Sent Events so agents get step transitions in real time instead of every 2-8 seconds.
None of this changes the philosophy. The tools we have now cover the surface — adding more would mostly add cognitive load on the agent. The interesting work from here is in making the existing tools sharper, the workflows more useful, and the memory smarter.
Connect the 17-tool server in 10 seconds
Free forever for developers. Full MCP + REST access to every tool in this post — vision, compliance, generation, distribution, memory, orchestration. Bring your own AI keys, ship video without writing glue code.
Start free → Examples on GitHub← Back to the blog or the Lumiqa home page.