levea-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LEVEA_API_KEY | Yes | Your Levea API key, generated at livecore.ai. | |
| LEVEA_API_URL | No | The host domain for the Levea API (should point to the bare host domain, e.g. https://api.livecore.ai; the client-side wrapper handles endpoint appending automatically). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| autonomous_editA | PRIMARY EDIT TOOL. Run a natural-language video edit end-to-end. The backend agent plans, executes, verifies, and exports. Accepts anything from a one-liner ("generate 3 viral clips with captions and export") to a multi-paragraph creative brief. Returns the final mp4 URL synchronously when an export is queued. For long renders you may prefer queue_edit + check_job_status. |
| autonomous_edit_streamingA | Same as autonomous_edit but consumes the SSE event stream from the backend. Returns the final terminal result; per-step events (status, thinking, tool_call, tool_result, background_job_completed) are emitted as MCP progress notifications when the client supports them. Use for long-running briefs where users expect live progress. |
| queue_editA | Fire-and-forget async path. Returns immediately with a |
| check_job_statusA | Poll an export / async job by jobId (numeric). Supports wait:true to block until terminal. |
| check_task_statusA | Poll a queued edit task by taskId (returned by queue_edit). Separate from job_id (exports). |
| get_active_taskA | For a given project, return the currently-running edit task (if any). Useful for reconnecting MCP clients. |
| list_caption_templatesA | List the user's caption templates (builtin + saved). Returns slugs, display names, and style summaries. |
| apply_caption_templateA | Apply a caption template to a scene synchronously (without going through autonomous_edit). |
| save_caption_templateB | Save a new caption template definition the user can re-apply later. |
| save_current_caption_templateB | Snapshot the caption styling currently applied to a project / scene as a reusable template. |
| delete_caption_templateB | Delete a user-saved caption template by id. |
| list_brand_kitsA | List the user's brand profiles (palette, fonts, logo, voice, gradeBias). Returns ids you pass to autonomous_edit's brandId / projectBrandId. |
| get_brand_kitC | Fetch one brand profile by id. |
| create_brand_kitB | Create a brand profile. Fields: name, palette {primary,secondary,accent,neutral,extras[]}, fonts {primary,secondary}, gradeBias (warm/cool/neutral/vivid/muted), forbiddenColors[], logoAssetUrl, voiceTone, enforcement (soft|hard). |
| update_brand_kitC | Update an existing brand profile by id. Body has the same shape as create_brand_kit. |
| delete_brand_kitC | Delete a brand profile. |
| list_projectsC | List the user's projects. |
| get_projectC | Fetch one project by id. |
| create_projectC | Create a new project. Optional initial brandId. |
| delete_projectD | Delete a project. |
| asset_upload_urlA | Get a signed upload URL for a local file (so users do not have to host video / image / audio elsewhere before passing video_url to autonomous_edit). Body: { fileName, fileType?, contentType?, projectId? }. Returns { uploadUrl, fileUrl }; PUT the file bytes to uploadUrl, then pass fileUrl to autonomous_edit as video_url / in assets[]. |
| list_assetsB | List the user's uploaded assets. Optional projectId filter. |
| delete_assetA | Delete an asset by file name (the path returned by asset_upload_url). |
| transcribe_assetB | Force transcription of an existing asset. Returns transcript words + timing. |
| editor_healthA | Connectivity diagnostic against LEVEA_API_URL. Unauthenticated. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Three separate entry points (autonomous_edit, autonomous_edit_streaming, queue_edit) perform essentially the same core edit operation, and the job-vs-task distinction between check_job_status, check_task_status, and get_active_task is easy to confuse. Descriptions do clarify intended use cases, but an agent must carefully parse them to pick correctly.
Most tools follow a clear verb_noun snake_case convention (list_caption_templates, create_brand_kit, delete_project, transcribe_asset). Minor deviations like asset_upload_url (noun_verb ordering) and editor_health (no verb) keep it from being fully uniform.
At 25 tools the surface is heavy, and several could be merged (e.g., the three edit entry points and separate job/task polling tools). The domain is genuinely broad—editing, captions, brand kits, projects, assets—so most tools earn their place, but the count sits at the borderline.
Core video-editing workflows are covered, including async jobs, caption templates, brand kits, projects, and asset handling. However, projects lack an update operation, assets lack a get/update path, and there is no job/task cancellation or history listing, leaving notable gaps.