HoneyVid MCP server
2026년 11월 12일 커밋Generate viral AI videos and images using models like Kling and Veo through templates or custom prompts and reference photos.
다른 이름 HoneyVid/cli, cli
- 스타
- 0
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 1.0.1
- 마지막 커밋
- 2026년 11월 12일
- 라이선스
- MIT
HoneyVid MCP란?
HoneyVid은(는) MCP server입니다. Generate viral AI videos and images using models like Kling and Veo through templates or custom prompts and reference photos.
프로젝트 README에서 생성된 요약
HoneyVid MCP server 정보
Creating viral AI videos and images from within your development environment is what HoneyVid enables. Developers and AI agents can generate high-quality media using advanced models like Kling and Veo by utilizing pre-made templates or custom playground prompts. The system supports adding reference photos to maintain character consistency across different generations.
Users can connect via a remote MCP connection using a Streamable HTTP setup that requires OAuth but no manual API key management. For local workflows, the Node.js CLI allows for interactive logins via a browser or a headless mode for remote machines. The tool manages account credits and provides idempotency keys to ensure that network failures do not result in accidental double charges during video or image creation tasks.
활용 사례
- 1Maintain character consistencyYou can upload a reference photo to act as a character for both image and video generation tasks.
- 2Automate media workflows in CIDevelopers can use a refresh token to run generation commands in automated environments without a browser.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
HoneyVid MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 HoneyVid MCP 설치
$ claude mcp add --transport http cli https://honeyvid.ai/mcpCursor에 HoneyVid MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"cli": {
"url": "https://honeyvid.ai/mcp"
}
}
}VS Code에 HoneyVid MCP 설치
.vscode/mcp.json
{
"servers": {
"cli": {
"type": "http",
"url": "https://honeyvid.ai/mcp"
}
}
}VS Code CLI에 HoneyVid MCP 설치
$ code --add-mcp '{"name":"cli","type":"http","url":"https://honeyvid.ai/mcp"}'Codex에 HoneyVid MCP 설치
$ codex mcp add cli --url https://honeyvid.ai/mcpCodex config.toml에 HoneyVid MCP 설치
~/.codex/config.toml
[mcp_servers.cli] url = "https://honeyvid.ai/mcp"
Gemini CLI에 HoneyVid MCP 설치
$ gemini mcp add -s user --transport http cli https://honeyvid.ai/mcpGemini settings.json에 HoneyVid MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"cli": {
"url": "https://honeyvid.ai/mcp",
"type": "http"
}
}
}자동 검사
2026년 11월 15일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능honeyvid/cli is public and reachablegithub.com/honeyvid/cli ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-12github.com/honeyvid/cli ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답HTTPS endpoint answered 401 (sign-in required)통과
README
GitHub에서 보기HoneyVid CLI for agents
Use HoneyVid from Claude Code, Codex, Cursor, shell scripts, or another agent. Create from a template or use Playground video and image models with your own prompt, settings, and reference photos. Generation uses account credits and usually takes 2–10 minutes.
Node.js 20 or newer. Plain ESM, no build step, no runtime dependencies. Published on npm as honeyvid:
npx honeyvid --help
# Or install globally:
npm install -g honeyvid
honeyvid --help
honeyvid schema
Prefer a remote MCP connection instead? Add https://honeyvid.ai/mcp (Streamable HTTP, OAuth, no API key) to your MCP client. Setup for every app: https://honeyvid.ai/mcp
Claude Code users can install the HoneyVid plugin (MCP server plus skills) from HoneyVid/skills: /plugin marketplace add HoneyVid/skills, then /plugin install honeyvid@honeyvid.
Sign in
honeyvid login
honeyvid whoami
Login prints a URL and an eight-character code, such as HVQK-7M2P, and opens the system browser when available. Check the code on HoneyVid matches your terminal, then click Connect. The browser shows Connected with the same code. The CLI finishes by itself and prints your account. No copy-paste or local listener is needed. Login lasts 10 minutes and uses PKCE S256 with no client secret.
For an agent, SSH, or a machine without a browser:
honeyvid login --no-browser
# Open data.url on any browser, check data.code, and click Connect.
# Leave the command running; it finishes after approval.
Piped output and --json print a JSON envelope immediately with {url, code, expiresInSeconds: 600, next: "Open the url and click Connect. Check the code matches."}, then a second envelope with the account after approval. In a terminal, the URL and code go to stderr. The CLI polls every two seconds. --no-browser skips opening the browser and still waits.
If the process stops, resume the same saved login within its original 10 minutes:
honeyvid login --wait
Use the same config directory and base URL. The saved verifier and state stay private in the local auth file; approval requires the verifier to exchange the code. login --code '<long-oauth-code>' remains as a legacy fallback for one release if you already copied an OAuth code. The new browser page shows only the short matching code, which is not an OAuth code.
Tokens are stored per base URL at ${XDG_CONFIG_HOME:-~/.config}/honeyvid/auth.json (file 0600, directory 0700). Expiring tokens refresh before requests; a 401 refreshes once and replays the request once. Rotated refresh tokens are saved atomically. A config lock serializes refreshes and writes so parallel commands share the latest rotating token. Queued jobs are exposed as processing.
honeyvid auth export --json
honeyvid logout
auth export returns data.refreshToken and warns on stderr. Treat it as a secret. HONEYVID_TOKEN supplies a refresh token for CI and overrides the local login. Its rotated credentials are cached separately, so later commands on the same machine use the new token without replacing the interactive login. Export the current token when moving CI to another machine. Never put tokens in source control, shared logs, or prompts. Logout removes local credentials for the selected base URL; it does not revoke a token or unset HONEYVID_TOKEN.
Template flow
honeyvid templates --search dance --limit 10 --json
honeyvid template '<template-id>'
honeyvid characters add ./face.jpg --name Alex
# Or:
honeyvid characters add --url 'https://example.com/face.jpg' --name Alex
honeyvid characters
honeyvid quote --template '<template-id>' --quality standard
honeyvid create --template '<template-id>' --character '<character-id>' \
--quality standard --max-credits 50 --idempotency-key 'my-video-001' \
--wait --timeout 600 --output ./video.mp4
Use IDs and prices returned by the API. Choose a template with available qualities. Template results contain compact details and absolute poster and preview URLs. Character uploads accept PNG, JPG, and WebP up to 10 MB; names contain 1–60 characters. URL images must use HTTPS and are downloaded without account credentials.
--max-credits is required for create and retry. The server must enforce this ceiling and reject a higher price with 409. A quote does not reserve a price or credits. --dry-run returns the same output as quote, does not submit a job, and needs only the source and quality:
honeyvid create --template '<template-id>' --quality high --dry-run
Create, retry, and generate always print the idempotency key to stderr before submission and include it as data.idempotencyKey or error.idempotencyKey. On a network failure, timeout, or server error, the outcome may be unknown: rerun the same command with the same key and inputs. A new key can create and charge for another job. There are no automatic retries for 429, network errors, or 5xx responses.
honeyvid video '<job-id>' --wait --timeout 600
honeyvid job '<job-id>' # Alias for video
honeyvid videos --status completed --limit 10
honeyvid download '<job-id>' # ./honeyvid-<id>.mp4
honeyvid retry '<failed-job-id>' --max-credits 50 \
--idempotency-key 'my-retry-001' --wait
honeyvid account # Credits, plan, topUpUrl
Wait checks every five seconds and writes progress to stderr. A timeout stops waiting; it does not cancel generation. Output paths are absolute in results. The response Content-Type sets the file extension; a mismatched extension is replaced and the actual path is reported on stderr and in JSON. Downloads stream to a temporary file, never overwrite an existing destination, and remove partial files on failure. --output on create, video, or retry downloads after completion; add --wait if the video is processing.
For your own source video:
honeyvid upload ./clip.mp4
honeyvid quote --upload '<upload-id>' --quality standard
honeyvid create --upload '<upload-id>' --character '<character-id>' \
--quality standard --max-credits 50 --wait --output ./my-video.mp4
Use an MP4 up to 100 MB and 3–30 seconds. Uploads stream as raw video/mp4 with a content length, not multipart. Own-video generation may be unavailable for the account. Choose exactly one of --template and --upload.
Playground flow
Discover the models available to the signed-in account, then inspect the selected model's full fields. Model availability and settings come from the server; do not guess model IDs or supported values.
honeyvid models --kind video
honeyvid models --kind image
honeyvid models --model '<model-id>' --json
honeyvid characters add ./reference.jpg --name Reference
honeyvid generate video --model '<model-id>' --prompt 'A honey river at sunrise' \
--set duration=5 --image '<character-id>:start' --max-credits 50 --dry-run
honeyvid generate video --model '<model-id>' --prompt 'A honey river at sunrise' \
--set duration=5 --image '<character-id>:start' --max-credits 50 \
--idempotency-key 'playground-video-001' --wait --timeout 600 --output ./river.mp4
honeyvid generate image --model '<image-model-id>' --prompt 'A honey jar in warm light' \
--image '<character-id>' --max-credits 50 --dry-run
honeyvid generate image --model '<image-model-id>' --prompt 'A honey jar in warm light' \
--image '<character-id>' --max-credits 50 \
--idempotency-key 'playground-image-001' --wait --output ./jar.png
The settings above are examples; use fields returned by models --model for the selected model. Repeat --set key=value for each setting. Numbers (including decimals, negatives, and exponents) and lowercase true/false become JSON numbers and booleans. Other values stay strings. Duplicate setting keys are rejected. Video references accept --image <character-id>[:start|end|ref]; image generation accepts character IDs without roles. Repeat --image for more references. If the model accepts a source video, add --video upload:<id> or --video template:<id>.
Both generate commands require --model, --prompt, and --max-credits, including for --dry-run. A dry run calls the free Playground quote endpoint and returns credits, balance, and estimatedSeconds; it creates no job. A real run sends the cap to the server. A price above it returns exit 5 without charging. Quotes do not reserve prices.
Generate prints a caller-supplied or generated idempotency key before submitting and returns it in success or error JSON. Reuse the same key and inputs after an uncertain outcome. Waiting and downloading work like template creation.
honeyvid videos --kind image
honeyvid video '<image-job-id>'
honeyvid video '<image-job-id>' --wait --output ./image.png
Every job returned by create, generate, retry, video, or videos includes accountUrl. Share this lasting link with the user to open the saved result in their HoneyVid account after sign-in. resultUrl and image URLs are temporary links for previews and downloads; their expiry does not delete saved media. Read the job again to refresh them without generating or paying again.
Image job output also includes image URLs. The first image is saved at --output; more images use image-2.png, image-3.png, and so on. Results include path for the first download and paths for all downloads. Existing files are preserved. In a terminal, models prints a compact table; --model prints the full schema. Piped output and --json always use JSON envelopes.
Agent skills
honeyvid skills list
honeyvid skills install # Claude and Codex
honeyvid skills install --agent claude
honeyvid skills install --agent codex
honeyvid skills install --agent all
honeyvid skills install --dir ./skills
These commands work without login. Bundled skills use HoneyVid MCP tools when connected and the CLI otherwise. The installer copies all bundled skill folders into $HOME/.claude/skills/<name>/ and/or $HOME/.codex/skills/<name>/. --dir overrides the skills root and installs once into <dir>/<name>/, regardless of --agent.
The JSON result lists written absolute paths in paths and preserved paths in skipped. A small .honeyvid-cli.json ownership file lets later installs update only files previously written by this installer. Existing user files, edited installed files, extra files, and skill directory symlinks are preserved. The installer never deletes user files or prompts.
Machine interface
Every command accepts --json; it is the default when stdout is not a TTY. JSON commands print one envelope, except login, which prints connection details before its final account or error envelope:
{"ok":true,"data":{"credits":12,"quality":"standard","estimatedSeconds":120,"balance":100}}
Failures print one envelope to stdout and exit nonzero:
{"ok":false,"error":{"code":"not_signed_in","message":"You are not signed in.","suggestion":"Run honeyvid login.","retryable":false}}
Errors can also contain idempotencyKey, jobId, and retryAfter (seconds). retryable describes the error; the CLI does not automatically retry it. Never parse stderr as data. Help is plain text. schema returns all commands, flags, enums, constraints, output shapes, environment variables, and exit codes in data. Every command has --help, examples, environment variables, and exit codes.
Known API error codes are price_above_max (409 with credits), insufficient_credits (402), rate_limited (429), generation_closed, not_found (404), and forbidden (403). Their exit codes follow the table below: credit, limit and conflict errors use 5; forbidden uses 1.
| Exit | Meaning | Agent action |
|---|---|---|
| 0 | Success | Read data. |
| 1 | Request, network, file, or other error | Read the suggestion; preserve a submitted key. |
| 2 | Usage error | Read command help. |
| 3 | Not signed in | Run honeyvid login. |
| 4 | Not found | Check the ID and base URL. |
| 5 | Credits, limits, conflict, or price above maximum | Read the error. For 429, respect retryAfter and reuse the key. |
| 6 | Job failed | Inspect the job; quote and retry if wanted. |
| 7 | Wait timed out; job still running | Run honeyvid video <id> --wait. |
Environment:
HONEYVID_URL: API/site base URL; defaults tohttps://honeyvid.ai.--base-url <url>overrides it. HTTPS is required except for loopback development URLs. Credentials are isolated by base URL.HONEYVID_TOKEN: secret refresh token overriding stored login.HOME: home directory for agent skills (or the OS home if unset).XDG_CONFIG_HOME: parent of thehoneyvid/config directory.DISPLAY: when absent on Linux, login prints a Connect URL instead of opening a browser.
The CLI never prompts. It never publishes, tops up credits, or changes subscription plans.
Remote MCP setup
honeyvid setup all
honeyvid setup claude --apply
honeyvid setup codex
honeyvid setup cursor
Setup also suggests honeyvid skills install. The endpoint is <base>/mcp. Claude setup prints claude mcp add --transport http honeyvid <url>; --apply runs it if Claude is on PATH. Codex setup prints the ~/.codex/config.toml block. Cursor setup prints the ~/.cursor/mcp.json block. The CLI never edits these config files itself.
Development
This repository is the source of the honeyvid CLI; pull requests are welcome.
npm ci --ignore-scripts
scripts/fetch-skills.sh # copies HoneyVid/skills at the commit in skills.ref into ./skills
npm test
node bin/honeyvid.mjs --help
node bin/honeyvid.mjs schema
Tests start a local fake HTTP server and use temporary config directories. They do not call a real account, spend credits, or generate real videos.
Releasing: bump version in package.json and merge to main. The Release workflow publishes to npm by trusted publishing (no tokens) with the skills pinned in skills.ref. Changing server.json (bump its version) republishes the official MCP Registry entry ai.honeyvid/honeyvid.
HoneyVid MCP 질문
HoneyVid MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add --transport http cli https://honeyvid.ai/mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
HoneyVid MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
How long does video generation take?
Generation typically takes between 2 and 10 minutes.
How do I sign in to HoneyVid?
You can use the 'honeyvid login' command, which provides a URL and an eight-character code to match in your browser.
Can I use my own source video for generation?
Yes, you can upload an MP4 up to 100 MB that is between 3 and 30 seconds long.
What happens if a network error occurs during a job submission?
If a network failure or server error occurs, you should rerun the same command using the same idempotency key and inputs.