Skip to main content
Glama

Server Details

Connect CNAPS Studio to Claude or ChatGPT, then just say what you want. "Upscale this photo 4x" or "remove the background and make it a short video". It picks the models, builds the flow, runs it, and gives you the file back in the same chat.

80+ AI models and 80+ tools for image, video and audio. Sign in with your CNAPS account (OAuth), no API key needed. n8n and Zapier work too.

Setup guide: https://docs.cnaps.ai/ai-assistant

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4/5.0

Scored across 36 tools

Disambiguation4/5

Most tools are cleanly separated by resource and action (flow CRUD, batch, models, community, cards, templates, account). The densest overlap is around flow planning — suggest_flow, find_compatible_models, preview_flow, and create_flow all address 'which models and wiring should this flow use' — and get_model vs get_model_parameters could blur, though the descriptions draw usable distinctions. No two tools appear to do the same thing outright.

Naming Consistency5/5

All names use snake_case with a leading verb (get_, list_, create_, update_, edit_, delete_, run_, cancel_, fork_, search_, mark_, report_, suggest_, diagnose_, find_, preview_, restore_, duplicate_, optimize_). The pattern holds across every tool including batch and notification operations. Minor verb variety (edit vs update) reflects real functional separation rather than naming inconsistency.

Tool Count3/5

36 tools is heavy, though the server genuinely spans several domains (flow lifecycle, model catalog, community, cards, templates, files, account/notifications, batch). Some consolidation is plausible — get_model and get_model_parameters, get_me/get_workspace_info/get_usage, and the three fork_* tools could be tightened. It is borderline rather than absurd for the breadth of the platform.

Completeness4/5

Flow lifecycle coverage is strong: create, edit structure, update parameters, preview, run, cancel, duplicate, trash/restore, optimize, diagnose, plus batching with status polling. The main gaps are social/community lifecycle items — no update or delete for community posts, no comments — and batch runs cannot be cancelled or deleted. These are workaroundable but leave the surface slightly uneven.

Publisher details

Operator
CNAPS.AI, Inc. · Publisher source
Vendor relationship
First-party
Trust center
Not available
Restrictions
Requires a CNAPS account (free sign-up) and OAuth sign-in. Model runs use credits from your CNAPS plan.

Available Tools

36 tools
cancel_flowA
DestructiveIdempotent
Inspect

Cancel a currently running flow. Sends a stop signal — the flow will stop after completing the current processing step. Use get_flow(view="status") to confirm it has stopped. A node whose wait.phase is "queued" is waiting its turn, not stuck: cancelling and running again only puts it at the back of the line.

Inputs: flow_id (required).

create_community_postAInspect

Publish one of your flows to the cnaps.ai community. Creates a community post with a snapshot of the flow. Others can then discover and fork your flow. Requires a source_flow_id (from list_flows) and a title. A fork copies an input node's value only when that node's include_in_fork is on (get_flow shows it per input node): text inputs are on by default, image, video, audio and file inputs are off, so forkers get those inputs empty. To let forkers run your example media straight away, set include_in_fork=true on those input nodes with update_flow before publishing — the post keeps the snapshot taken now, so a later change needs a new post.

Inputs: title (required), source_flow_id (required), tags, content, +1 more.

create_flowAInspect

Create a flow. Provide the models in order — input/output nodes and connections are generated automatically by matching output→input port types, and the original input is shared (fan-out) when several models need it. Set run=true to start it immediately in the same call.

Inputs: nodes (required), run, name, parameters, +3 more.

delete_flowA
DestructiveIdempotent
Inspect

Move a flow to trash. It can be restored from the trash within 30 days; after that it is permanently deleted.

Inputs: flow_id (required).

diagnose_errorA
Read-onlyIdempotent
Inspect

Analyze a failed flow run and suggest fixes. Provide the flow_id of a failed flow. Returns root cause analysis, the specific failing node, a concrete fix suggestion (e.g. insert a Resize node, change a parameter), and confidence level. Use this whenever get_flow(view="status") shows a failed node.

Inputs: flow_id (required), error_context.

duplicate_flowAInspect

Duplicate an existing flow. Creates a deep copy with fresh state (no results). Use this to copy a flow and then modify it with update_flow, instead of recreating from scratch.

Inputs: flow_id (required), name.

edit_flowA
Destructive
Inspect

Change the STRUCTURE of an existing flow in place: add or remove nodes, swap the model on a node, and connect or disconnect ports. This is the tool for "add an upscaler to this flow", "use a different model here", "rewire this" — do NOT create a new flow to modify one that already exists (update_flow only changes name, tags and node parameters). All operations in one call are applied together: either every one lands or none does. Read the flow with get_flow first to get node IDs, and get_model for port layouts before wiring.

Inputs: flow_id (required), operations (required).

find_compatible_modelsA
Read-onlyIdempotent
Inspect

Find models that can connect to a given model in a flow. Use 'downstream' to find models whose inputs match this model's outputs (what can come AFTER). Use 'upstream' to find models whose outputs match this model's inputs (what can come BEFORE). Returns compatible models sorted by number of matching ports. Use this BEFORE creating a flow to ensure models can be wired together.

Inputs: model_id (required), direction.

fork_cardAInspect

Copy a home-page card into the user's workspace as a flow, ready to run. Returns flow_id, the inputs to fill (each with the node_id run_flow keys its inputs by) and the settings the card lets you change. Then upload_file → run_flow(flow_id, inputs) → get_flow(view="status", wait_seconds=20). The flow appears in the user's flow list, so it can also be opened and edited in Studio. Get card_id from search_cards.

Inputs: card_id (required), lang.

fork_community_flowAInspect

Fork (copy) a community flow into your workspace. After forking, the flow is yours — you can run it with run_flow, modify it, or use it as a starting point. Get post_id from search_community results.

Inputs: post_id (required).

fork_templateAInspect

Fork (copy) a flow template into your workspace. After forking, you can run it with run_flow.

Inputs: template_id (required).

get_batch_statusA
Read-onlyIdempotent
Inspect

Check the status of a batch run. Returns progress and output file URLs when completed.

Inputs: batch_run_id (required).

get_community_postA
Read-onlyIdempotent
Inspect

Get detailed information about a community post, including title, content, tags, input/output types, and engagement stats. Use this to preview a post before forking it.

Inputs: post_id (required).

get_flowA
Read-onlyIdempotent
Inspect

Read a flow. Pick the view that answers the question: 'detail' (default) for the raw nodes, connections and parameters — use this to discover node IDs; 'summary' for a plain-language description of what the flow does; 'status' for execution state and output file URLs — a running node's wait.phase tells queued (waiting for a GPU, with jobs ahead) from loading_model, starting, generating and finishing; 'validation' for pre-run problems (trashed, running, missing inputs, disconnected nodes). To follow a run, call view='status' with wait_seconds=20: the call returns as soon as the run ends, or after 20 seconds with the run still going — then call it again. No need to sleep between calls.

Inputs: flow_id (required), view, wait_seconds.

get_meA
Read-onlyIdempotent
Inspect

Get your user profile information (ID, email, name).

Inputs: no named parameters.

get_modelA
Read-onlyIdempotent
Inspect

Get detailed information about a specific AI model, including its inputs, outputs, parameters, and plan requirements.

Inputs: model_id (required).

get_model_parametersA
Read-onlyIdempotent
Inspect

Get the configurable parameters schema for a specific AI model. Use this to understand what settings can be adjusted when creating a flow with this model.

Inputs: model_id (required).

get_notificationsA
Read-onlyIdempotent
Inspect

Get your notifications (community activity, workspace, run results, billing and system notices), along with the unread count. Returns cursor-paginated results — use next_cursor from the response for subsequent pages.

Inputs: cursor.

get_usageA
Read-onlyIdempotent
Inspect

Get GPU usage for your workspace. Shows usage percentage, plan limits, and reset schedule. Timestamps are unix milliseconds. The credit window is a rolling one that starts when credits are spent, not a fixed clock schedule, so next_reset_at and last_reset_at are absent whenever no window is running — before the first spend and again after each window expires. In that case reset_hint explains the state; report it rather than inventing a reset time.

Inputs: no named parameters.

get_workspace_infoA
Read-onlyIdempotent
Inspect

Get information about your current workspace, including subscription plan, member count, and seats.

Inputs: no named parameters.

list_flowsA
Read-onlyIdempotent
Inspect

List AI flows in your workspace. Returns flow names, statuses, and metadata with pagination.

Inputs: page, state, search.

list_llm_providersA
Read-onlyIdempotent
Inspect

List available LLM providers and whether your workspace has configured API keys for them. Configured providers enable external model nodes in flows.

Inputs: no named parameters.

list_modelsA
Read-onlyIdempotent
Inspect

List available AI models on cnaps.ai with optional filters. Returns model names, types, input/output port types, and accessibility. Use filters to narrow results instead of browsing all models.

Inputs: tag, category, input_type, output_type, +1 more.

list_templatesA
Read-onlyIdempotent
Inspect

List curated flow templates on cnaps.ai. Templates are pre-built, tested flows for common tasks. Fork a template with fork_template to use it.

Inputs: no named parameters.

mark_notifications_readA
Idempotent
Inspect

Mark notifications as read. Pass notification_id for one; omit it to mark them all.

Inputs: notification_id.

optimize_flowA
Read-onlyIdempotent
Inspect

Analyze a flow for performance and cost optimization opportunities. Returns rule-based suggestions such as moving upscale nodes to the end of the flow, avoiding resolution overflow, removing redundant processing, and choosing better-performing models. Each suggestion carries a structured patch (move_node, insert_node, replace_model) describing the change. Apply them with edit_flow on the same flow — replace_model maps to its replace_model op, insert_node to add_node plus the connect/disconnect that splice it in. move_node is layout only and needs no edit. Applying a suggestion never requires creating a new flow. update_flow changes node parameters only. Use this before running a flow or while iterating on its design. Set include_llm_analysis=true to also ask Haiku for complex-pattern refinements.

Inputs: flow_id (required), language, include_llm_analysis.

preview_flowA
Read-onlyIdempotent
Inspect

Check whether a flow can be wired together, and see what create_flow would produce — without creating anything. Returns compatibility, per-model wiring, required inputs and final outputs, plus the node structure and connections. Takes the same nodes and connections arguments as create_flow, so a hand-wired graph can be checked before it is created: a port-type mismatch comes back with the model's real port layout instead of a failed create.

Inputs: nodes (required), connections, include_optional.

report_issueAInspect

Report a tool failure or confusion to the cnaps.ai team. Use this when you encounter persistent errors, unclear documentation, or missing features. Reports are stored and analyzed to improve the platform.

Inputs: tool_name (required), error_message (required), category, severity, +8 more.

restore_flowA
Idempotent
Inspect

Restore a flow from trash back to active state. Flows stay in the trash for 30 days, then are permanently deleted. Use list_flows with state='trashed' to find trashed flows.

Inputs: flow_id (required).

run_batchAInspect

Run a flow in batch mode with multiple input file sets. Each input node receives an array of file URLs (uploaded via upload_file). Returns a batch_run_id to track progress. Batch runs need the Starter plan or above, and the plan caps the input sets per batch. Every node runs for every input set, so result locks (update_flow locked) do not apply here.

Inputs: inputs (required), flow_id (required).

run_flowAInspect

Execute a flow. It runs asynchronously — call get_flow(view="status", wait_seconds=20), which answers when the run ends, until it completes. For flows with input nodes, provide file URLs (from upload_file) via the inputs parameter. This runs the flow ONCE; use run_batch for multiple input sets. On a re-run, nodes whose inputs and parameters are unchanged keep their results, except ones that come out different every time (LLM and API models, random seeds), which run again — unless locked: lock the finished results to keep with update_flow (locked=true) first, so only the rest are regenerated.

Inputs: flow_id (required), inputs.

search_cardsA
Read-onlyIdempotent
Inspect

Search the ready-made cards on the cnaps.ai home page — flows the cnaps.ai team built, tested and published for common tasks (remove a background, restore a photo, make an ad video…). Check here FIRST when the user describes a task: a card that fits is better than building a flow from models. Matches words in any language against every card's title and description, rarer words and title words counting more. cards holds the closest few matches in full; other_cards lists more by title only, closest first, and when the matches cover only some of your words it lists every other card too — read their titles. When nothing matches, cards is every card by title (matched=false) so you can pick one by meaning. Pass a card id as query to get that card's details. Run a card with fork_card.

Inputs: lang, query, input_type, output_type.

search_communityA
Read-onlyIdempotent
Inspect

Search community-shared AI flows on cnaps.ai. Find flows by keyword, input/output modality, or tags — or pass none of them to browse in sort order. Use this to discover existing flows before creating new ones. Returns post IDs that can be forked with fork_community_flow.

Inputs: sort, tags, query, cursor, +2 more.

suggest_flowA
Read-onlyIdempotent
Inspect

RECOMMENDED FIRST STEP for any image/video/text processing request. Ask it which model or models to use — it answers for a single step and a multi-step chain alike, since a one-model flow is just a flow. Understands natural language (English, Korean, and more) and returns models in order, with parameter recommendations and wiring. Use this BEFORE list_models — it handles parameter inference (e.g. '4K' → scale_factor=4) and model selection automatically. Pass the result straight to create_flow.

Inputs: task (required), input_type, output_type.

update_flowA
DestructiveIdempotent
Inspect

Change an existing flow: rename it, replace its tags, and/or update node parameters. Provide any combination — one call can do all three. Node parameters are merged with existing values, so specify only what changes; tags replace the existing set. Cannot update a flow that is currently running. This tool does NOT change the graph: to add or remove a node, swap a node's model, or rewire ports, use edit_flow — never create a new flow to restructure an existing one.

Inputs: flow_id (required), name, tags, node_updates.

upload_fileAInspect

Get a file into cnaps.ai so a flow can use it. Handles images, video, audio and text (png, jpg, webp, avif, RAW / mp4, mov, webm, mpeg, avi, flv, wmv, 3gp / wav, mp3, m4a, aac, ogg, flac / txt). TIFF is stored as PNG either way; HEIC (iPhone photos) only through the upload link, which stores it as JPG. Two ways in, chosen by what you pass: (1) The user gave a public HTTP/HTTPS URL → pass file_url and it is registered directly. (2) The files are on the user's machine → pass nothing, and you get back an upload link to show them; then call again with the returned token to wait for the upload and get the URLs. One link takes multiple files — up to 20 files per link, dropped together or a few at a time — so make ONE link for several files, not one per file. A link is used up once the user presses Upload. You CANNOT send bytes from the chat through MCP — even if you can see the image or video, use the link flow. Returns URLs usable in create_flow input_files or run_flow inputs.

Inputs: token, file_url, filename.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables generating AI videos, images, audio, and staged story episodes directly from Claude, ChatGPT, Cursor, Grok, or any MCP client, with 61 tools covering model catalogs, generation jobs, and media transforms such as upscaling, lipsync, motion control, and video editing. Hosted over Streamable HTTP with OAuth sign-in, so no API key or local installation is required.
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables Claude Code, Cursor, Codex and other MCP clients to generate and edit images and videos directly in a project using AI subscriptions the user already pays for, without API keys or extra billing. Also provides local media tools such as background removal, video editing for social formats, and automatic resizing and optimization of results.
      25
      Apache 2.0
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources