Skip to content

Magnific

by mcp-dir · remote · no sign-in to list tools · v0.1.0 · published by GitHub user mcp-dir

Magnific in natural language: upscale images, generate and list your creations. Connect your Magnifi

Deletes · 2Final · 1Changes · 42

67 tools: 2 can delete or cancel things, 1 do something that can't be undone, 42 change things and 22 only read.

Scanned Oct 21, 2026

7 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http magnific https://api.mcp.ai/p_magnific

Findings

Matches of fixed checks, with the text they matched.

5 warn2 info
  • The server marks "magnific_folders_delete" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "magnific_folders_delete" says "delete": a word for removing or ending something.

    What this check looks for
  • The server marks "magnific_spaces_run_status" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "magnific_spaces_run_status" says "run": a word for a change.

    What this check looks for
  • The server marks "magnific_spaces_edit_status" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "magnific_spaces_edit_status" says "edit": a word for a change.

    What this check looks for
  • The server marks "magnific_images_remove_background" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "magnific_images_remove_background" says "remove": a word for removing or ending something.

    What this check looks for
  • The server marks "magnific_video_plan" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...nticated:true and empty pending[]. When credentials are missing, returns connect_url for th..."

    What this check looks for
Show 1 more finding
  • The description mentions "credential".

    Matched text

    description: "...ating the tool list. If the MCP needs a credential/login, invoke returns a connect link; i..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

67 tools

Deletes or cancels 2Claude Code: deny
  • magnific_folders_deleteMove a folder and its files to trash.1 finding

    Why it is in this group

    • The name "magnific_folders_delete" says "delete": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "magnific_folders_delete" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "magnific_folders_delete" says "delete": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Move a folder and its files to trash.

    Annotations the server declares

    • title: magnific_folders_delete
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_remove_backgroundCut-out subject on transparent PNG.1 finding

    Why it is in this group

    • The name "magnific_images_remove_background" says "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "magnific_images_remove_background" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "magnific_images_remove_background" says "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Cut-out subject on transparent PNG. Color BG: `images_color_background`. AI scene: `images_generate` with reference + prompt "replace the background with X".

    Annotations the server declares

    • title: magnific_images_remove_background
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Can't be undone 1Claude Code: ask
  • magnific_creations_finalize_uploadStep 2 after PUT from `creations_request_upload`: convert temp path(s) to creations.No findings

    Why it is in this group

    • The name "magnific_creations_finalize_upload" says "finalize": a word for a change that another call does not undo.
    Description, as the server wrote it
    Step 2 after PUT from `creations_request_upload`: convert temp path(s) to creations. Images <=25MB, videos <=200MB.

    Annotations the server declares

    • title: magnific_creations_finalize_upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 42Claude Code: ask
  • authenticateMCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

    Annotations the server declares

    • title: Authenticate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_account_balanceUser plan + credits.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    User plan + credits. Check before paid generations. Returns plan.{tier,productName,isUnlimitedMode}, credits.{available,totalPlan,spent,hasExtraCredits}. No history.

    Annotations the server declares

    • title: magnific_account_balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_audio_music_generateAI music generation.No findings

    Why it is in this group

    • The name "magnific_audio_music_generate" says "generate": a word for a change.
    Description, as the server wrote it
    AI music generation. Google Lyria or ElevenLabs. Pass `prompt`, optional `model`/`durationSeconds`/`instrumental`. Lyria/Lyria-3 produce fixed 30s; Lyria-3-Pro accepts 30–180s; ElevenLabs accepts 10–300s.

    Annotations the server declares

    • title: magnific_audio_music_generate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_audio_ttsTTS voiceover.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    TTS voiceover. Single (voiceId) or 2-speaker (speakers). ElevenLabs/Google. No voiceId? Call `audio_voices_show` first (or `audio_voices_list` for agent-only lookup).

    Annotations the server declares

    • title: magnific_audio_tts
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_creations_commentAdd a comment (or reply) to a user-owned creation.No findings

    Why it is in this group

    • The name "magnific_creations_comment" says "comment": a word for a change.
    Description, as the server wrote it
    Add a comment (or reply) to a user-owned creation.

    Annotations the server declares

    • title: magnific_creations_comment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_creations_likeToggle heart/favorite reaction on a user-owned creation.No findings

    Why it is in this group

    • The description's first verb is "toggle": a word for a change.
    Description, as the server wrote it
    Toggle heart/favorite reaction on a user-owned creation.

    Annotations the server declares

    • title: magnific_creations_like
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_creations_moveMove creations into `targetFolderReference`.No findings

    Why it is in this group

    • The name "magnific_creations_move" says "move": a word for a change.
    Description, as the server wrote it
    Move creations into `targetFolderReference`. Identifiers from `images_generate`/`creations_search`. Foreign identifier → abort. Target folder must belong to user.

    Annotations the server declares

    • title: magnific_creations_move
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_creations_request_uploadStep 1 for local/user files: get presigned PUT URL(s).No findings

    Why it is in this group

    • The name "magnific_creations_request_upload" says "request": a word for a change.
    Description, as the server wrote it
    Step 1 for local/user files: get presigned PUT URL(s). Upload bytes outside MCP, then call `creations_finalize_upload`.

    Annotations the server declares

    • title: magnific_creations_request_upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_creations_upload_fileImport a file the user attached in the host (e.g.No findings

    Why it is in this group

    • The name "magnific_creations_upload_file" says "upload": a word for a change.
    Description, as the server wrote it
    Import a file the user attached in the host (e.g. a ChatGPT upload) as a creation, then use the returned identifier in image tools. Use this instead of asking for a URL when the user already uploaded a local file. For a public URL use `creations_upload_image`.

    Annotations the server declares

    • title: magnific_creations_upload_file
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_creations_upload_imageUpload public image URL in one step.No findings

    Why it is in this group

    • The name "magnific_creations_upload_image" says "upload": a word for a change.
    Description, as the server wrote it
    Upload public image URL in one step. For local/user files use `creations_request_upload` then `creations_finalize_upload`.

    Annotations the server declares

    • title: magnific_creations_upload_image
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_design_auto_layersExtract editable layers from a flat image into a Pikaso design.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Extract editable layers from a flat image into a Pikaso design.

    Annotations the server declares

    • title: magnific_design_auto_layers
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_design_auto_resizeCreate resized design pages from an image.No findings

    Why it is in this group

    • The name "magnific_design_auto_resize" says "resize": a word for a change.
    Description, as the server wrote it
    Create resized design pages from an image. Use directly when ratios/social formats are known; otherwise show `design_auto_resize_show`.

    Annotations the server declares

    • title: magnific_design_auto_resize
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_flows_runRun flow.No findings

    Why it is in this group

    • The name "magnific_flows_run" says "run": a word for a change.
    Description, as the server wrote it
    Run flow. `flows_get` first for input specs. `inputs` is `{inputId: value}` (creation inputs from `creations_list`, voices from `audio_voices_show`). Returns `workflowRunIdentifier` → `flows_wait` → `creations_show`.

    Annotations the server declares

    • title: magnific_flows_run
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_folders_createCreate folder/project.No findings

    Why it is in this group

    • The name "magnific_folders_create" says "create": a word for a change.
    Description, as the server wrote it
    Create folder/project. No `parentReference`: workspace root. `type` defaults: project at root, folder when nested.

    Annotations the server declares

    • title: magnific_folders_create
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_folders_renameRename a folder by `reference`.No findings

    Why it is in this group

    • The name "magnific_folders_rename" says "rename": a word for a change.
    Description, as the server wrote it
    Rename a folder by `reference`.

    Annotations the server declares

    • title: magnific_folders_rename
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_change_cameraReframe camera around subject.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Reframe camera around subject. Defaults: rotate=45, vertical=0, closeup=5.

    Annotations the server declares

    • title: magnific_images_change_camera
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_cropCenter-crop to `aspectRatio`.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Center-crop to `aspectRatio`. Pixels: `images_resize`. AI upscale: `images_upscale`. Ratios: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9.

    Annotations the server declares

    • title: magnific_images_crop
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_generateGenerate/edit images.No findings

    Why it is in this group

    • The name "magnific_images_generate" says "generate": a word for a change.
    Description, as the server wrote it
    Generate/edit images. No refs=TTI. references[] (max 12; see field docs). Defaults: mode=auto, ratio=1:1, count<=8. resolution/quality per images_models_list. UI clients: after generating, MUST call `creations_show` with all identifiers; never stop at links.

    Annotations the server declares

    • title: magnific_images_generate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_generate_svgText-to-SVG (Recraft v4 Pro Vector).No findings

    Why it is in this group

    • The name "magnific_images_generate_svg" says "generate": a word for a change.
    Description, as the server wrote it
    Text-to-SVG (Recraft v4 Pro Vector). Raster: `images_generate`. Trace existing raster: `images_to_svg`. Default aspectRatio=1:1.

    Annotations the server declares

    • title: magnific_images_generate_svg
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_relightAI relight.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    AI relight. 1-4 lights with azimuth/elevation enums, type neutral|gel, intensity 1-10. Gel uses hex `color`.

    Annotations the server declares

    • title: magnific_images_relight
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_resizeResize to exact pixels (no AI).No findings

    Why it is in this group

    • The name "magnific_images_resize" says "resize": a word for a change.
    Description, as the server wrote it
    Resize to exact pixels (no AI). For real detail upscaling: `images_upscale` first. Aspect: `images_crop`. Dimensions snap to multiples of 8; center-crop on aspect mismatch.

    Annotations the server declares

    • title: magnific_images_resize
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_skin_enhancerAI skin enhancer.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    AI skin enhancer. faithful preserves identity; creative reinterprets; flexible uses presets. Defaults: faithful, sharpen=0, smartGrain=0.

    Annotations the server declares

    • title: magnific_images_skin_enhancer
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_to_svgTrace raster creation into SVG.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Trace raster creation into SVG. New vector from prompt: `images_generate_svg`.

    Annotations the server declares

    • title: magnific_images_to_svg
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_upscaleAI upscale 2x/4x (Magnific, premium).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    AI upscale 2x/4x (Magnific, premium). Exact pixels: `images_resize`. Aspect: `images_crop`. Default scale=2.

    Annotations the server declares

    • title: magnific_images_upscale
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_images_variationsGenerate image-variation grid.No findings

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    Description, as the server wrote it
    Generate image-variation grid. Modes: angles|demographics|expressions|age|storyboard|custom. Defaults: angles, 3x3, 1:1, 4k.

    Annotations the server declares

    • title: magnific_images_variations
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_library_createCreate a reusable library asset (character/product/location) from 1-6 images.No findings

    Why it is in this group

    • The name "magnific_library_create" says "create": a word for a change.
    Description, as the server wrote it
    Create a reusable library asset (character/product/location) from 1-6 images. Use the returned numeric `id` in generation refs (same id Spaces uses). No LoRA training.

    Annotations the server declares

    • title: magnific_library_create
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_models3d_generateImage-to-3D GLB.No findings

    Why it is in this group

    • The name "magnific_models3d_generate" says "generate": a word for a change.
    Description, as the server wrote it
    Image-to-3D GLB. Upload external images first. Animate with `models3d_rig`. Models: tripo-p1 default, tripo-v31, trellis-2.

    Annotations the server declares

    • title: magnific_models3d_generate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_project_reportEnglish markdown status report for a project/folder.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    English markdown status report for a project/folder. Last 7 days default, max 30.

    Annotations the server declares

    • title: magnific_project_report
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_spaces_createCreate empty Space.No findings

    Why it is in this group

    • The name "magnific_spaces_create" says "create": a word for a change.
    Description, as the server wrote it
    Create empty Space. Share `space.webUrl`; only call `spaces_show` when inline preview is requested.

    Annotations the server declares

    • title: magnific_spaces_create
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_spaces_editExternal MCP only.No findings

    Why it is in this group

    • The name "magnific_spaces_edit" says "edit": a word for a change.
    Description, as the server wrote it
    External MCP only. Start headless Space edit. Poll `spaces_edit_status` until allTerminal, then verify with `spaces_state`.

    Annotations the server declares

    • title: magnific_spaces_edit
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_spaces_edit_statusWait for `spaces_edit` like `creations_wait`: long-polls up to `timeoutSeconds` (default 25, max 25).1 finding

    Why it is in this group

    • The name "magnific_spaces_edit_status" says "edit": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "magnific_spaces_edit_status" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "magnific_spaces_edit_status" says "edit": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Wait for `spaces_edit` like `creations_wait`: long-polls up to `timeoutSeconds` (default 25, max 25). Snapshot-only when 0. Terminal → `spaces_state`.

    Annotations the server declares

    • title: magnific_spaces_edit_status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_spaces_runRun Space workflow from `startNodeId`.No findings

    Why it is in this group

    • The name "magnific_spaces_run" says "run": a word for a change.
    Description, as the server wrote it
    Run Space workflow from `startNodeId`. Modes: singular, connected default, downstream. Poll with `spaces_run_status`.

    Annotations the server declares

    • title: magnific_spaces_run
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_spaces_run_statusPoll `spaces_run`.1 finding

    Why it is in this group

    • The name "magnific_spaces_run_status" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "magnific_spaces_run_status" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "magnific_spaces_run_status" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Poll `spaces_run`. `timeoutSeconds` long-polls up to 25s. In-progress returns `poll_after_seconds`; terminal call `creations_show`.

    Annotations the server declares

    • title: magnific_spaces_run_status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_stock_downloadSigned download URL for a stock item.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Signed download URL for a stock item. Pass folder_reference to also save as a creation (rate-limited). Bulk support: accepts ids for batched execution.

    Annotations the server declares

    • title: magnific_stock_download
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_stock_to_creationConvert Freepik stock item → Pikaso creation.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert Freepik stock item → Pikaso creation. Use after user selects from stock_show. Bulk support: accepts ids for batched execution.

    Annotations the server declares

    • title: magnific_stock_to_creation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_video_concatenateConcatenate completed video creations into one MP4.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Concatenate completed video creations into one MP4. Assembles multi-clip plans from `video_plan`. Audio from each clip; no external audio bed. Returns queued creation.

    Annotations the server declares

    • title: magnific_video_concatenate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_video_generateGenerate video.No findings

    Why it is in this group

    • The name "magnific_video_generate" says "generate": a word for a change.
    Description, as the server wrote it
    Generate video. External clients: call `video_plan` first to draft the brief and resolve model choice — skip only if the user explicitly says "just generate" or "one-shot". Pick a model with `slug` (copy it verbatim from `video_models_list`); omit `slug` for auto-select. Image refs: use an asset URL or a creation `identifier`; never `webUrl`. Limits: `video_models_list`. On UI-capable clients, after generating you MUST call `creations_show` once with all returned identifiers to render results; never stop at links.

    Annotations the server declares

    • title: magnific_video_generate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_video_planCall FIRST for any video request.1 finding

    Why it is in this group

    • The description's first verb is "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "magnific_video_plan" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Call FIRST for any video request. Returns markdown plan: brief, open questions, characters to prepare, recommended model slug, prompt draft. Videos >15s: plan splits into clips + `video_concatenate` instructions.

    Annotations the server declares

    • title: magnific_video_plan
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_video_speakMake a character speak.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Make a character speak. Image+audio → talking head (Veed Fabric 1.0). Video+audio → lip sync (Lipsync 2.0). Omit `mode` for auto. Pass asset URLs or a creation `identifier` (from `audio_tts`, `images_generate`, `video_generate`). Then call `creations_show`.

    Annotations the server declares

    • title: magnific_video_speak
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • magnific_video_upscaleUpscale video via Topaz or Magnific.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Upscale video via Topaz or Magnific. Pass `creationIdentifier` or Freepik `videoUrl`. Params: `video_upscale_models_list`. Then call `creations_show`.

    Annotations the server declares

    • title: magnific_video_upscale
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • marketplaceThe official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...ating the tool list. If the MCP needs a credential/login, invoke returns a connect link; i..."

      What this check looks for
    Description, as the server wrote it
    The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

    Annotations the server declares

    • title: Marketplace
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • report_bugReport a bug, missing feature, or send feedback.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

    Annotations the server declares

    • title: Report Bug
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 22Claude Code: allow
  • connectReturns connection status and URLs.1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...nticated:true and empty pending[]. When credentials are missing, returns connect_url for th..."

      What this check looks for
    Description, as the server wrote it
    Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

    Annotations the server declares

    • title: Connection Status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_audio_voices_listTTS voice catalog as raw TOON text, no UI.No findings

    Why it is in this group

    • The name "magnific_audio_voices_list" says "list": a word for reading.
    Description, as the server wrote it
    TTS voice catalog as raw TOON text, no UI. Lean entries without preview URLs. Optional `search` filters by name, description, gender, or language.

    Annotations the server declares

    • title: magnific_audio_voices_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_creations_getSingle creation complete data — metadata + URLs (`url` full-res, `previewUrl` ~1024px, `thumbnailUrl` ~400px).No findings

    Why it is in this group

    • The name "magnific_creations_get" says "get": a word for reading.
    Description, as the server wrote it
    Single creation complete data — metadata + URLs (`url` full-res, `previewUrl` ~1024px, `thumbnailUrl` ~400px).

    Annotations the server declares

    • title: magnific_creations_get
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_creations_listFilterable gallery widget (image/video/audio).No findings

    Why it is in this group

    • The name "magnific_creations_list" says "list": a word for reading.
    Description, as the server wrote it
    Filterable gallery widget (image/video/audio). Use instead of `creations_search` when user wants to browse their library.

    Annotations the server declares

    • title: magnific_creations_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_creations_waitLong-poll 1..8 creations until terminal or `timeoutSeconds` (default 25, max 25).No findings

    Why it is in this group

    • The name "magnific_creations_wait" says "wait": a word for reading.
    Description, as the server wrote it
    Long-poll 1..8 creations until terminal or `timeoutSeconds` (default 25, max 25). In-progress entries get `poll_after_seconds` for the next call.

    Annotations the server declares

    • title: magnific_creations_wait
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_flows_getFlow input/output spec as raw TOON text.No findings

    Why it is in this group

    • The name "magnific_flows_get" says "get": a word for reading.
    Description, as the server wrote it
    Flow input/output spec as raw TOON text. Each input includes a normalized `kind`, `howToProvide`, and resolved `options`/`presetOptions` where applicable. Call before `flows_run`.

    Annotations the server declares

    • title: magnific_flows_get
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_flows_listFlows catalog as raw TOON text, no UI.No findings

    Why it is in this group

    • The name "magnific_flows_list" says "list": a word for reading.
    Description, as the server wrote it
    Flows catalog as raw TOON text, no UI. Lean entries without preview URLs. For an inline picker use flows_show; for a single flow input/output spec use flows_get.

    Annotations the server declares

    • title: magnific_flows_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_flows_waitLong-poll a `flows_run`.No findings

    Why it is in this group

    • The name "magnific_flows_wait" says "wait": a word for reading.
    Description, as the server wrote it
    Long-poll a `flows_run`. Terminal: one entry per output creation with real `identifier` for `creations_show`. In-progress: `poll_after_seconds`.

    Annotations the server declares

    • title: magnific_flows_wait
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_folders_getFetch folder metadata by `reference`.No findings

    Why it is in this group

    • The name "magnific_folders_get" says "get": a word for reading.
    Description, as the server wrote it
    Fetch folder metadata by `reference`. Use before `creations_search` (`from=folder`). Foreign refs error.

    Annotations the server declares

    • title: magnific_folders_get
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_folders_listList folders/projects as raw TOON text.No findings

    Why it is in this group

    • The name "magnific_folders_list" says "list": a word for reading.
    Description, as the server wrote it
    List folders/projects as raw TOON text. No params=top level; `onlyProjects`=projects; `parentReference`=children. Refs work with creations/folder tools.

    Annotations the server declares

    • title: magnific_folders_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_images_models_listTTI model catalog as lean TOON text.No findings

    Why it is in this group

    • The name "magnific_images_models_list" says "list": a word for reading.
    Description, as the server wrote it
    TTI model catalog as lean TOON text. `search` filters by name, slug, description, or tags.

    Annotations the server declares

    • title: magnific_images_models_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_library_listLean library catalog (characters, styles, elements, locations) for agent reasoning.No findings

    Why it is in this group

    • The name "magnific_library_list" says "list": a word for reading.
    Description, as the server wrote it
    Lean library catalog (characters, styles, elements, locations) for agent reasoning. Picker assets use library://.

    Annotations the server declares

    • title: magnific_library_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_spaces_get_nodesRead-only.No findings

    Why it is in this group

    • The name "magnific_spaces_get_nodes" says "get": a word for reading.
    Description, as the server wrote it
    Read-only. Like `spaces_state` but scoped to `nodeIds` + their connections. Cheaper than full board. Needs view perm.

    Annotations the server declares

    • title: magnific_spaces_get_nodes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_spaces_listLean spaces catalog as raw TOON text.No findings

    Why it is in this group

    • The name "magnific_spaces_list" says "list": a word for reading.
    Description, as the server wrote it
    Lean spaces catalog as raw TOON text. Share each `webUrl`; call `spaces_show` only for inline canvas preview. Do not use `creations_search`.

    Annotations the server declares

    • title: magnific_spaces_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_spaces_stateRead-only board context, raw TOON.No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Read-only board context, raw TOON. Default: current page + pageIndex (other pages, counts). pageId: another page on demand. scope=all: whole board (costly). selectedElementIds: selected nodes. Needs view perm.

    Annotations the server declares

    • title: magnific_spaces_state
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_stock_getFull details for a single Freepik stock item: preview URL, dimensions, formats, author.No findings

    Why it is in this group

    • The name "magnific_stock_get" says "get": a word for reading.
    Description, as the server wrote it
    Full details for a single Freepik stock item: preview URL, dimensions, formats, author. Bulk support: accepts ids for batched execution.

    Annotations the server declares

    • title: magnific_stock_get
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_video_models_listVideo-gen model catalog as lean TOON text.No findings

    Why it is in this group

    • The name "magnific_video_models_list" says "list": a word for reading.
    Description, as the server wrote it
    Video-gen model catalog as lean TOON text. `search` filters by name, slug, description, or tags. Run `video_plan` first — plan resolves slug to validate here.

    Annotations the server declares

    • title: magnific_video_models_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • magnific_video_upscale_models_listVideo upscale mode catalog as raw TOON text (topaz, magnific, magnific_precision) with required/optional params, ranges and enums.No findings

    Why it is in this group

    • The name "magnific_video_upscale_models_list" says "list": a word for reading.
    Description, as the server wrote it
    Video upscale mode catalog as raw TOON text (topaz, magnific, magnific_precision) with required/optional params, ranges and enums. Read before calling `video_upscale`.

    Annotations the server declares

    • title: magnific_video_upscale_models_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • show_versionShow the current MCP platform and adapter versions.No findings

    Why it is in this group

    • The name "show_version" says "show": a word for reading.
    Description, as the server wrote it
    Show the current MCP platform and adapter versions.

    Annotations the server declares

    • title: Show Version
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • toolkit_infoReturns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

    Annotations the server declares

    • title: Toolkit Info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http magnific https://api.mcp.ai/p_magnific

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__magnific__magnific_creations_wait",
      "mcp__magnific__magnific_creations_get",
      "mcp__magnific__magnific_creations_search",
      "mcp__magnific__magnific_creations_list",
      "mcp__magnific__magnific_folders_list",
      "mcp__magnific__magnific_folders_get",
      "mcp__magnific__magnific_spaces_list",
      "mcp__magnific__magnific_spaces_state",
      "mcp__magnific__magnific_spaces_get_nodes",
      "mcp__magnific__magnific_images_models_list",
      "mcp__magnific__magnific_library_list",
      "mcp__magnific__magnific_video_models_list",
      "mcp__magnific__magnific_video_upscale_models_list",
      "mcp__magnific__magnific_audio_voices_list",
      "mcp__magnific__magnific_flows_list",
      "mcp__magnific__magnific_flows_get",
      "mcp__magnific__magnific_flows_wait",
      "mcp__magnific__magnific_stock_search",
      "mcp__magnific__magnific_stock_get",
      "mcp__magnific__show_version",
      "mcp__magnific__connect",
      "mcp__magnific__toolkit_info"
    ],
    "ask": [
      "mcp__magnific__magnific_account_balance",
      "mcp__magnific__magnific_creations_request_upload",
      "mcp__magnific__magnific_creations_finalize_upload",
      "mcp__magnific__magnific_creations_upload_image",
      "mcp__magnific__magnific_creations_upload_file",
      "mcp__magnific__magnific_creations_move",
      "mcp__magnific__magnific_creations_like",
      "mcp__magnific__magnific_creations_comment",
      "mcp__magnific__magnific_folders_create",
      "mcp__magnific__magnific_folders_rename",
      "mcp__magnific__magnific_project_report",
      "mcp__magnific__magnific_spaces_create",
      "mcp__magnific__magnific_spaces_run",
      "mcp__magnific__magnific_spaces_run_status",
      "mcp__magnific__magnific_spaces_edit",
      "mcp__magnific__magnific_spaces_edit_status",
      "mcp__magnific__magnific_images_generate",
      "mcp__magnific__magnific_images_upscale",
      "mcp__magnific__magnific_images_skin_enhancer",
      "mcp__magnific__magnific_images_relight",
      "mcp__magnific__magnific_images_change_camera",
      "mcp__magnific__magnific_images_variations",
      "mcp__magnific__magnific_images_crop",
      "mcp__magnific__magnific_images_resize",
      "mcp__magnific__magnific_images_to_svg",
      "mcp__magnific__magnific_images_generate_svg",
      "mcp__magnific__magnific_library_create",
      "mcp__magnific__magnific_models3d_generate",
      "mcp__magnific__magnific_video_plan",
      "mcp__magnific__magnific_video_generate",
      "mcp__magnific__magnific_video_upscale",
      "mcp__magnific__magnific_video_concatenate",
      "mcp__magnific__magnific_video_speak",
      "mcp__magnific__magnific_audio_tts",
      "mcp__magnific__magnific_audio_music_generate",
      "mcp__magnific__magnific_design_auto_resize",
      "mcp__magnific__magnific_design_auto_layers",
      "mcp__magnific__magnific_flows_run",
      "mcp__magnific__magnific_stock_download",
      "mcp__magnific__magnific_stock_to_creation",
      "mcp__magnific__report_bug",
      "mcp__magnific__marketplace",
      "mcp__magnific__authenticate"
    ],
    "deny": [
      "mcp__magnific__magnific_folders_delete",
      "mcp__magnific__magnific_images_remove_background"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as magnific. Review it before you use it.