IntegrationsTool Reference

MCP tool reference

Every tool the PanelWave MCP server offers to AI assistants — what it does, the permission it needs, and whether it changes your work.

The PanelWave MCP server offers 83 tools. An assistant only sees the tools your connection's permissions allow; your team role and plan limits still apply. Tools marked Asks first remove or publish something that is hard to undo, so the assistant asks you to confirm before it runs them. Tools marked asks first when risky ask only for their risky variants, such as publishing to production.

Permissions

PermissionGranted by defaultLets the assistant
works:readYesRead your works: structure, panels, characters, variables, graph, validation reports and translations.
works:writeYesCreate, change, reorder and delete works, chapters, pages, panels, balloons, hotspots, characters, variables and graph edges.
assets:readYesList your uploaded images, videos and audio and view their thumbnails.
assets:writeYesUpload, replace, organise and delete assets and attach artwork to panels.
localization:writeYesAdd languages, edit translations and start machine translation or text-to-speech.
publishYesRun validation fixes, publish previews and releases, and roll back.
team:readYesSee your teams, plan limits and credit balance.
analytics:readNoRead reader analytics of your works.

Session & discovery

ToolWhat it doesPermissionEffect
pw_meta_capabilitiesList the vocabulary for authoring PanelWave works: page formats with pixel frames, balloon kinds, placement presets, page templates, hotspot actions, variable types and the gateway lint codes.NoneReads
pw_meta_whoamiShow the signed-in PanelWave user, their teams with role and plan limits, the default team for new works, and this connection's credential type and scopes.NoneReads
pw_meta_explain_permissionsExplain whether you can use a tool (scopes of this connection) and, with a workId, what your role on that work allows (read-only works, suspended teams).NoneReads

Teams & plans

ToolWhat it doesPermissionEffect
pw_teams_get_planShow a team's plan, its limits (publications, panels per work, locales, seats, storage) and current usage.team:readReads

Works

ToolWhat it doesPermissionEffect
pw_works_listList the graphic-novel works of your teams (newest activity first), with formats, locales and counts.works:readReads
pw_works_getGet one work with its properties: title, description, status, team, locales, page formats, age rating, tags, typography defaults, cover and whether you can edit it.works:readReads
pw_works_get_outlineThe structure of a work in one call: chapters → pages per format (with their panel order) → panel summaries (title, friendly id/key, artwork, balloon and hotspot counts, which pages place it) plus lint warnings such as chapters that are not playable or panels without artwork.works:readReads
pw_works_get_manifestBuild the work's PanelWave manifest (panelwave.json, schema 1.x) as the player would receive it.works:readReads
pw_works_create_from_outlineCreate a complete new work in one call from an outline (schema: resource panelwave://schema/outline): title, locales, page formats, characters, chapters → panels with titles, scene descriptions and speech balloons, optional hotspots/choices and variables.works:writeChanges
pw_works_createCreate an empty work (title, locales, page formats, age rating, tags, reading direction) in one of your teams, seeded with "Chapter 1" and one empty page per format.works:writeChanges
pw_works_updateRename a work (title per locale; other locales are kept), change its slug or its status (draft, review, published, archived).works:writeChanges
pw_works_update_propertiesChange work properties section by section: metadata (name, description, series, issue, creators, publisher, releaseDate, ageRating, tags, copyright, license, coverAssetId), typography (merged into the current settings, e.g.works:writeChanges
pw_works_set_formatsSet the page formats a work is produced in (and optionally the default format).works:writeChanges
pw_works_trashMove a work to the trash (restorable with pw_works_restore until the trash is emptied).works:writeAsks first
pw_works_restoreRestore a work from the trash (see pw_works_list { includeTrashed: true }).works:writeChanges

Chapters

ToolWhat it doesPermissionEffect
pw_chapters_listList the chapters of a work in reading order with panel counts, pages per format and the entry panel.works:readReads
pw_chapters_create_from_outlineAppend chapters to an existing work from outline chapters (same shape as in pw_works_create_from_outline): panels with titles, descriptions and balloons, optional artwork per panel (assetId = asset id, friendly id or file name of an image/video in this work — it becomes the background and the placements fit its aspect), hotspots and choices.works:writeChanges
pw_chapters_createAdd an empty chapter to a work (at the end, or at a 0-based position), seeded with one empty page per page format of the work.works:writeChanges
pw_chapters_updateRename a chapter (title per locale; other locales are kept) or set its entry panel (UUID, friendly id or key of a panel of this chapter).works:writeChanges
pw_chapters_reorderSet the reading order of all chapters of a work (pass every chapter id exactly once).works:writeChanges
pw_chapters_deleteDelete a chapter with all its panels, pages and graph edges.works:writeAsks first

Pages

ToolWhat it doesPermissionEffect
pw_pages_listList the pages of a chapter (one sequence per page format) with their panel reading order.works:readReads
pw_pages_getGet one page: format, template, the panels in reading order with their placements (normalized to the page frame), background and transitions.works:readReads
pw_pages_createAdd a page in one format to a chapter, optionally showing panels of that chapter: layout single (one panel, centred, fitted to its artwork), grid (deterministic grid) or explicit placements (normalized to the page frame).works:writeChanges
pw_pages_updateChange a page’s title (per locale), layout template, visual settings (background color #RRGGBB, margins in px), transitions (in/out) or production status and notes.works:writeChanges
pw_pages_set_layoutReplace which panels a page shows and where: panels = [{ panel (UUID, friendly id or key of this chapter), placement {x,y,w,h,z?,r?} normalized to the page frame }] in reading order (or give readingOrder separately).works:writeChanges
pw_pages_reorderSet the order of the pages of one format in a chapter (pass every page id of that format exactly once).works:writeChanges
pw_pages_moveMove a page (one format) to another chapter of the same work; the panels it shows move along (they are detached from the other formats’ pages of the old chapter).works:writeChanges
pw_pages_deleteDelete one page (one format).works:writeAsks first
pw_pages_composeRe-lay out one page format of a chapter: replace that format’s pages by pages composed from the chapter’s panels in reading order — auto (one panel per page on mobile-portrait and video-16-9, grids elsewhere: square 2, tablet / desktop / flex / landscape print 4, portrait print 6, bigscreen 8), one-panel-per-page, a grid of n ({"grid": n}) or manual — with page breaks after a decision and before each branch and rejoin.works:writeAsks first

Panels

ToolWhat it doesPermissionEffect
pw_panels_listList the panels of a chapter (or of one page, in its reading order) with titles, friendly ids, artwork and balloon/hotspot counts.works:readReads
pw_panels_getGet one panel in full: title, description, duration, layers (boxes relative to the artwork), speech balloons (kind, speaker, text per locale, box, tail), hotspots, audio and the pages that place it.works:readReads
pw_panels_find_missingFind panels that still lack something: artwork, balloons, a placement on a page of every produced format, a title, or graph edges (chapters that cannot be played).works:readReads
pw_panels_createAdd a panel to a chapter with title, scene description, layers (the first image/video layer without a box becomes the background artwork: asset id, friendly id or file name), speech balloons, hotspots and audio.works:writeChanges
pw_panels_updateChange a panel’s title / scene description (per locale), friendly id, duration (sets it to manual), audio tracks (replaced), per-format views or variants (replaced).works:writeChanges
pw_panels_duplicateCopy a panel (layers, balloons, hotspots) within its chapter; the copy gets “(Copy)” titles and a unique friendly id.works:writeChanges
pw_panels_moveMove a panel to another chapter of the same work.works:writeChanges
pw_panels_reorderSet the reading order of the panels on one page (pass every panel of the page once: UUID, friendly id or key).works:writeChanges
pw_panels_detachTake a panel off one page (it stays in the chapter and on the other pages).works:writeChanges
pw_panels_deleteDelete a panel with its layers, balloons and hotspots; it is removed from every page and from the graph.works:writeAsks first
pw_panels_attach_artworkAttach uploaded images or videos as the background artwork of many panels in one call: items = [{ panel (UUID, friendly id or outline key), asset (asset id, friendly id or file name, or { filename }) }].assets:writeChanges

Layers

ToolWhat it doesPermissionEffect
pw_layers_editAdd, change, remove or restack the layers of a panel.works:writeChanges

Speech balloons

ToolWhat it doesPermissionEffect
pw_bubbles_editLetter a panel: add balloons (kind, speaker by character id or name, text, place/box relative to the artwork, tail towards the speaker, style), update them (text merges per locale — pass locale to write a translation), remove them or set their order (later = on top).works:writeChanges
pw_bubbles_place_batchAdd balloons to many panels in one call (≤ 100 panels): items = [{ panel (UUID, friendly id or key), bubbles }].works:writeChanges

Hotspots

ToolWhat it doesPermissionEffect
pw_hotspots_editAdd, change or remove the interactive hotspots of a panel: a label, a shape relative to the artwork (rect, circle, ellipse, polygon) and an action — goTo another panel (UUID, friendly id or key), setVariables, openExtras, openModal or pluginEvent — optionally shown only when visibleIf holds.works:writeChanges

Assets

ToolWhat it doesPermissionEffect
pw_assets_listList a work's asset library (images, videos, audio, fonts): file name, size, dimensions, processing status (ready once thumbnails/transcodes exist) and folders.assets:readReads
pw_assets_getGet one asset: file name, type, dimensions, size, processing status, folders, the generated variants (thumbnail, responsive widths, WebP/AVIF, video transcodes, poster) and a 24-hour download URL.assets:readReads
pw_assets_get_thumbnailReturn a small preview image of an asset (image thumbnail, or the poster frame of a video) so you can see what the artwork shows — e.g.assets:readReads
pw_assets_begin_uploadStart uploading one file into a work’s asset library.assets:writeChanges
pw_assets_sign_partPresigned URL for one part (1-based, 5 MiB each, the last may be smaller) of a multipart upload started with pw_assets_begin_upload.assets:writeChanges
pw_assets_complete_uploadRegister an uploaded file as an asset (after the PUT, or after all parts of a multipart upload).assets:writeChanges
pw_assets_abort_uploadCancel an unfinished multipart upload so storage discards its parts.assets:writeChanges
pw_assets_updateSet an asset’s alt text (per locale — replaces the stored alt text), its tags (replaced) or the language of its content (locale; "" = any language).assets:writeChanges
pw_assets_deleteDelete an asset and its generated variants from the library.assets:writeAsks first
pw_assets_reprocessQueue thumbnails, responsive image sizes and video renditions again — for assets that stay "processing" because the transcode queue was unavailable at upload time.assets:writeChanges

Asset folders

ToolWhat it doesPermissionEffect
pw_folders_listList a work's asset-library folders as a tree (id, name, path, parent, asset count).assets:readReads
pw_folders_manageOrganise the asset library: create a folder (name, optional parentId), rename or move a folder (parentId "" = top level), delete a folder (its assets stay in the library; needs confirm: true), or assign assets to folders (mode add | replace | remove).assets:writeAsks first

Characters

ToolWhat it doesPermissionEffect
pw_characters_listList the characters of a work (name per locale, role, balloon style, voice) with how many balloons each speaks.works:readReads
pw_characters_createAdd a character to a work: name (and per-locale names), bio, role, a balloon style for everything they say, portrait URL and TTS voice.works:writeChanges
pw_characters_updateChange a character (per-locale names and bio merge with the stored ones).works:writeChanges
pw_characters_deleteDelete a character.works:writeAsks first

Variables

ToolWhat it doesPermissionEffect
pw_variables_getList the work's variable definitions (id, type, scope, default, enum values) used by JSON Logic conditions on edges, layers, balloons and hotspots.works:readReads
pw_variables_setDefine the story variables used by JSON Logic conditions (edges, balloons, layers, hotspots): id, type, scope, default.works:writeChanges

Story graph

ToolWhat it doesPermissionEffect
pw_graph_getGet the reading graph of a chapter: entry panel and edges (from/to, JSON Logic condition, transition, mutations), plus a playability lint.works:readReads
pw_graph_validateCheck a chapter graph: broken edges (errors), unreachable panels, dead ends and cycles (warnings), plus whether the chapter is playable at all.works:readReads
pw_graph_set_linearMake a chapter playable: replace its plain "next" edges by a straight path through its panels — in the reading order of its pages (default), in panel order, or in an explicit order — and set the entry panel.works:writeChanges
pw_graph_editAdd, change or remove edges of a chapter graph (from/to by UUID, friendly id or key — a target may be in another chapter), with JSON Logic conditions, transitions, variable mutations, labels and priorities, and set the entry panel.works:writeChanges

Localization

ToolWhat it doesPermissionEffect
pw_translations_listList the work's translatable strings (titles, balloon texts, character bios) in reading order with their translations per locale.works:readReads
pw_locales_setReplace the set of languages (BCP-47 locales) a work supports and optionally its default (source) language.localization:writeChanges
pw_translations_extractCollect every translatable string of the work (work/chapter/page/panel titles, balloon texts, character names and bios, variants) into the translation table.localization:writeChanges
pw_translations_setSave translations by key (keys from pw_translations_list): either { locale, entries: [{ key, text }] } for one language or { items: [{ key, translations: { "de-DE": "…" } }] } for several.localization:writeChanges
pw_translations_machine_translateMachine-translate entries into one language with the CMS provider (DeepL; a stub on development servers).localization:writeChanges

Validation

ToolWhat it doesPermissionEffect
pw_validation_runRun the CMS preflight (missing titles/alt text, oversized assets, broken links, empty panels, video, variant and canvas checks) plus the gateway lints (unplayable chapters, panels without artwork, unplaced panels, missing balloon locales, unused assets).works:readReads
pw_validation_fixApply the automatic fix of one issue from pw_validation_run (issues with autoFix: true).works:writeAsks first
pw_validation_undoRevert the most recent auto-fix of a work (fixId from pw_validation_fix): re-inserts the removed edge or panel, restores the page references, or drops the optimized image copy again.works:writeChanges

Publishing

ToolWhat it doesPermissionEffect
pw_publish_statusShow whether and when the work was published, the published manifest URL and the progress of a running publish.works:readReads
pw_publish_historyList recent publishes (environment, status, time, manifest URL, backupId — what pw_publish_rollback takes —, rollback flag, and whether that publish’s frozen release is the live one or can be restored).works:readReads
pw_publish_previewPublish the work to staging and return its review link: anyone with the link can read the work in the PanelWave reader (no login), the link stays the same across republishes, and the owner can revoke it in the CMS.publishChanges
pw_publish_runPublish the work to dev, staging or production (synchronous; returns the release record with its backupId — the snapshot pw_publish_rollback can go back to).publishChanges (asks first when risky)
pw_publish_rollbackMake an earlier publish’s frozen release the current one again for that publish’s environment (production, staging or preview) — readers see that version right away (production readers can take up to 5 minutes because of caching).publishAsks first

Background jobs

ToolWhat it doesPermissionEffect
pw_jobs_getPoll a background job by the jobId another tool returned ("<kind>:<id>" — transcode, optimize, tts, export, import-pages, publish).works:readReads
pw_jobs_listList background jobs: asset processing and text-to-speech of a work, publish progress, your exports and page-import sessions.works:readReads

Analytics

ToolWhat it doesPermissionEffect
pw_analytics_summaryReader KPIs of a work for a date range: sessions, unique readers, completion rate, panels viewed, reading time, with device and locale splits.analytics:readReads

Tools on your computer

With the local bridge the assistant also gets three tools that work on files in the folders you allowed: pw_local_list_files, pw_local_read_text and pw_local_upload_files. Nothing outside those folders is readable.