New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

Libi

215 tools. 172 can modify or destroy data without limits.

26 destructive tools with no built-in limits. Policy required.

Last updated:

172 can modify or destroy data
43 read-only
215 tools total

Community server · catalogue entry checked 19/08/2026

How to control Libi ↓

What Libi exposes to your agents

Read (43) Write / Execute (144) Destructive / Financial (26)
Critical Risk

The most dangerous Libi tools

172 of Libi's 215 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Libi

PolicyLayer is an MCP gateway — it sits between your AI agents and Libi, and nothing reaches the server without passing your rules. These are the rules we recommend:

Block financial tools by default
{
  "libi.compute_object_track_providers": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Requires human approval."
      }
    ]
  }
}

Financial tools should be explicitly enabled per use case, not open by default.

Deny destructive operations
{
  "libi.analysis_remove_step": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "libi.add_effect": {
    "limits": [
      {
        "counter": "libi.add_effect_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "check_job": {
    "limits": [
      {
        "counter": "check_job_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Libi — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON LIBI →

Instant setup, no code required.

All 215 Libi tools

DESTRUCTIVE 24 tools
Destructive libi.analysis_remove_step Delete an analysis step row (and any cascaded keyframes if kind=frames). Use to fully clear and redo a step. Destructive libi.audio_remove_clip Remove an audio clip FROM THE TIMELINE (composition manifest only). The source file on disk is NOT deleted — i Destructive libi.clear_layer_effect Remove the effect on a layer Destructive libi.delete_asset_folder Delete an asset folder. mode Destructive libi.delete_caption_style Delete a user-created caption style by id. Bundled curated styles cannot be deleted (returns Destructive libi.delete_character Remove a character from the catalog. Mappings to assets are cascade-removed; assets themselves are kept unless Destructive libi.delete_clip Delete a timeline clip — a scene, overlay, or audio clip (auto-detected from Destructive libi.delete_file PERMANENTLY DELETE a source file from disk. This is the ONLY destructive path in the system — the file is unre Destructive libi.delete_folder Delete a folder. mode Destructive libi.delete_item Remove an item from the catalog. Mappings to assets are cascade-removed; assets themselves are kept unless Destructive libi.delete_keyframe Remove the keyframe at Destructive libi.delete_overlay_preset Delete a user-saved overlay preset. Destructive libi.delete_piece Permanently delete a piece and ALL of its data — every file (originals, Destructive libi.delete_scene Remove a scene FROM THE TIMELINE (composition manifest only). The source file is NOT deleted — it stays in res Destructive libi.delete_track Delete a track (DB row + JSON sidecar). Tracked overlays that reference this trackId will fail to render until Destructive libi.discard_draft Drops the draft and returns the piece to the snapshot state. Destructive — requires confirm:true. Destructive libi.drop_proxies Delete preview proxies for every video on the piece to free disk space. Proxies regenerate on next edit sessio Destructive libi.invalidate_model_schema_cache Drop a cached endpoint schema. Call this when a generation fails because the cached schema was wrong, then re- Destructive libi.remove_effect Delete a custom effect package by id. Destructive libi.remove_mcp_server Permanently remove a custom MCP server. Bundled servers cannot be removed — use libi.set_mcp_server_enabled to Destructive libi.remove_overlay Remove an overlay (any kind) from the composition by id. Destructive libi.remove_skill Delete a user skill, or delete an override (which restores the bundled skill). Bundled skills cannot be delete Destructive libi.remove_skill_prompt Delete prompts/<name>.md from a USER skill. Destructive libi.restore_snapshot Promotes one of the prior snapshots (from getPieceState.recentSnapshots) to become the current snapshot. The c
EXECUTE 32 tools
Execute compose_music Test-mode ElevenLabs mirror. Execute isolate_audio Test-mode ElevenLabs mirror. Execute libi.analysis_extract_audio STOP — before any audio analysis you MUST invoke the Execute libi.analysis_transcribe_audio Run the full transcript pipeline server-side: extract audio, chunk if needed (10-min default), transcribe per Execute libi.cancel_job Request graceful cancellation of a running background job. Partial Execute libi.compute_object_track STOP — before using this you MUST invoke the Execute libi.compute_track_segment STOP — invoke the Execute libi.create_scene Create a new scene in the video composition. The drawFunction is JavaScript code that receives a Execute libi.dev_slow_job DEV ONLY: run a deterministic slow background job that ticks once per second. Used to verify chat tool-call UI Execute libi.export_video Export the piece Execute libi.highlight_effect Guided edit: flash an effect for the user — a catalog effect (opens the effects panel to that family/phase and Execute libi.highlight_property Guided edit: flash a specific inspector field for an overlay so the user sees exactly which control to change. Execute libi.install_effect_from_git Install a custom animation effect package from a git repo (must contain manifest.json + animate.js). The anima Execute libi.list_identity_candidates STOP — invoke the Execute libi.music_install_analysis_deps One-shot uv prefetch of the librosa env. Called from the local-music install plan, Execute libi.music_profile Run local librosa to extract a music profile: tempo, key, energy, brightness, Execute libi.override_instructions DISCOURAGED — prefer libi.update_memories for behavior changes. Replaces the BASE agent instructions with a us Execute libi.regenerate_proxy Force regeneration of a video file Execute libi.remove_background STOP — before using this you MUST invoke the Execute libi.render_overlay_frames Render a few REAL composition frames (base video + all overlays, including WebGL 3D Execute libi.restart_acp_session Reload the entire ACP session — all bundled MCPs come down and back up. Use this only when you don Execute libi.restart_mcp_server Restart a specific bundled MCP server. Use after fixing an issue diagnose_mcp surfaced (e.g. installed a missi Execute libi.retry_mcp_server Re-probe an external MCP server and refresh its serverStatus. Use when list_bundled_mcps reports serverStatus Execute libi.show_mcp_settings Navigate the user to the MCPs & Skills page (MCP Servers tab), optionally focusing a specific bundled server c Execute libi.show_preview Switch the editor to the Preview tab (canvas player + timeline) for a piece. Use when the timeline should be t Execute libi.sleep Sleep for N seconds inside the MCP server. Use BETWEEN long-running polls — e.g. after submitting a fal-ai job Execute libi.verify_tracked_overlay STOP — invoke the Execute run_model Test-mode fal mirror (sync placeholder). Execute submit_job Test-mode fal mirror. Execute text_to_sound_effects Test-mode ElevenLabs mirror. Execute text_to_speech Test-mode ElevenLabs mirror. Execute voice_clone Test-mode ElevenLabs mirror.
WRITE 112 tools
Write libi.add_effect Author a custom animation effect from a manifest + an animate.js body — a PURE (progress, params) → TransformD Write libi.add_keyframe Add (or replace) a keyframe on an overlay at Write libi.add_overlay Add an overlay on top of the base scene. Write libi.add_skill Install a user skill. The Write libi.add_skill_prompt Add a prompt file at prompts/<name>.md inside a USER skill so the SKILL.md can reference it (e.g. Write libi.add_storyboard_card Create a storyboard card — the bootstrap/append entry point. Use this to START a storyboard on a piece that ha Write libi.add_tracked_overlay Pin an overlay (emoji, text, image, video, code, or blur/pixelate effect) to a moving subject. Requires a trac Write libi.analysis_chunk_audio Plan and extract per-chunk audio WAVs (no transcription). Returns array of { chunkId, chunkIndex, audioPath, s Write libi.analysis_mark_step_failed Record that a specific analysis step (transcript / summary / frames) cannot be completed. Sets status=failed w Write libi.analysis_save_audio_chunk Save the transcript for one audio chunk inline. Pass { chunkId, text, words, language?, languageProbability? } Write libi.analysis_save_audio_chunk_from_file Save the transcript for one audio chunk by reading a JSON file. Pass { chunkId, jsonPath } where jsonPath is a Write libi.analysis_save_frames Atomic batch save of the frames step. REPLACE SEMANTICS: every existing keyframe for the file is deleted and r Write libi.analysis_save_summary Upsert the summary step for a file with a structured VideoSummary (video_v1). Sets status=ready. Pass Write libi.analysis_update_summary_custom Merge a value into the summary step Write libi.apply_layer_effect Apply an animation effect to a layer Write libi.apply_overlay_preset Apply a saved preset Write libi.approve_storyboard_stage Approve a storyboard card Write libi.attach_storyboard_clip Attach a generated Tier-3 clip video (by libi file id) to a storyboard card as a new versioned take (v1, v2, … Write libi.attach_storyboard_keyframe Attach a generated Tier-2 keyframe image (by libi file id) to a storyboard card, recording its cost and advanc Write libi.audio_add_clip Add an audio clip to the composition. Use kind= Write libi.audio_duck_disable Remove sidechain ducking from a clip. Write libi.audio_duck_enable Enable sidechain ducking on a clip. The clip Write libi.audio_duck_update Update ducking parameters on a clip that already has ducking enabled. Patch any subset of: sidechainClipId, th Write libi.audio_relink_overlay Re-bind a standalone audio clip to a VIDEO OVERLAY as its inline audio, so the clip moves and trims with that Write libi.audio_split Split one clip into two at the given composition time. The new clip Write libi.audio_unlink Convert an inline clip (linked to a video scene) into a standalone clip so it can be moved, trimmed, or duplic Write libi.audio_update_clip Patch fields on an audio clip: startTime, duration, trimStart, volume, enabled (the timeline speaker toggle), Write libi.commit_draft Promotes the current draft of a piece to be the new committed snapshot. The previous snapshot is moved to hist Write libi.compare_states Returns a structured diff (scenes, overlays, audio clips: added/removed/changed counts) between the committed Write libi.concat_videos Concatenate two or more video files into a single output, stored as a new file on the piece. Stream-copies whe Write libi.create_asset_folder Create an asset folder to group files within a piece (or globally). Nestable. Omit parentFolderId for top-leve Write libi.create_caption_style Create a NEW reusable caption STYLE (a static look: text color + optional stroke/shadow/background + font) fro Write libi.create_character Catalog a new character globally. Pass Write libi.create_folder Create a folder to organize pieces. Folders can be nested. Omit parentFolderId for a top-level folder. Write libi.create_item Catalog a new item globally. Pass Write libi.create_piece Create a new piece. Returns the full piece record (id, name, description, dates) so you can immediately use th Write libi.diagnose_mcp Snapshot of a bundled MCP Write libi.diff_skill_override Compare a user-overridden (forked) skill against its bundled original. Returns whether the bundled skill chang Write libi.duplicate_clip Duplicate a timeline clip — a scene, overlay, or audio clip (auto-detected from Write libi.duplicate_file Duplicate a file to another piece or to global. Creates an independent copy with a new ID — deleting the sourc Write libi.duplicate_folder Create an independent copy of a folder and all its pieces. Returns jobIds (one per piece) immediately — each p Write libi.duplicate_piece Create an independent copy of a piece. Returns a jobId immediately — the copy runs in the background. Poll lib Write libi.edit_storyboard_card Edit an EXISTING storyboard card. Primary use: manage role-tagged SKETCH slots — Write libi.extract_audio Extract the audio stream of a video file to a standalone audio file stored on the piece. Outputs MP3 by DEFAUL Write libi.fork_skill Fork a bundled skill into an editable user copy of the same name (SKILL.md + all prompts). The user copy shado Write libi.generate_captions Build a timed caption track from a file Write libi.generate_music Generate music locally with ACE-Step and store it as an audio file on the piece. Free, no API key — the DEFAUL Write libi.generate_speech Synthesize narration/voiceover locally with Kokoro and store it as an audio file on the piece. Free, no API ke Write libi.generate_thumbnails Generate N evenly-spaced JPEG thumbnails from a video file, storing each as an image file on the piece. Use wh Write libi.get_install_plan Get the markdown install plan for a bundled MCP. The plan tells you, step by step, what to download, install, Write libi.get_piece_state Returns whether the piece has uncommitted draft changes, when the current snapshot was committed, and the last Write libi.import_remote_files Download one or more PUBLIC http(s) files (e.g. demo assets) in the background. autoUpload (default true) regi Write libi.link_character_to_asset Associate an existing character with an asset that contains them. Idempotent. Write libi.link_item_to_asset Associate an existing item with an asset that contains it. Idempotent. Write libi.list_bundled_mcps This is libi Write libi.list_effects List built-in animation effects with their supported layer kinds, phases (in/out/loop), and params. Filter by Write libi.list_mcp_servers This is libi Write libi.list_skills This is libi Write libi.load_scene Load a single scene Write libi.move_asset Move an asset (file) into a folder. folderId null = scope root. The folder must match the file Write libi.move_asset_folder Move an asset folder under a new parent. parentFolderId null = top level. Rejects cycles. Write libi.move_folder Move a folder under a new parent folder. Pass parentFolderId null to move it to the top level. Rejects moves t Write libi.move_piece_to_folder Move a piece into a folder. Pass folderId null to move it back to the root (no folder). Write libi.recheck_mcp Probe a bundled MCP server Write libi.refine_track_with_sam2 Refine an existing box track into precise SAM2 masks over an optional time range Write libi.register_mcp_server Register a new external MCP server so it becomes available in future agent sessions. Use this when the user as Write libi.rename_asset_folder Rename an asset folder. Write libi.rename_folder Rename a folder. Write libi.reorder_overlays Re-order overlays by supplying overlayIds in the desired z-order (first = bottom, last = top). Ids not listed Write libi.reorder_scenes Change the order of scenes in the composition. Provide all scene IDs in the desired new order. Write libi.retrieve_assets_dimensions Return width/height/aspect of every video scene, video overlay, and image overlay in the composition, plus the Write libi.save_asset Save a generated asset (audio, image, etc.) for the current piece. Stores the file and registers it in the dat Write libi.save_model_schema_cache Cache an endpoint Write libi.save_overlay_preset Save an overlay Write libi.set_complexity_mode Switch a SPECIFIC overlay Write libi.set_keyframe_easing Set the easing curve of the segment LEAVING the keyframe at Write libi.set_mcp_server_enabled Enable or disable an MCP server. Works on bundled and custom servers. Disabled servers are not surfaced to age Write libi.set_skill_enabled Toggle a skill Write libi.set_skills_enabled_by_tag Enable or disable every skill carrying ANY of the given tags in one call. Use to flip a whole group, e.g. disa Write libi.set_storyboard_generation Set a card Write libi.set_storyboard_reference Link a generation param (e.g. reference_video) to another card Write libi.show_asset Navigate the editor to display an asset in the Assets tab. Write libi.show_folder Reveal a folder in the resources panel (expands its ancestors and scrolls to it). Write libi.show_in_chat Render an asset (image, video, or audio) INLINE IN THE CHAT so the user sees it without leaving the conversati Write libi.show_storyboard Switch the editor to the Storyboard tab for a piece. Call this after you create or update the storyboard (auth Write libi.skip_segment Mark a time range as intentionally untracked (e.g. subject not visible / back to camera). Renders nothing ther Write libi.split_clip Cut (split) a timeline clip into two at a composition time. Write libi.start_onboarding Re-open the onboarding panel (agent setup + the guided demo). Use only if the user asks to see onboarding agai Write libi.trim_video Trim a video file to a time range and store the result as a new file on the piece. Uses ffmpeg stream-copy whe Write libi.unlink_character_from_asset Remove the association between a character and an asset. Write libi.unlink_item_from_asset Remove the association between an item and an asset. Write libi.update_character Update a character Write libi.update_composition_dimensions Set the canvas width and height for a piece. Affects preview and export. Returns warnings for overlays whose r Write libi.update_effect Patch an existing custom effect package Write libi.update_file_notes Append or replace agent-facing notes on a file (lineage, model, retry index, validation summary). Default mode Write libi.update_item Update an item Write libi.update_mcp_server Edit an existing MCP server Write libi.update_memories Update the user Write libi.update_overlay Update an overlay Write libi.update_piece_description Update only the description of the current piece. Write libi.update_piece_name Set the name (and optionally description) of the current piece. Respects the nameSetByUser flag — if the user Write libi.update_scene Modify an existing scene in the composition. Only the provided fields are updated; omitted fields remain uncha Write libi.update_skill Author or update a skill Write libi.update_skill_prompt Replace the contents of an existing prompts/<name>.md on a USER skill. Write libi.update_track_result Write externally-computed tracking samples into libi Write libi.update_tracked_overlay Update any field of a tracked overlay (track binding, content, timing, rect, z, opacity, fit, scale, smoothing Write libi.upload_file Upload a file from the local filesystem into the current piece. Reads the file, infers its type, probes media Write libi.upload_file_to_fal Upload a LOCAL libi file to fal.ai storage and return a fal CDN URL, for use as an image_urls/audio_urls refer Write libi.upload_font Upload a custom font file (.ttf/.otf/.woff2) and return a fontFileId usable on text overlays. Reads the file f Write libi.verify_install Check whether the libi-tracking engine (uv Python env + ONNX models) is installed and its self-test passes. Write recommend_model Test-mode fal mirror. Write speech_to_text Test-mode ElevenLabs mirror.
READ 43 tools
Read check_job Test-mode fal mirror. Read get_job_result Test-mode fal mirror. Read get_model_schema Test-mode fal mirror. Read get_pricing Test-mode fal mirror. Read libi.analysis_extract_frames STOP — before any video analysis you MUST invoke the Read libi.analysis_get Returns all analysis steps and keyframes for a file. Empty arrays when no analysis exists. Read libi.analysis_get_audio_chunks Return per-chunk status (and error messages, if any) for a file Read libi.analysis_search_frames Search keyframes by structured fields in their FrameDescription (subject, objects, text, tags, shot, time rang Read libi.analysis_search_transcript Substring search over transcript words. Returns ±2-word context windows around each hit with start/end timesta Read libi.get_character Fetch a single character with its linked asset IDs. Read libi.get_composition Retrieve the full composition: the manifest (sceneOrder, width, height, fps) and the data for all scenes in or Read libi.get_item Fetch a single item with its linked asset IDs. Read libi.get_job_status Get the current status of a background job by id. Returns Read libi.get_model_schema_cache Read the cached parameter schema for a generation endpoint (key: apiUrl+model). Returns {exists, stale, fetche Read libi.get_overlays List the overlays on a piece. Returns each overlay Read libi.get_version Get the Libi MCP server version. Useful for checking if skill files are up to date. Read libi.hide_storyboard_take Soft-hide a generated take (removed from display, file retained). If it was selected, the newest remaining tak Read libi.list_assets List asset folders + assets at one level of a piece (or the global pool when pieceId is null). Omit folderId f Read libi.list_caption_styles List all caption styles (bundled curated looks + user-created ones) shown in the Style tab. Use before creatin Read libi.list_characters List globally cataloged characters. Optional Read libi.list_effect_packages List on-disk custom effect packages with their validity (id, name, valid, error?). Use to see what customs are Read libi.list_files List files. Use scope= Read libi.list_folders List all folders with their parent and piece counts. Returns a flat array; build the tree from parentFolderId. Read libi.list_items List globally cataloged items. Optional Read libi.list_keyframes List an overlay Read libi.list_overlay_presets List saved overlay presets (bundled + user), optionally filtered by kind. Read libi.list_pieces List available pieces with optional search. Returns the currently-open piece separately in Read libi.list_skill_prompts List the prompt files (prompts/.md) inside a skill Read libi.list_track_segments List a track Read libi.list_tracks List all tracks computed for a source file. Read libi.music_detect_beats Run local librosa to extract tempo, beat times, and onsets from an audio file. Read libi.music_download_model Download the ACE-Step model (~5.5 GB) into ~/.libi/models/ace-step/ (background job, progress streamed). Idemp Read libi.music_list_styles List local ACE-Step music style hints, whether the model is installed, the download size, and the default/max Read libi.select_storyboard_take Choose which generated take is placed on the timeline for a card. Re-places the scene. Read libi.show_api_config Open the inline API-key config panel for a bundled MCP (right of the chat). Call this the moment a tool fails Read libi.show_piece Navigate the editor to display a piece. Use this after creating a new piece to show it to the user. Read libi.storyboard_get Fetch the piece Read libi.tts_download_model Download the Kokoro model (~110 MB) into ~/.libi/models/tts/ (background job, progress streamed). Idempotent. Read libi.tts_list_voices List local Kokoro TTS voices with language + gender, the default voice, and whether the model is installed. Re Read libi.update_dep_status Record install progress for a bundled MCP. Call after each install step (status= Read libi.whisper_download_model Download a Whisper model into ~/.libi/models/whisper/ (background job, progress streamed). Idempotent. Confirm Read libi.whisper_list_models List local Whisper model sizes (tiny|base|small|medium|large-v3) with approx size, install state, and the defa Read search_docs Test-mode fal mirror (stub).

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Libi

Can an AI agent move money through the Libi MCP server? +

Yes. The Libi server exposes 2 financial tools including libi.compute_object_track_providers, libi.extra_analysis_model. Without a policy, an autonomous agent can call these with no spend caps, no rate limits, and no approval flow. PolicyLayer lets you block financial tools by default, require human approval, or set per-tool rate limits — enforced on every call.

Can an AI agent delete data through the Libi MCP server? +

Yes. The Libi server exposes 24 destructive tools including libi.analysis_remove_step, libi.audio_remove_clip, libi.clear_layer_effect. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Libi? +

The Libi server has 112 write tools including libi.add_effect, libi.add_keyframe, libi.add_overlay. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Libi.

How many tools does the Libi MCP server expose? +

215 tools across 4 categories: Destructive, Execute, Read, Write. 43 are read-only. 172 can modify, create, or delete data.

How do I enforce a policy on Libi? +

Register the Libi MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Libi tool call.

Deterministic rules across all 215 Libi tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

215 Libi tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Libi's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.