Local MCP canvas for Modellix image generation, editing, task recovery, and visual project work.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
English · 简体中文
Modellix Agent Canvas is a local, workspace-bound stdio MCP plugin for visual AI work. It brings an Excalidraw infinite canvas, Modellix image generation and editing, paid-operation confirmation, durable task recovery, HTML drafts, presentations, and project-local persistence into one workspace.
It supports Codex, Cursor, Claude Code, OpenCode, and other applications that implement local stdio MCP. Hosts with MCP Apps can embed the complete canvas; other compatible hosts use the same MCP server through a short-lived loopback page. Canvas runs locally and does not require a deployed Canvas service.
These screenshots come from one real local Canvas session. The reproducible walkthrough uses the original local artwork in docs/images/demo/creative-studio.webp, so you can explore image editing, HTML capture, and presentations without first creating a paid image task.
The single Lumen Creative Direction story below verifies seven connected capabilities instead of showing unrelated examples:
Drop an image onto the canvas or select a completed generation, then describe only the change you want. The selected image becomes the primary reference; output size, count, background, quality, and additional ordered references remain editable before preparation.

prepare_modellix_image_task is free. It shows the actual model, routing reason, requested and effective specifications, quantity, and the available price disclosure before a separate confirmation. This documentation run returned an unavailable quote, so no paid submission was made; do not confirm an unquoted task when you have a fixed budget.

Edit HTML source beside an isolated live preview, capture it back to the canvas, or export the source as a ZIP archive.

Create editable slide decks from several layouts, drop visual assets into ordinary slide elements, manage the sequence visually, present it, or export a PNG sequence.

The same image-led slide plays in the built-in presenter with previous/next controls and a visible slide count.

Export the current page at 1×, 2×, or 4× PNG, save SVG, download a presentation PNG sequence, or create and restore a project backup.

get_modellix_canvas_status and open_modellix_canvas with the same absolute workspace path.creative-studio.webp onto the canvas, select it, and enter an edit instruction.16:9 · Landscape, click Prepare edit, and inspect the returned model, route, effective specification, quantity, and price disclosure. Preparation is free.modellix-cli system credential store and are never written to chat, MCP arguments, URLs, project files, or task ledgers.^20.19.0 || >=22.12.0https://api.modellix.aiChoose one installation path only. Codex, Cursor, and Claude users install once from the host's Git or Marketplace entry; the plugin loads its manifest and Skills and automatically resolves the pinned npm runtime in the background. OpenCode and generic MCP users add the npm-backed MCP once. Users never run a second npm or CLI installation command. The cached runtime includes the complete production dependency tree and exact modellix-cli 0.0.8. If the CLI already has a valid credential for the production API origin, Canvas reuses it and skips setup; otherwise the first-use prompt only asks for a Modellix API Key.
Optionally run npm exec --yes --package=@modellix/agent-canvas@0.1.16 -- modellix-agent-canvas --doctor from outside the source checkout to verify the published package's Node.js requirement, production dependencies, bundled Widget, and active version. This is a diagnostic, not a second installation path.
Install from the host's plugin interface whenever possible.
The Git marketplace installs the plugin files from this repository. Its Codex adapter starts a single Node bootstrap process, installs the pinned npm runtime into a user-local cache on first use, and then imports the MCP server into that same process. Warm starts reuse the validated cache without retaining an npx wrapper process or requiring a global CLI installation.
Run the following command in Cursor:
For a GitHub or local-checkout install, open Customize → Plugins → + Add and select the repository root. Cursor reads .cursor-plugin/marketplace.json, then offers Modellix Agent Canvas from the modellix personal marketplace. This is separate from the Open Plugins metadata submitted to Cursor Directory.
After enabling or upgrading the plugin, run /reload-plugins, then use /mcp to verify the connection.
Use the public npm package @modellix/agent-canvas. Ready-to-merge host configurations are included in this repository. See the complete installation guide for setup, verification, upgrades, uninstallation, and source development.
After installation, call:
If status is missing or invalid, Canvas displays a password input directly in its credential card. The field follows the language selected in the upper-right and is an isolated, one-time loopback form that expires after five minutes; submitting it validates the key through the bundled CLI, stores it in the system credential store, and automatically refreshes Canvas status. The Key never enters Canvas state or MCP tool arguments. start_modellix_api_key_setup remains available to integrations that need to obtain the same short-lived local form explicitly.
| Host | Local MCP | Canvas surface | Configuration |
|---|---|---|---|
| Codex | stdio | MCP Apps widget, with local fallback | .codex-plugin/plugin.json (mirrored by .mcp.codex.json) |
| Cursor 2.6+ | stdio | MCP Apps | .cursor-plugin/marketplace.json, .cursor-plugin/plugin.json, mcp.json |
| Claude Code | stdio | Short-lived local page | .claude-plugin/plugin.json, .mcp.claude.json |
| OpenCode | Local MCP command | Short-lived local page | adapters/opencode/opencode.json, .agents/skills |
| OpenCode V2 beta | Local MCP command | Short-lived local page | adapters/opencode/opencode-v2.json, .agents/skills |
Use the adapter intended for the target host. The root .mcp.json and .plugin/plugin.json are the vendor-neutral Open Plugins entry for Cursor Directory; the Codex manifest embeds the Codex-specific server configuration and .mcp.codex.json mirrors it for direct development, while direct Cursor setup uses mcp.json. See host compatibility for protocol mappings, host-specific UI behavior, and validation status.
The root mcp.json runs:
The template does not contain an API Key. Cursor supplies the active workspace through MCP Roots; the template intentionally avoids unportable ${workspaceFolder} interpolation.
For the stable OpenCode release, merge mcp.modellix-agent-canvas from adapters/opencode/opencode.json into the project configuration. OpenCode V2 beta users should instead merge mcp.servers.modellix-agent-canvas from adapters/opencode/opencode-v2.json. Both adapters start @modellix/agent-canvas@0.1.16 from the active workspace and use the local page fallback.
Credential resolution is deliberately simple:
modellix-cli.Do not place a key in chat, tool arguments, command-line arguments, repository files, screenshots, project backups, or task reports. Canvas does not store keys in localStorage, sessionStorage, or IndexedDB.
Prompts and input images are sent to Modellix only after the user confirms the paid task. Prepare reads model capability and pricing data but does not upload references or create a paid task. Completed outputs are downloaded immediately into project assets, avoiding dependence on expiring remote result URLs.
| Requirement | Default capability route |
|---|---|
| Standard opaque text-to-image | GPT Image 2 |
| Transparent text-to-image | GPT Image 1.5 |
| Standard single-image editing | GPT Image 2 Edit |
| Transparent, strict-fidelity, or standard multi-image editing | GPT Image 1.5 Edit |
| Multi-reference editing with special ratios or 2K/4K output | Nano Banana Pro Edit |
The production API supplies the current model catalog, capabilities, and price. Canvas selects only from approved candidates. If no model satisfies every hard requirement, it returns CAPABILITY_CONFLICT or MODEL_UNAVAILABLE instead of silently degrading or creating a paid task.
The paid workflow is:
prepare_modellix_image_task resolves ordered references, selects a model, and returns a short-lived confirmation fingerprint.submit_modellix_image_task submits the unchanged intent with the same fingerprint.get_modellix_image_task polls only registered tasks. SUBMISSION_UNKNOWN is query-only and must never trigger an automatic resubmission.finalize_modellix_image_task validates downloads, writes content-addressed assets, and places results at the placeholder or beside the source.The agent-facing workflow uses:
get_modellix_canvas_statusstart_modellix_api_key_setupopen_modellix_canvasget_canvas_contextcreate_canvas_page, rename_canvas_page, and delete_canvas_pageprepare_modellix_image_tasksubmit_modellix_image_taskget_modellix_image_tasklist_modellix_canvas_tasksfinalize_modellix_image_taskcleanup_modellix_canvas_uploads, which requires confirmCleanup: true and affects only terminal temporary uploads recorded in the ledgerget_canvas_project, save_canvas_project, and save_canvas_asset are app-only MCP Apps data channels. They keep large scene JSON and base64 assets out of model context. Every tool returns stable error codes, retryability, and recovery guidance.
Each bound workspace stores data under:
The fallback page listens only on 127.0.0.1 with an ephemeral system-assigned port and enforces:
HttpOnly; SameSite=Strict sessionno-store, no-referrer, and nosniffHTML drafts run in a separate sandboxed iframe with its own CSP. External networking, top-level navigation, pop-ups, downloads, device permissions, and host APIs are disabled by default.
npm run quality runs the complete local gate except npm audit and the real packed-install smoke test. npm run smoke:package installs the publishable package with lifecycle scripts disabled and probes the complete MCP.
Before release, use npm pack --dry-run to confirm that the package contains no QA origin, internal acceptance material, absolute path, test credential, or obsolete resource.
WORKSPACE_UNBOUND: provide the active project's absolute workspacePath, or restart MCP from the actual user project with --project-dir.WORKSPACE_BOUNDARY_VIOLATION: a path or linked target resolved outside the bound workspace.AUTH_REQUIRED / AUTH_INVALID: use or regenerate the secure input inside the credential card; do not send the key through chat.ROUTE_CHANGED_RECONFIRM_REQUIRED: an input, reference order, specification, price, or expiry changed; prepare and confirm again.SUBMISSION_UNKNOWN: do not resubmit; continue polling the existing operation from the task center.FINALIZE_CONFLICT: inspect whether the intended target moved or was deleted, then choose a recovery location.REVISION_CONFLICT: another session updated the project; reload before reapplying the current change.No marketplace manifest found: when using Customize → Plugins → + Add, select the repository root containing .cursor-plugin/marketplace.json; loading a standalone plugin for development uses ~/.cursor/plugins/local/modellix-agent-canvas instead.Host-specific commands are documented in Upgrade and uninstall. Upgrading does not delete .modellix/canvas/. Uninstalling also preserves workspace data and system credentials, preventing accidental deletion of keys shared by other Modellix tools. To remove a credential, run modellix-cli auth logout for the corresponding profile.
Project-owned code is available under the MIT License. The canvas engine uses @excalidraw/excalidraw 0.18.1 under MIT; the modellix-cli 0.0.8 runtime dependency retains its MIT license. See THIRD_PARTY_NOTICES.md and THIRD_PARTY_LICENSES.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/modellix-agent-canvas)<a href="https://allmcps.com/mcp/modellix-agent-canvas"><img src="https://allmcps.com/api/badge/modellix-agent-canvas?style=directory" alt="Modellix Agent Canvas on AllMCPs" /></a>