Atlas / MCP servers / zoharvan12 / @kolbo/mcp

@kolbo/mcpBLOCK

mcp/zoharvan12/kolbo-mcp

Kolbo AI MCP server — use Kolbo AI as native tools in Claude Code, Cursor, and Claude Desktop

Verdict
BLOCK
Grade
F
Trust score
34 /100
Exposed tools
200 119r · 84w · 28d
Transport
stdio
License
—
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Personal fonts

Browse My fonts with list_fonts({source:"custom"}) (the default), or the read-only Font collection with source:"global". Use source:"all" to search both. Mix up to three family IDs across both sources in the same generation; inspect actual styles/scripts with get_font. Collection fonts do not need uploading and cannot be renamed or deleted by users.

Use list_fonts / get_font to discover My Fonts. Local stdio clients upload one OTF/TTF/WOFF2 (up to 5 MiB) with upload_font; remote shell clients use create_font_upload_ticket, and browser clients use font_upload_widget. Poll get_font_upload_status until ready, then pass the returned family ID in font_ids to image creation/editing or image-mode Creative Director. rename_font and delete_font manage the library.

Only models reporting supports_custom_fonts: true accept these selections. Fonts and backend-generated specimens never go through media upload. See Personal Fonts. Availability requires a published client and deployed backend containing these tools; source changes alone do not update installed clients.

No-background images

generate_image and generate_image_edit accept background: "transparent" for models whose list_models record reports supports_transparent_background: true. Kolbo also appends the exact phrase no background once to the effective prompt, while the structured setting requests the native alpha channel through the configured provider route. Use output_format: "png" or "webp" (PNG is selected automatically when omitted). Prompt wording alone is not sufficient, and unsupported models reject the request instead of silently returning an opaque image.

Use Kolbo AI as native tools in Claude Code and Claude Desktop via MCP (Model Context Protocol).

Generate images, videos, music, speech, sound effects, multi-scene campaigns, and conversational

Read from source at commit 91547ca44843OBSERVED · 2026-10-12
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add mcp --env KOLBO_API_KEY=${KOLBO_API_KEY} -- npx -y @kolbo/[email protected]
claude-desktop
{
  "mcpServers": {
    "mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@kolbo/[email protected]"
      ],
      "env": {
        "KOLBO_API_KEY": "${KOLBO_API_KEY}"
      }
    }
  }
}
03

Exposed tools (200)

119 read · 84 write · 28 destructive. Blast radius: 28 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
acquire_clean_music_trackreadAcquire a clean, unwatermarked SYNCI MP3 or WAV for download or Adobe timeline use. Charges IMMEDIATELY with no confirmation dialog.
activate_color_palettereadMake this the account
add_media_to_folderwriteAdd one or more media items to a folder. Caller must own the folder or be a shared member. Idempotent — items already in the folder are skipped silently. Up to 500 items per call.
add_project_contextwriteFeed knowledge into a project\
add_review_versionwriteAppend a new version to an existing review asset from an uploaded
adobe_capture_framereadRender one frame of the active After Effects composition (PNG) or Premiere Pro sequence (JPEG) and save it to the Kolbo media library. The result carries the image
adobe_create_sequencewrite
adobe_edit_compositionwrite
adobe_get_command_statusreadRead the state, expires_at and bounded result/error of one Adobe command owned by the caller. awaiting_approval is not a polling state: stop and ask the user to approve or deny it in the Kolbo panel.
adobe_get_projectreadQueue a read-only inspection of the open Premiere Pro or After Effects project. No approval is needed. Returns a command record; poll adobe_get_command_status for the result.
adobe_get_timelineread
adobe_import_captionswriteImport an SRT caption file hosted on Kolbo storage onto the active Premiere Pro sequence. Premiere Pro only. The editor must approve it in the Kolbo panel. Create the SRT with transcribe_audio first when needed.
adobe_import_mediawriteImport one Kolbo media item into the open Premiere Pro or After Effects project. It lands in the Kolbo.AI / My Media bin for its type (Videos, Images, Audio). The editor must approve it in the Kolbo panel. Returns a command record; poll adobe_get_command_status.
adobe_list_sessionsreadList the caller\
adobe_place_on_timelinewriteImport one Kolbo media item and place it on the Premiere Pro work sequence (free track at the playhead) or the active After Effects composition. There is no time or track parameter. The editor must approve it in the Kolbo panel.
adobe_run_scriptwriteRun ExtendScript inside the connected After Effects (or Premiere Pro) for real motion graphics: shape layers, trim paths, text animators, effects, masks, expressions, cameras, precomps.
analyze_color_palettereadExtract a color palette from 1-5 reference image URLs using fast local pixel analysis (no LLM, free). Does NOT save anything — pass the returned colors to create_color_palette to save + optionally activate it.
analyze_script_for_musicreadTurn a script or scene description into a SYNCI music search.
analyze_script_for_stockreadAI helper that turns a video/voiceover script into stock b-roll search terms. Returns { queries[], mediaType, keywords } you can feed into search_stock_media to auto-source matching footage/photos. Use this first when the user gives you a script rather than explicit search keywords.
analyze_videoreadUnderstand a video with Kolbo\
analyze_video_evidenceread
archive_projectreadArchive a project — hides it from the default project list without deleting anything. Fully reversible with
blender_apply_operationswriteApply a bounded list of structured Blender operations. This changes the scene and may delete data; preview the exact operations and obtain user approval in Blender when requested.
blender_capture_viewportreadCapture the active Blender viewport to the extension-managed cache and optionally add it to the caller\
blender_execute_pythonwriteExecute Python inside Blender with full machine-level authority. The code can read files, access the network, run processes, and alter the scene. Show the exact code to the user first; it always requires in-Blender approval unless trusted mode is visibly active.
blender_file_operationreadPerform a sensitive Blender file operation. Opening, replacing, or writing an arbitrary path can overwrite data and always requires explicit in-Blender approval unless the user enabled trusted mode for this process.
blender_get_command_statusreadRead the current state, absolute expires_at, and bounded result/error for one Blender command owned by the caller. Commands and idempotency claims expire after 24 hours. awaiting_approval is not a polling state: stop and wait for the user to approve or deny it in Blender.
blender_get_scenereadQueue a read-only scene inspection in Blender. Returns a command record; if status is queued or running, use blender_get_command_status. If approval is required, stop and let the user approve in Blender.
blender_import_mediawriteImport one Kolbo media item or Kolbo-owned HTTPS media/CDN asset into Blender. URLs are restricted to the extension\
blender_list_sessionsreadList only the caller\
blender_renderwriteStart a Blender still or animation render. V1 animation renders are host-enforced at 250 scene frames and 100,000,000 pixel-frames. Rendering can consume substantial machine resources and writes managed output files; approval may be required in Blender.
blender_search_docsreadInspect the connected Blender runtime and return relevant official Blender API/manual URLs. The extension does not fetch those documentation pages or execute returned code.
blender_undoreadUndo the most recent Blender change in the selected session. Undo is itself state-changing and can discard later work, so do not call it speculatively.
browse_music_libraryreadBrowse the licensed SYNCI catalog. Playback remains watermarked; final use requires acquire_clean_music_track.
bulk_delete_mediadestructiveSoft-delete up to 1000 media items in one call. Items go to trash (30-day recovery). Owner only — items not owned by the user are silently skipped (count returned in response). Use this for
bulk_move_mediawriteMove up to 1000 media items to a different project in a single call. Caller must own ALL items AND have access to the target project — if any item isn\
bulk_move_sessionswriteMove MANY sessions into one project in a single call — the tool to use when reorganizing a user\
bulk_permanently_delete_mediadestructivePERMANENTLY delete up to 1000 media items. NOT REVERSIBLE — removes from MongoDB, S3, folders, and source generation records. Owner only. ALWAYS confirm with the user before calling; this is the bulk equivalent of
bulk_restore_mediareadRestore up to 1000 trashed media items at once. Owner only. Returns the count restored and how many ids weren\
cancel_downloadreadCancel this account
cancel_generationreadCancel a running generation and release/refund its credits. Works for every
cancel_trend_runwriteCancel a running trend run and release its unspent credits. Free-trial runs cannot be cancelled.
cancel_video_inspectionwriteStop preparation/extraction and expire your private snapshot. A paid provider request already accepted may still complete and be charged. Source media in the library is unchanged.
chat_get_messagesreadFetch messages in a chat conversation. Returns role, content, model, and any media URLs attached to each message.
chat_list_conversationsreadList the user\
chat_send_messagewrite
check_creditsreadCheck your remaining Kolbo credit balance.
clean_dialogue_leftoversreadStrip voices that are still faintly audible in a
clone_voicereadClone a custom TTS voice from an audio sample (the user\
cover_musicread
create_color_palettewriteSave a new Color DNA palette from manual colors or from analyze_color_palette output. ${STICKY_NOTE} Pass is_active: false to save without activating.
create_docwriteCreate an AI Doc (Magic Pad document) in the user\
create_font_upload_ticketwriteCreate a one-use, ten-minute ticket for a remote client with shell access. POST multipart field file to upload_url with Authorization: Bearer <ticket>. Never use upload_media for fonts. Poll returned upload ID with get_font_upload_status.
create_media_folderwriteCreate a new media folder for the user. Folders are user-scoped (span all projects) and useful for grouping related assets. Returns the new folder id — pass it as
create_moodboardwriteCreate a moodboard from 1–15 image URLs. The server analyzes the images and synthesizes a reusable master style prompt — then pass the returned moodboard id as
create_morphious_stylewriteCreate a custom Morphious Style from 1-8 image URLs that show the look (an illustration style, a painting technique, a 3D render style). The images define the LOOK only, never the subject. Returns the style id to pass as style_id. Upload local files first with upload_media / create_upload_ticket.
create_music_composition_planwriteGenerate a starter ElevenLabs Music v2.5 structured composition plan (an ordered list of chunks with section text, styles, and durations) from a plain-text prompt. FREE — creates no generation and charges no credits. Edit the returned chunks and pass them as
create_music_reference_audiowrite
create_projectwriteCreate a new Kolbo project. Use when the user starts a new body of work (
create_review_assetwriteCreate a Kolbo Review asset with v1 media attached. Upload first via
create_review_collectionwriteCreate a review collection folder inside a project.
create_review_commentwriteAdd a text comment on a review asset. Optional video timecodes: time_start / time_end (seconds).
create_review_share_linkwriteCreate a guest review link for an asset or collection. Returns share_url for clients (no Kolbo account needed).
create_upload_ticketwriteGet a short-lived ticket for uploading LOCAL files straight into the user\
create_video_editor_sessionwriteCreate an editable timeline from existing Kolbo-hosted images/video, audio layers and text. No new media generation. Requires project_id with edit access. Returns session_id and editor_url. Preserve the returned ID; creation is not a polling operation.
create_visual_dnawrite
create_visual_dna_folderwriteCreate a Visual DNA folder for organizing characters (e.g.
deactivate_color_palettedestructiveClear whichever Color DNA palette is currently active for the account. Generations stop being auto color-graded until another palette is activated.
delete_color_palettedestructivePermanently delete a Color DNA palette. Owner only. If it was the active palette, generations stop being color-graded.
delete_docdestructiveDelete an AI Doc (soft delete — recoverable from the app\
delete_fontdestructiveDelete a personal font family from future use. Completed generated images are not deleted.
delete_mediadestructiveSoft-delete a media item — moves it to the user\
delete_media_folderdestructiveDelete a folder (soft delete — items inside are detached but NOT deleted from the user\
delete_moodboarddestructivePermanently delete a moodboard (owner only; system presets cannot be deleted). Do NOT use this to rename or change images — that is
delete_morphious_styledestructiveDelete one of the user\
delete_project_contextdestructiveRemove one source from a project\
delete_review_assetdestructiveSoft-delete a review asset and its underlying review media.
delete_review_collectiondestructiveSoft-delete a review collection (assets become uncollected).
delete_review_commentdestructiveDelete a review comment (own comment, or any comment if you have full project access).
delete_sessiondestructiveSoft-delete a session (trash). Use for empty leftover sessions after
delete_visual_dnadestructivePermanently delete a Visual DNA profile. Only the owner can delete. Do NOT use this to rename, restyle, swap stills, or change a description — that is
delete_visual_dna_folderdestructiveDelete a Visual DNA folder. The DNAs inside are NOT deleted — they move back to the root level (response includes items_moved_to_root). Safe to call without confirmation for empty folders; mention the contents-move when the folder has items.
delete_voicedestructiveDelete one of the user\
download_media_from_urlread
duplicate_projectreadDuplicate one of YOUR OWN projects into a new project you own. Use for a variant of an existing body of work (
edit_imagewrite
edit_music_sectionwriteRegenerate one section (time range) of an ElevenLabs Music v2.5 track you already generated, keeping the rest of the song unchanged — e.g.
edit_review_commentwriteEdit your own review comment text and/or timecodes.
edit_videowriteApply a targeted AI edit to an existing video. Covers both mechanical edits (upscale, reframe, remove watermark, remove background) and creative operations (generate audio, face swap, extend, lipsync, inpaint, retake, magic edit). Returns the edited video URL when complete.
estimate_trend_runwriteQuote a trend run before spending: returns total_credits for these exact inputs (video trends are priced by the source clip length). Free — no credits spent.
export_video_editor_sessionread
extend_musicread
favorite_mediareadMark a media item as a favorite for the user. Idempotent — calling on an already-favorited item is a no-op. Requires the media
font_upload_widgetwriteShow a dedicated font upload picker for browser-only clients. Uploads ONE OTF/TTF/WOFF2 up to 5 MiB into My Fonts. Create another widget for another file or retry. Poll returned upload ID until ready.
generate_3dreadGenerate a 3D model from a text prompt, a single reference image, or multiple reference images (for multi-view reconstruction). Returns model URLs in multiple formats (GLB, FBX, OBJ, USDZ). Modes:
generate_character_sheetread
generate_creative_directorwriteGenerate 2–8 related images or videos as one coherent set from a single creative brief. Use scene_count (NOT num_images) to set the number of scenes (1–8, default 4). Use this when the user gives a general brief (
generate_elementsread
generate_first_last_frameread
generate_imagereadGenerate image(s) from a text prompt using Kolbo AI. Supports Visual DNA profiles (for character/style/product consistency), moodboards (for style direction), Kolbo image presets, reference images (for composition guidance), batch generation (num_images for variations of ONE prompt,
generate_image_editwriteTHE tool for ANY prompt-driven / content edit of an existing image — changing the scene (
generate_lipsyncread
generate_musicread
generate_soundread
generate_speechread
generate_videoreadGenerate a video from a text prompt using Kolbo AI. For SEVERAL different videos, pass all their prompts in
generate_video_from_imagereadAnimate an existing still image into a video using Kolbo AI. The image comes from
generate_video_from_videowriteRestyle / transform an existing video (video-to-video). Use for style transfer, scene restyling, subject swap, motion transfer, character replacement, or burning in styled subtitles (VEED Subtitles). Source video can be a URL or absolute local path.
get_creative_director_statusreadCheck the status of a Creative Director batch (from generate_creative_director) by its generation_id. Returns overall state (
get_docreadFetch one AI Doc including its full HTML content. Use before editing an existing doc (read → modify →
get_download_statusread
get_fontreadInspect a personal or collection font family by ID, including available styles, scripts, source and collection license.
get_font_upload_statuswritePoll a font upload until ready or failed. Use its font_id only after ready.
get_generation_statusreadCheck the status of one or more generations. Use after a generation tool returned
get_mediareadFetch one media item\
get_media_statsreadGet counts and total storage size of the user\
get_moodboardreadFetch a single moodboard by ID. Returns the full moodboard including master_prompt, style_guide, and all image URLs.
get_music_library_facetsreadList SYNCI genres, moods, instruments, BPM, and duration filters. Returns the most-used values
get_music_track_audioreadGet watermarked preview URLs for a SYNCI track. These URLs are never licensed masters; call acquire_clean_music_track for final use.
get_music_track_lyricsreadGet SYNCI lyrics metadata for a track.
get_music_track_relatedreadGet SYNCI stems and alternate versions metadata. Purchasing stems or alternate versions is not supported.
get_projectreadFetch one project by id including its FULL description (list_projects clips descriptions to ~400 chars). Call this before
get_project_profilereadRead a project\
get_review_assetreadFetch one review asset with all versions, status, and media URLs.
get_review_storage_usagereadGet Kolbo Review storage usage for the API-key owner (5GB cap across all review versions).
get_session_usagereadFetch real, multiplier-adjusted credit spend for the current Kolbo Code app session. Use when the user asks
get_stock_assetreadGet a single normalized stock asset with all downloadable variants, author, license, and attribution, by source + id. Call after search_stock_media to resolve the exact download URLs (incl. WAV master + MP3 for Kolbo SFX/music).
get_stock_categoriesreadList the dynamic category chips for stock sources. For external providers: Pixabay/Sketchfab categories + curated Pexels topics. For Kolbo SFX (source=
get_stock_collectionsreadList Kolbo\
get_stock_sourcesreadList the enabled stock providers and which media types + filters each supports. Call this to know whether a source supports image/video/illustration/vector/3d/music before searching.
get_trendread
get_trend_runwriteCheck a trend run: status (running/completed/failed/cancelled), progress %, and the final output URL when done. Pass wait=true to block until it finishes (up to ~2.5 minutes) instead of polling in a loop.
get_video_editor_schemareadRead the full writable Video Editor schema before advanced edits. Documents every clip, track, caption and session setting, timing units, revision checks and operation semantics.
get_video_editor_sessionreadRead an existing Video Editor timeline: stable track/item IDs, all settings, clips, captions and revision. Always read before updating.
get_video_inspectionreadCheck source preparation, duration, streams, dimensions, source version and limits. Do not poll unchanged status in a tight loop.
get_visual_dnareadFetch a single Visual DNA profile by ID. Returns the full stored description, character attributes, and all reference images. Internal extraction system prompts are not exposed. To fetch a teammate\
import_elevenlabs_voicewriteImport a voice from the ElevenLabs voice library into the user\
import_music_audiowrite
import_music_track_to_librarywriteAcquire one clean SYNCI file and copy it into the Kolbo media library. Charges IMMEDIATELY unless the track is already in the library or already owned.
import_stock_assetwriteCopy a stock asset into the account
inspect_videoread
link_project_assetreadTag an existing Visual DNA or moodboard onto a project\
list_cinematic_presetsreadList Kolbo
list_color_palettesreadList the user\
list_docsreadList the user\
list_fontsreadBrowse My fonts or the curated Font collection using source. Use ready family IDs from either as font_ids; previews are authenticated, not public media.
list_mediareadBrowse the user\
list_media_foldersreadList the user\
list_modelsreadList available AI models on Kolbo. Filter by
list_moodboardsreadList moodboards. Default scope is
list_morphious_stylesreadList Morphious Styles: looks that restyle a WHOLE video (2D toon, painterly 3D, gouache, comic, clay, felt, yarn...). Returns the Kolbo catalog first, then the user\
list_presetsreadResolve a generation preset and pass its exact id as preset_id. ALWAYS pass
list_project_assetsreadList the Visual DNAs and moodboards tagged onto a project\
list_project_contextreadList a project\
list_project_transferswriteList project transfer requests.
list_projectsreadList the user\
list_review_assetsreadList review assets in a project (Frame.io-style client review). Pass
list_review_collectionsreadList review collection folders in a project.
list_review_commentsreadList text comments on a review asset (default: current version media). Optional
list_review_share_linksreadList active share links for a review asset or collection.
list_session_generationsreadList a session\
list_sessionsreadList the user\
list_trend_runsreadList the user\
list_trendswriteBrowse Kolbo Trends: one-click generations with a hidden recipe (e.g. put yourself in a viral clip, turn a photo into an action figure). Includes Motion Library presets (slugs starting
list_video_editor_sessionsreadList saved Video Editor sessions in an accessible project. Paginated; use get_video_editor_session for full timeline data.
list_visual_dna_foldersreadList the user\
list_visual_dna_transferswriteList Visual DNA transfer requests.
list_visual_dnasreadList the user\
list_voicesread
media_upload_widgetwrite
move_folder_contentswriteMove every media item inside a folder to a different project. Caller must own ALL items in the folder AND have access to the target project. Shared folder members cannot use this — only the item owner can move items between projects.
move_generations_to_sessionwriteMove SELECTED generations out of one session and into another EXISTING session — the way to merge scattered work (
move_mediawriteMove a media item to a different project. Caller must own the item AND have access to the target project. Items in shared projects from other members cannot be moved by you. Use this when the user says
move_sessionwriteMove ONE session — and ALL of its generations and media library items — to another project. Works for image, image_edit, video, video_from_image, elements, first_last_frame, lipsync, video_from_video, global_video_edit, music, speech, sound and chat sessions (the
move_visual_dna_to_folderwriteMove a Visual DNA into a folder, or back to root. Personal DNAs only — global presets must be imported first, and organization DNAs cannot go in personal folders. When creating many characters for a project, create a folder first and file each DNA as you go.
permanently_delete_mediadestructivePERMANENTLY delete a media item — removes it from MongoDB, deletes the file from S3, removes from all folders, and deletes the source generation record. NOT REVERSIBLE — there is no recovery flow. Owner only. ALWAYS ask the user to explicitly confirm before calling this; use
prepare_video_inspectionread
publish_html_artifactwrite
regenerate_project_profiledestructiveForce-regenerate a project\
remove_media_from_folderdestructiveRemove one or more media items from a folder. Caller must own the folder or be a shared member. Items themselves remain in the library. Up to 500 items per call.
rename_fontwriteRename a family in My Fonts.
rename_sessionwriteRename a session the user can see in the Kolbo sidebar. Use this to edit a session title in place — never delete and recreate a session just to change its name. Call this immediately after the first generate of a plan bucket so the title matches the production plan (
reply_review_commentreadReply to an existing review comment (one level of threading).
resolve_capture_framewriteExport one frame of the current DaVinci Resolve timeline and save it to the Kolbo media library. The result carries the image
resolve_edit_timelinewrite
resolve_get_command_statusreadRead the state, expires_at and bounded result/error of one DaVinci Resolve command owned by the caller. awaiting_approval is not a polling state: stop and ask the user to approve or deny it in the Kolbo plugin.
resolve_get_projectreadQueue a read-only inspection of the open DaVinci Resolve project: name, timelines, current timeline, frame rate, resolution and playhead. No approval is needed. Returns a command record; poll resolve_get_command_status for the result.
resolve_get_timelinereadQueue a read-only inspection of the current DaVinci Resolve timeline: frame rate, duration, playhead, markers and every clip per video/audio track (track, position, name, start_seconds, end_seconds). No approval is needed. The clip list is truncated to max_clips (default 200).
resolve_import_mediawriteImport one Kolbo media item into the Kolbo.AI bin of the open DaVinci Resolve project\
resolve_list_sessionsreadList the caller\
resolve_review_commentreadMark a review comment thread as resolved.
resolve_run_scriptwriteRun JavaScript against DaVinci Resolve\
respond_project_transferwriteAct on a project transfer request.
respond_visual_dna_transferwriteAct on a Visual DNA transfer request.
restore_mediareadRestore a soft-deleted (trashed) media item back to the user\
restore_sessionreadRestore a session previously removed with
revoke_review_share_linkdestructiveRevoke a guest review share link by link id.
run_trendwrite
search_music_libraryreadSearch the licensed SYNCI catalog — the PAID third-party option.
search_stock_mediareadSearch the Kolbo unified stock media library and return matching assets.
04

Trust audit

BLOCKgrade F · trust 34/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (6 observation(s))
Network
declared (13 observation(s))
Shell
declared (7 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/check-widget-render.js:42
try { new Function(src); }
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/check-widget-render.js:133
new Function('window', 'document', 'setTimeout', 'clearTimeout', 'IntersectionObserver', src)(
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/check-widget-render.js:382
new Function('window', 'document', 'navigator', 'setTimeout', 'clearTimeout', 'IntersectionObserver', 'MutationObserver', fullGenSrc)(
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/check-widget-render.js:770
new Function('window', 'document', src)(window, document);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/smoke.js:589
try { new Function(s); } catch (e) {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
src/tools/_shared.js:119
if (a === 169 && b === 254) return true; // includes 169.254.169.254 cloud metadata
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
src/tools/_shared.js:160
'metadata.google.internal',
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHPrompt injection · prompt.hide_from_user · CWE-94, CWE-1427
skill/references/workflows/adobe.md:23
- "Allow for this session" lives only in the panel's memory and ends on disconnect. Never tell the user it persists and never ask them to enable it for you.
Why it matters. asks the agent to act without the user's knowledge
HIGHPrompt injection · prompt.hide_from_user · CWE-94, CWE-1427
skill/references/workflows/blender.md:43
Trusted mode is off by default, memory-only, visibly indicated in Blender, and cleared on logout or Blender restart. Never tell the user it persists. Never enable it for them through MCP.
Why it matters. asks the agent to act without the user's knowledge
MEDIUMInventory / provenance · inv.binary · CWE-1104
public/fonts/fa-brands-400.eot
fa-brands-400.eot
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
public/fonts/fa-regular-400.eot
fa-regular-400.eot
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
public/fonts/fa-solid-900.eot
fa-solid-900.eot
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
src/tools/artifacts.js:16
'Publish an HTML page (or SVG / Mermaid diagram) to kolbo.ai and return a public shareable URL. Use this when the user explicitly asks to share, publish, or deploy a built artifact so they can send th
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/smoke.js:767
process.env.KOLBO_API_URL = `http://127.0.0.1:${srv.address().port}/api`;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/smoke.js:833
process.env.KOLBO_API_URL = `http://127.0.0.1:${srv.address().port}/api`;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/smoke.js:852
process.env.KOLBO_API_URL = `http://127.0.0.1:${always429.address().port}/api`;
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
scripts/check-submission-contract.js:15
const server = createServer({ apiKey: 'submission-contract-test', apps: true });
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
scripts/check-tool-contract.js:27
apiKey: 'kolbo_live_contract_check',
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
bulk_delete_media, bulk_permanently_delete_media, deactivate_color_palette, delete_color_palette, delete_doc, delete_font, delete_media, delete_media_folder, delete_moodboard, delete_morphious_style,
Why it matters. 28 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWInventory / provenance · inv.suspicious_name · CWE-1104
.github/scan-c2.sh
scan-c2.sh
Why it matters. member named after an attack tool
Fix. remove or justify
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/apps/index.js:76
const v = crypto.createHash('sha1').update(widgetHtml(uri)).digest('hex').slice(0, 10);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/adobe-tools.test.js:107
assert.throws(() => strict('adobe_get_command_status').parse({ command_id: '../../etc' }));
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/flow-tools.test.js:137
const server = createServer({ apiKey: 'flow-test', apiBase: `http://127.0.0.1:${api.address().port}/api`, apps: false });
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/remote-media-runtime.test.js:47
pool.intercept({ path: '/literal' }).reply(302, '', { headers: { location: 'http://127.0.0.1/secret' } });

Gates applied: instruction_override, no_behavioural_pass, no_license.

Audited 2026-10-12 · audit v0.4.1 · source sha 91547ca44843full audit observations/trust-audit/mcp-server/zoharvan12__kolbo-mcp.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-1291547ca44843BLOCKF34first audit
06

Questions

What is the @kolbo/mcp MCP server?

Kolbo AI MCP server — use Kolbo AI as native tools in Claude Code, Cursor, and Claude Desktop

What tools does @kolbo/mcp expose?

200 in total: 119 read-only, 84 that write, and 28 that can delete or overwrite (bulk_delete_media, bulk_permanently_delete_media, deactivate_color_palette, delete_color_palette, delete_doc). Every one is listed on this page with its risk.

Is @kolbo/mcp safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (34/100) and found 9 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 28 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does @kolbo/mcp need?

It reads KOLBO_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does @kolbo/mcp run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as @kolbo/mcp at 1.114.0.

How current is this page?

The grade is for one exact copy of the source (91547ca44843), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement