Skip to main content

MCP server for yuuno.tech adflow — build and run AI media canvases from Claude/Cursor.

Project description

yuuno-mcp

MCP server for yuuno.tech adflow — drive the node-based AI media canvas from an MCP client (Claude Code, Claude Desktop, Cursor, …). You become an agent on the board: create sessions, wire up image/video/audio/text generation nodes, run flows, and read results — the same canvas the in-app chat edits, so your changes appear live in the browser.

Get an API key

Mint a workspace key at app.yuuno.tech → Settings → Organization → API (https://app.yuuno.tech/settings/organization/api). It's a 40-character hex string scoped to your workspace. Rotating it (Reset) invalidates the previous key for every connected client in that workspace.

Connect

Claude Code

Local (stdio, recommended — works everywhere):

claude mcp add yuuno -e YUUNO_API_KEY=<your-40-hex-key> -- uvx yuuno-mcp

Hosted (Streamable HTTP — no local install):

claude mcp add --transport http yuuno https://mcp.yuuno.tech/mcp \
  --header "Authorization: Bearer <your-40-hex-key>"

Claude Desktop

Add to claude_desktop_config.json (stdio; Desktop connectors don't pass custom headers, so use stdio):

{
  "mcpServers": {
    "yuuno": {
      "command": "uvx",
      "args": ["yuuno-mcp"],
      "env": { "YUUNO_API_KEY": "<your-40-hex-key>" }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json (or a project .cursor/mcp.json):

{
  "mcpServers": {
    "yuuno": {
      "url": "https://mcp.yuuno.tech/mcp",
      "headers": { "Authorization": "Bearer ${env:YUUNO_API_KEY}" }
    }
  }
}

Cursor also supports stdio ("command": "uvx", "args": ["yuuno-mcp"]).

Client support note: remote (hosted HTTP + Authorization header) works today in Claude Code and Cursor. Claude Desktop and claude.ai custom connectors don't pass static headers — use stdio (uvx) for Desktop; OAuth for claude.ai is a later release.

First moves for the agent

Call get_cheatsheet once at the start of a session — it explains the 18 node types, the DAG op rules, the run lifecycle, and model selection. Then a typical build is: list_modelscreate_sessionapply_ops_batch (build the graph) → auto_layoutestimate_creditsrun_flowwait_for_run. list_examples returns ready-to-apply op recipes.

Tools (37)

  • Sessionswhoami, create_session, list_sessions, get_dag, copy_session, delete_session
  • DAG opsadd_node, add_node_with_inputs, update_node, remove_node, add_edge, update_edge, remove_edge, apply_ops_batch, set_uploaded_assets
  • Structureadd_group, move_to_group, ungroup, replace_edge, insert_node_on_edge, bypass_node, list_node_io, auto_layout
  • Runsrun_flow, get_run_status, list_runs, wait_for_run, estimate_credits
  • Generate / catalogexecute_utility_node, wait_for_task, generate_text, generate_asset, list_models, get_model_schema, upload_asset
  • Docsget_cheatsheet, list_examples (also exposed as MCP resources yuuno://cheatsheet and yuuno://examples/<name>)

Configuration

var default purpose
YUUNO_API_KEY workspace API key (40 hex), stdio mode
YUUNO_BACKEND_URL https://api.yuuno.tech Django backend base URL
YUUNO_APP_URL https://app.yuuno.tech SPA base URL (canvas links)
YUUNO_WORKSPACE_ID optional workspace uuid (X-API-ID), stdio only
YUUNO_JWT dev fallback: SimpleJWT access token
MCP_HTTP_HOST / MCP_HTTP_PORT 127.0.0.1 / 8765 --transport http bind

In hosted HTTP mode the key is never held server-side — each request carries its own Authorization: Bearer <key>, verified against the backend, and the server proxies that exact key to Django (no cross-tenant state).

Development

cd mcp
python3.12 -m venv .venv
.venv/bin/pip install -e '.[dev]'
.venv/bin/python -m pytest tests -q

The contract-parity test (tests/test_parity.py) imports adflow.dag_protocol.constants from the monorepo root and asserts the mirrored constants match; it auto-skips outside the monorepo. Deploy artifacts (systemd units, nginx config, operator runbook) are under deploy/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yuuno_mcp-0.1.4.tar.gz (97.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yuuno_mcp-0.1.4-py3-none-any.whl (75.4 kB view details)

Uploaded Python 3

File details

Details for the file yuuno_mcp-0.1.4.tar.gz.

File metadata

  • Download URL: yuuno_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 97.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for yuuno_mcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 55faf1a15230de3149a8861b66b6d39cc1118443dacb1132fa0227767f543a34
MD5 f8314cfbe843defb0c37eb1b7f88a2f7
BLAKE2b-256 213a7ddb62f60ac86b789607cab2001bb99232bd3a51c423ae0d690270ef97e4

See more details on using hashes here.

File details

Details for the file yuuno_mcp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: yuuno_mcp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 75.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for yuuno_mcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e57619187e4fb7c03064350a218bed6d8e3b55168d6c8efabede737ed44a9832
MD5 0291c2dbeca4c43f5e46a4357a7685c4
BLAKE2b-256 f67a39ac51d7c5b44a8524db59d498a447fb207a38a272ef96a0174d1da429c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page