A discount on premium plans when you sign up Get your discount

blog/developers·Sep 22, 2026·5 min·by the eroq team

The eroq plugin for Claude Code — remote server, sign-in and a skill that knows the prices

Install eroq in Claude Code from our own marketplace: the remote MCP server with OAuth sign-in plus a skill that teaches Claude Code the models, prices and async renders. How it differs from the one-line command and the CLI.


There are now three ways to give Claude Code the eroq tools, and they are not the same thing. The one-line claude mcp add gives it the tools. The plugin gives it the tools and a skill — a short document that tells Claude Code how eroq prices, which model to pick, and how to wait for a video without being told. The CLI gives it a local server that writes files. This guide is the plugin: install, what the skill says, and when to pick which.

Install

Claude Code plugins come from marketplaces, and eroq serves its own from eroq.ai — no git repository involved:

/plugin marketplace add https://eroq.ai/claude-code/marketplace.json
/plugin install eroq@eroq

Then /mcp, select eroq, choose Authenticate. eroq opens in the browser; sign in and click Allow. Claude Code gets its own key, « Claude Code (connected) », under Developers → API keys — revoke it there to disconnect.

The marketplace entry is an archive pinned by SHA-256, so what installs is exactly what we published. Without the plugin, the server alone is:

claude mcp add --transport http eroq https://eroq.ai/mcp

(add --scope user to have it in every project), followed by the same /mcp → Authenticate. Prefer a key in a header? --header "Authorization: Bearer eroq_sk_…" works too.

What the skill teaches

A skill is a markdown file Claude Code reads when the task matches its description. The eroq skill triggers when you ask for a picture, a clip, a voice line or visual assets for the project, and it says, in short:

  • Do not guess prices. Call list_models once per session when the user has not named a model; it returns every model with its price and whether the plan unlocks it. Call get_account for the balance, and say so instead of rendering when a generation would clearly exceed it.
  • Enhance rough briefs. enhance_prompt is free; use it on a vague ask and show the user the prompt when it changes the intent.
  • Images: generate_image waits and returns the picture plus a signed link valid thirty minutes; aspect from the five ratios at the same price; save into the project right away with curl -L -o <path> "<url>" because the link expires. A job id on a slow start means poll get_image_status.
  • Video: asynchronous. generate_video waits up to about 45 seconds, then returns a job id; poll get_video_status every ten seconds or so; renders take one to five minutes. Name the engine with model when the look matters; seconds is capped by the plan and snapped to the engine's grid; reference_image_url is the first frame on engines with image-to-video.
  • Speech: generate_speech returns MP3; pick a voice from list_voices, or char:<id> from list_characters to speak as one of the user's characters.
  • Prompts: one flowing paragraph — subject, action, setting, light, lens or camera move, mood; concrete nouns over adjectives; for video, describe the motion and the camera.
  • Policy: adults only; never request minors or real people without consent; surface eroq's refusal messages as they come.

None of this is magic. It is the difference between an agent that renders a 20-second clip on the most expensive engine because you said « make a video », and one that asks which engine, quotes 45 credits for five seconds on the default, and polls until the file exists.

A session with the plugin

You: The onboarding screens need illustrations — one per step in steps.ts, 4:3, flat pastel style, consistent.

Claude Code reads steps.ts (five steps), calls list_models and get_account (« 1,240 credits; five Krea 2 images are 50 »), runs enhance_prompt on the style once and reuses the enhanced style line for each step, calls generate_image five times with aspect: "4:3", saves each to public/onboarding/step-N.webp with curl, and updates steps.ts with the paths. « Spent 50 credits, 1,190 remaining. »

Without the skill, the same ask usually gets five separate style guesses and no budget line.

Plugin, command or CLI

claude mcp add Plugin CLI (eroq mcp)
Tools Remote server Remote server Local server
Sign-in OAuth via /mcp OAuth via /mcp Key in env
Skill No Yes No
Output Links + inline images Links + inline images Files at paths
Best for Trying it Daily use Build steps, CI

The plugin and the command are the same server; the plugin adds the skill and pins a version. The CLI is a different server, local, that writes files — combine it with the plugin if you want both the skill's judgement and file output, since the skill's advice applies to either.

Updating

The marketplace entry carries a version; /plugin update eroq@eroq when we publish a new one (the skill changes as models and prices do). Validate a local copy with claude plugin validate if you fork it.

FAQ

What does the plugin add over the one-line command?

The same server, plus a skill that teaches Claude Code how eroq prompts, prices and async video work — so it picks sensible models, quotes credits, and polls clips without being told.

Do I need an API key?

No — /mcp → Authenticate runs the browser sign-in. A key in a header still works for scripted setups.

Can it save renders into my repo?

The remote server answers with links and inline images; the skill tells Claude Code to curl them into the project. For direct file output, use the CLI's local server: npx -y @eroq/cli mcp.

Is the marketplace safe to add?

It is served from eroq.ai over HTTPS and the plugin archive is pinned by SHA-256 in the marketplace file, so Claude Code verifies what it installs.

The Claude Code page has both commands to copy.

Tagsclaude-codepluginmcpskillassets

Make this with the models behind the post — start with 50 free credits , or browse every engine and its price .