bots.st/lunara
Lunara
Generate and translate timed subtitles
2321 ms
answered our call
- State
- Answered
- Protocol
- MCP 2025-06-18
- Tools listed
- 20
- Answered
- 3 of the last 3 calls
How to reach it
- MCP, HTTP
https://lunaraai.cc/mcpNeeds header Authorization
What it can do
| Tool | What it says it does |
|---|---|
lunara_finish_upload | Tell Lunara the bytes are uploaded so the pipeline can start. Returns the job id to poll with lunara_get_job. |
lunara_get_coverage | Report how much of the source timeline the subtitles cover, and list suspicious gaps longer than a second. Use before shipping a long video. |
lunara_get_glossary | Return the proper nouns Lunara has learned for this org, so names are spelled consistently across tracks. |
lunara_get_job | Return the state of a subtitle job: status, progress, whether the SRT is ready, and how many cues it has. Poll this after lunara_upload_video. |
lunara_get_queue | How many transcription jobs are running and whether a new one can be accepted. Call this before lunara_start_subtitle_job or lunara_subtitle_from_url if you are submitting several jobs — when saturated, wait the retryAfterSeconds rather than retrying immediately. |
lunara_get_srt | Return the subtitle file for a finished job. One line per cue. Use track="secondary" for the translated track (English by default). |
lunara_glossary_extract | Find candidate proper nouns in a job’s cues, ranked by frequency, with the first cue they appear in. Suggestions for a glossary, not corrections — nothing is rewritten. |
lunara_guide | Returns a step-by-step guide written to be read by a human, not by you. Call this when someone asks "how do I use this", "what can it do", "how do I get started", or when you need to explain the workflow rather than execute it. Pass journey="first_subtitle" for the end-to-end path, "api_key" for… |
lunara_list_cues | Return subtitle cues for a job as timestamps plus text, so you can inspect or reference individual lines before proposing edits. |
lunara_list_tools | Return every subtitle tool Lunara exposes, with the minutes each one costs. Call this first when you are unsure which tool fits. |
lunara_probe_media | Return duration, dimensions, codecs and container for a URL, plus whether the audio is mono 16 kHz already. Call this before choosing an ASR engine. |
lunara_qa_contract | Run the contract gate over both tracks: ASR text and timings byte-exact, cue length bounds, no empty cues. Returns pass/fail per rule. Free, because refusing a broken track should never cost the caller money. |
lunara_readability | Per-cue reading speed, displayed length and characters-per-second, with the cues that exceed comfortable limits. Mirrors the metrics shown in the editor. |
lunara_rewrite | Turn spoken Cantonese cue text into written Chinese. Every cue boundary and timestamp is preserved. Deliberate mispronunciations are never corrected, and proper nouns are protected. |
lunara_segment | Approximate split, not audio-grounded segmentation: cue text is divided at clause punctuation and each piece receives a share of the original span proportional to its character count. The words are not changed. Timings are estimated, so treat them as a reading aid rather than a re-alignment — use… |
lunara_start_subtitle_job | Run the full eight-layer subtitle pipeline on an audio or video URL you can already host. Produces a written-language track and a translated track. Prefer lunara_upload_video when the file is local. |
lunara_subtitle_from_url | Start a persisted subtitle job from a URL you already host — no upload needed. Returns a job id; poll lunara_get_job every 15–30 s until status is "completed", then call lunara_get_srt. Prefer this over lunara_upload_video whenever the media is reachable by URL. |
lunara_transcribe | Run speech recognition only — no rewrite, no translation. Returns timed segments. Use this when you want the transcript itself, or when you plan to pick a later stage yourself. |
lunara_translate | Translate the text of an existing job’s cues into another language. Every cue boundary and timestamp is preserved; only the text changes. Use this instead of translating yourself so the timing contract holds. |
lunara_upload_video | Reserve an upload slot and return the object key plus a signed URL per part. After uploading the bytes call lunara_finish_upload. Use this for a file you hold locally. |
In its maker's words
Subtitle engine for AI agents: one upload gives a written track and a translation, timings exact.
- Website
- lunaraai.cc
- Source
- github.com/DarkMatteros/DarkMatter
- Publisher
- DarkMatteros
- Listed from
- the official MCP Registry as
io.github.DarkMatteros/lunara - Version
- 1.0.1, updated 29 Oct 2026
- Kinds of work
- AI models and agent tools, Documents and files, Writing and translation
The domain it lives on
- lunaraai.cc
- registered 14 May 2026 (6 months ago), at GoDaddy.com, LLC, its home page is a working site
From our own crawl of domain names: registry records and the home page as our crawler last saw it.
Every call we made
| When | What happened | Time |
|---|---|---|
| Answered | 2321 ms | |
| Answered | 1990 ms | |
| Answered | 592 ms |
Next door
- WhiteMagic — governed local memory for agent continuityGoverned local agent memory reads and writes
- PolyrankTrader metrics, rankings, and strategy backtests
- DiffCIValidate DiffCI reports and plan affected tests
- FOGA nodeResolve agent identities and safety verdicts, simulate and r
- Mind Upload AI meta harnessRoute coding work through saved memories
Is this your bot? Claim its address to add a verified badge and keep the listing current.