New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@modisign/mcp

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@modisign/mcp

Discover and render Modisign animated overlays locally through MCP

Source
npmnpm
Version
0.1.0
Version published
Weekly downloads
468
Maintainers
1
Weekly downloads
 
Created
Source

@modisign/mcp

Find, configure and render Modisign animated overlays, or create a finished Studio video from a local AI assistant. Export overlays as green-screen MP4, transparent ProRes 4444 MOV or transparent VP9 WebM, or edit clips/photos with captions, transitions and overlays into H.264/AAC MP4. Rendering runs on your computer. Tool results contain local file paths, not hosted downloads.

This package is the open-source client. Overlay compositions, catalog/configuration APIs and Pro authorization checks are served by modisign.app.

Requirements

  • Node.js 22+, npm/npx, and FFmpeg including ffprobe on PATH.
  • macOS: brew install ffmpeg
  • Windows: winget install Gyan.FFmpeg
  • Debian/Ubuntu: sudo apt install ffmpeg

HyperFrames downloads its managed Chrome Headless Shell on first render if needed (~100 MB; up to 120 MB depending on OS). The job reports downloading_browser while ensuring it, before rendering; doctor checks that managed build rather than system Chrome. Linux also needs Chrome's system libraries. Linux ARM64 instead needs system Chromium (sudo apt install chromium); doctor checks that binary and no managed download is attempted. Run npx -y @modisign/mcp doctor to inspect your setup. No FFmpeg binary ships with this package.

Connect your assistant

These commands use the npm package; it must be published before registry installation works. For a local checkout, install dependencies and build as described below, then replace npx -y @modisign/mcp with node /absolute/path/to/modisign-mcp/dist/cli.js.

Claude Desktop

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json), then restart:

{
  "mcpServers": {
    "modisign": { "command": "npx", "args": ["-y", "@modisign/mcp"] }
  }
}

Claude Code

claude mcp add --transport stdio modisign -- npx -y @modisign/mcp

Claude Code MCP setup.

Codex CLI and ChatGPT/Codex desktop

codex mcp add modisign -- npx -y @modisign/mcp

In the desktop app: Settings → MCP servers → Add server → STDIO, command npx, arguments -y @modisign/mcp, then save and restart. The CLI and desktop share the MCP configuration. This is a local server for the desktop's local Work/Codex tools; ordinary hosted web chat does not gain access to your files.

Official MCP setup.

Cursor

Put the Claude Desktop JSON above in ~/.cursor/mcp.json (global) or .cursor/mcp.json (project), then enable Modisign in MCP settings. Cursor MCP setup.

VS Code / Copilot

Create .vscode/mcp.json, then start the server and trust it when prompted:

{
  "servers": {
    "modisign": { "type": "stdio", "command": "npx", "args": ["-y", "@modisign/mcp"] }
  }
}

VS Code MCP setup. If a desktop host cannot find npx, use its absolute path and ensure its environment includes FFmpeg on PATH.

Use

Ask your assistant: “Find a free career overlay, export it as green-screen MP4” or “Put that overlay on /absolute/path/video.mp4 starting at 1 second.” The assistant configures the overlay, starts a job and polls for your file.

ToolPurpose
list_overlaysSearch catalog by query, family, niche, free status; paginated
get_overlayRead editable fields, limits, current values, looks and aspects
configure_overlayApply settings; return configuration URL and free/Pro tier
render_overlayStart MP4, MOV or WebM export
add_overlay_to_videoComposite at a start time onto one local video up to 60 seconds
edit_videoExport a Studio sequence with trims, photos, pauses removed, transitions, overlays and English captions
get_transcriptReturn locally generated English transcript lines and source times to your assistant for review
job_statusRead state, progress, file details and warnings
cancel_jobCancel and clean temporary files
account_statusCheck sign-in and current Pro
loginReturn a device approval link and code; poll in the background

One job renders at a time. Jobs and IDs last for the server process (up to 100 recent jobs; queue capped at 50). Canceling a tool request during validation prevents it from enqueueing; after receiving a job ID, use cancel_job. Clients can pass an MCP progressToken to receive progress notifications; job_status works in every client. Some clients stop displaying progress after the immediate job response. For catalog pagination, pass the returned next_cursor as cursor with the same filters.

Composites keep audio as AAC, export H.264 MP4, preserve the video's aspect and cap the long side at 1920 (even pixel dimensions). The package automatically chooses the family's nearest supported overlay aspect using the website's closestVideoAspect rule, reauthorizes that configuration, and returns the chosen aspect in the job result. The overlay scales to the video's width and is vertically centered, preserving its proportions. Overlay and video begin at their own zero time; start_seconds offsets the overlay. The website's overlayStartLimit rule limits the start to floor(max(0, video duration − overlay duration) × 10) / 10 seconds; later starts return a field error (a 3.5-second overlay on a six-second video allows 0–2.5 seconds). Both rules are implemented in src/own-video.ts to match the website. Use edit_video for longer or multi-clip edits up to 180 seconds.

Ask “Cut these three local clips into a 9:16 Reel, remove pauses, add Clean captions, a crossfade between clips 1 and 2, a free hook at the start and a subscribe button at the end.” Or “Review the transcript of /absolute/path/interview.mp4, fix John Smith to Jane Doe, then export with Karaoke captions.”

edit_video uses the same Studio engine as the website, in local managed Chrome: 1–300 video/photo clips, at most 180 seconds after crossfade overlap. Video sources are at most 180 seconds; trims retain at least 0.2 seconds. JPEG/PNG/WebP/AVIF photos default to 3 seconds and allow 0.5–30 seconds (out - in); HEIC is rejected. fit is fill or fit, zoom is 1–3 and pan_x/pan_y are normalized centres (0–1). slow_zoom belongs to photos; volume/mute/fades belong to videos. Punch-ins use source seconds, lengths 0.5–4 seconds in 0.1 steps and zoom 110/125/140, with at most 50 nonoverlapping rows per clip. after_clip is zero-based; transitions are 0.2–1 second crossfades or dips, clamped by Studio’s adjacent-clip rules. Silence sensitivity is gentle/normal/strong and shortest pause is 0.3/0.5/1 second; removal ripples overlay starts with footage. Starts must initially fit overlays within the sequence. Output aspects: 9x16, 4x5, 1x1, 16x9; free quality choices: 1080p (default) or 720p. Captions require one of thirteen styles (clean, boxed, minimal are free; karaoke, bold-keyword, word-pop, highlight-box, neon, pop-up, typewriter, outline, editorial, gradient require Pro for export), position (upper, center, lower) and size (s, m, l); optional corrections: [{from, to}] replace case-insensitive words/phrases while retaining source timing. get_transcript returns source-relative times, including an optional trim’s offset.

Files default to ~/Movies/Modisign on macOS and ~/Videos/Modisign elsewhere. Existing files are preserved: collisions append -2, -3, etc. Provide absolute local paths for media and custom outputs. No arbitrary HTML or commands are accepted.

CLI

npx -y @modisign/mcp login
npx -y @modisign/mcp status
npx -y @modisign/mcp doctor
npx -y @modisign/mcp render hook-title/career-truth --aspect 16x9 --out overlay.mp4
npx -y @modisign/mcp render hook-title/career-truth --background transparent --out overlay.mov
npx -y @modisign/mcp logout

No arguments starts the stdio MCP server; stdout is reserved for protocol. CLI login prints the code/link, opens the browser and waits for explicit approval. The login tool shows the link without opening a browser. Logout deletes local credentials; revoke a device on the account page to invalidate its token immediately.

Free and Pro

Each overlay family offers exactly one free preset on its default layout. An unchanged free preset exports without an account. Aspect and background edits remain free. Changing text, look, duration or other non-output settings generally makes it Pro, unless the result matches another free preset. Draft configuration is open to everyone; rendering other configurations needs sign-in and current Pro. Upgrade at Pricing.

Caption styles: clean, boxed, minimal (free); karaoke, bold-keyword, word-pop, highlight-box, neon, pop-up, typewriter, outline, editorial, gradient (Pro).

Studio edits are free with no overlays or only unchanged free overlay configurations and Clean/Boxed/Minimal captions. Any Pro overlay configuration or expressive caption style needs current Pro. Editing footage, pauses, transitions, photos and quality is free. Studio exports never enter account history.

Every render attempts the website's authorization endpoint, again when its queued job starts. Previously authorized free configurations can render offline once their matching composition/assets/configuration are cached. Pro renders always require an online check. Successful overlay/composite renders by Pro accounts attempt configuration-only account history, including unchanged free presets, using the website's title and overlay name. Free configurations rendered anonymously or without Pro leave no history; a history failure produces a warning and keeps the local file.

Privacy and local storage

Video, photos, audio, transcripts and local paths are never sent to Modisign. Calling get_transcript returns transcript text to your assistant/provider; otherwise generated captions stay in process/browser memory. Your assistant provider sees tool arguments/results. Overlay configurations, including typed overlay text, and Studio’s caption style reach Modisign for validation and authorization. The package downloads only first-party compositions and their approved runtime/GSAP/font dependencies and localizes them. English Whisper tiny.en’s pinned model downloads from Hugging Face once (~43 MB), through the Node host into the local cache. Chrome only receives loopback URLs. Every render browser uses a secret-protected local proxy allowing only its exact page/runtime/cached assets and, for Studio, the exact local files named in the request. External navigations, workers, subresources, redirects, tunnels and other local files are blocked even if cached HTML removes its CSP. Standalone overlay/composite renders replace HyperFrames' file server with one authenticated loopback listener; additional listeners are blocked. Cache files must be regular files within their cache directory, without escaping symlinks, and are pinned before HyperFrames compiles a private snapshot. The listener serves prepared HTML from memory and cached assets from retained descriptors. Studio uses an authenticated proxy and media server. Every listener requires a random per-render 256-bit secret header. Browser requests, including workers, inherit it; Chrome uses a debugger pipe with no remote-debugging port. Named Studio files are also validated and opened once per render, then served from pinned descriptors so replacing a path cannot expose a different file. Cached compositions remain a soft entitlement gate.

Credentials are stored at ~/.config/modisign/credentials.json (Windows: %APPDATA%\modisign\credentials.json), bound to the website origin. POSIX files retain mode 0600. On Windows, PowerShell uses the Windows ACL API to create the directory and credential file with a protected DACL granting only the current user Full Control, then verifies it before writing a token and before reading credentials. If protection cannot be established or verified, login and credential use fail with a clear error. Windows argument construction is unit-tested; Windows runtime execution is untested here. Tokens never appear in tool results or logs. Composition/configuration caches live below the same directory in cache/v3-hf-0.8.80; these contain overlay text. Delete the cache directory to clear it. Render scratch files are cleaned after success, failure or cancellation.

Anonymous first-party usage sends only login outcomes and render family/free/kind/outcome, using a random per-process visit ID. No account link, token, path, filename, typed text or media metadata enters events. Set MODISIGN_NO_TELEMETRY=1 or DO_NOT_TRACK=1 to opt out. HyperFrames telemetry is always disabled through HYPERFRAMES_NO_TELEMETRY=1 and DO_NOT_TRACK=1.

MODISIGN_URL overrides the default https://modisign.app; local development uses http://localhost:3000. HTTPS is required except on loopback. Credentials and caches are scoped to the selected origin. Optional MODISIGN_CONFIG_DIR selects an absolute isolated credentials/cache directory (useful for testing); normal OS credential privacy checks still apply.

Develop

From mcp/ in the Modisign source workspace:

corepack pnpm install
corepack pnpm test
corepack pnpm build

The official MCP TypeScript SDK server is pinned to 2.3.1, its matching test client to 2.3.1, and HyperFrames to 0.8.80. Monorepo builds import the maintained source; the public source mirror includes a generated vendor/ snapshot of exactly the engine and validator’s transitive dependencies. Build the mirror with npm ci && npm run build && npm test; no workspace checkout or pnpm is needed. The monorepo freshness check rejects stale vendor files. In both builds, esbuild bundles the website’s Studio modules into the static runner/Whisper worker and ships the matching ORT runtime and Montserrat font with its OFL notice. Installed tarballs need no website checkout or build. Only compiled dist, this README, the MIT license and the companion skill ship in npm.

Companion skill

skills/modisign/SKILL.md is an Anthropic Agent Skill for discovery, free-first configuration and local rendering. Copy its modisign directory to .claude/skills/ (project) or ~/.claude/skills/ (personal). Connect the MCP server separately; the skill does not install it or grant hosted chat local file access.

Directories

The official Registry metadata is server.json; package.json.mcpName matches io.github.slvDev/modisign. The repository owner can verify it with mcp-publisher login github; app.modisign/modisign instead requires domain proof. Publish npm before registry metadata. Registry quickstart.

mcp.so takes a GitHub issue. For Claude directory discovery, a local server and this skill may be submitted in a plugin bundle. Claude publishing. No publication is performed by the build.

License

MIT — Copyright (c) 2026 Viacheslav Sierbov. See LICENSE for the license and NOTICE for third-party notices. HyperFrames and the MCP SDK are Apache-2.0; FFmpeg and Chrome are not distributed. Fetched overlay compositions and fonts keep their own terms and are not covered by this license.

FAQs

Package last updated on 14 Oct 2026

Related posts