Corent
NPM · CORENT-MCP · SCANNED SEP 20
Generate images, videos, voice, and text via the Corent API. Auto model routing with fallback.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 7 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5377 tokens (~192/item across 28 items; 27 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 28 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
How do I install the Corent MCP server?
Corent runs locally as an npm package, launched with npx -y corent-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · corent-mcp
claude mcp add gg13121-corent-mcp -- npx -y corent-mcp
{
"mcpServers": {
"gg13121-corent-mcp": {
"command": "npx",
"args": [
"-y",
"corent-mcp"
]
}
}
} {
"servers": {
"gg13121-corent-mcp": {
"command": "npx",
"args": [
"-y",
"corent-mcp"
]
}
}
} codex mcp add gg13121-corent-mcp -- npx -y corent-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gg13121-corent-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"corent-mcp"
],
"enabled": true
}
}
} openclaw mcp add gg13121-corent-mcp --command npx --arg -y --arg corent-mcp
mcp_servers:
gg13121-corent-mcp:
command: "npx"
args: ["-y", "corent-mcp"] {
"McpServers": {
"gg13121-corent-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"corent-mcp"
]
}
}
} assistant mcp add gg13121-corent-mcp -t stdio -c npx -a -y corent-mcp
{
"mcpServers": {
"gg13121-corent-mcp": {
"command": "npx",
"args": [
"-y",
"corent-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → 0.80 functional
- 15 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- 14 Sept 26 +11
- Known CVEs: unverified → pass ▲ security
- Dependency health: unverified → 0.84 ▲ functional
- 13 Sept 26 −10
- Known CVEs: pass → unverified ▼ security
- Schema quality: 4632 → 5377 ▼ functional
- Dependency health: 0.84 → unverified ▼ functional
- Package version: 0.9.0 → 0.10.0 functional
- 12 Sept 26 −15
- Stability: 0.87 → unverified ▼ security
- Malware scan: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Schema quality: pass → fail ▼ functional
- Tool coverage: 81% → 99% ▲ functional
- Schema quality: good → excellent functional
- Destructive annotations: pass → 100 functional
- Package version: 0.4.2 → 0.9.0 functional
- Package version: 0.4.2 → 0.8.0 functional
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/corent-mcp@0.10.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
cancel_film Cancel a film ~67
Stop a film that has not finished. A cancelled film is not billed. Use it as soon as the user says they did not mean to start it or want to change the story. A film that already finished stays completed.
| Name | Type | Req | Description |
|---|---|---|---|
| film_id | string | yes | The film_id to cancel |
| Name | Type | Req | Description |
|---|---|---|---|
| billed | boolean|null | – | – |
| characters | – | – | – |
| completed_at | string|null | – | – |
| cost_cents | number|null | – | – |
| created_at | string|null | – | – |
| customer_id | string|null | – | – |
| duration_s | number|null | – | – |
| error | string|null | – | – |
| error_message | string|null | – | – |
| estimated_cost_cents | number|null | – | – |
| film_id | string | – | – |
| progress_percent | number|null | – | – |
| quality_notes | – | – | – |
| scenes | – | – | – |
| stage_detail | string|null | – | – |
| status | string | – | – |
| title | string|null | – | – |
| video_url | string|null | – | – |
No examples provided.
cancel_job Cancel a running job ~73
Stop a job that has not finished and release the money held for it. Charges nothing. Use it as soon as the user says they did not mean to start something, especially a video. A job that already finished stays completed and billed for what was delivered.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | The job id to cancel |
| Name | Type | Req | Description |
|---|---|---|---|
| cancelled | boolean | – | – |
| detail | string | – | – |
| error | string | – | – |
| id | string | – | – |
| status | string | – | – |
No examples provided.
create Create (plan + generate, budget-capped) ~128
Describe one image or one clip in plain language; Corent picks type, tier, shape and duration and generates it. max_cost_cents is a required ceiling: above it nothing is generated. Videos return a job id for get_job. Failed generations are never billed. A story with several characters or anything over about 30 seconds is a film: use plan_film, then make_film.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | What you want, in natural language |
| max_cost_cents | integer | yes | Spend ceiling in cents for this one generation. Corent refuses if the estimate is higher. |
| Name | Type | Req | Description |
|---|---|---|---|
| actual_cost_cents | number|null | – | – |
| estimated_cost_cents | number|null | – | – |
| executed | boolean | – | – |
| message | string|null | – | – |
| next_step | string|null | – | – |
| result | – | – | – |
No examples provided.
edit_video Edit video ~363
Edit an existing clip with a prompt: add, remove, replace or change something in @Video 1. Keeps the source clip's length and shape. Asynchronous: returns a job id; poll get_job until completed. Runs on corent-seedance-2.5. Photos of real people are rejected as references; Corent-made characters are fine.
| Name | Type | Req | Description |
|---|---|---|---|
| audio | boolean | – | Ask for native sound in the result. |
| model | string | – | Model to run, default "corent-seedance-2.5", the model that can edit or extend a clip today. |
| negative_prompt | string | – | What must NOT appear in the result. |
| output_format | string | – | Delivered file type (default mp4). |
| prompt | string | yes | The change, naming the source as @Video 1 and using an edit verb: "Replace the red car in @Video 1 with a blue bicycle". |
| reference_audio_urls | array | – | Optional audio (@Audio 1 in the prompt) for the result to follow. |
| reference_image_urls | array | – | Optional images the result should match (@Image 1, @Image 2 in the prompt), e.g. a character or product to bring in. The supplier rejects photos of REAL people as references; characters generated ins… |
| resolution | string | – | Pixel resolution (default 720p); higher costs more. |
| return_last_frame | boolean | – | true returns last_frame_url on the finished job, a PNG of the final frame to start the next clip from. |
| seed | integer | – | Reproducibility, same contract as generate_video. |
| video_url | string | yes | Public https URL of the clip to edit (becomes @Video 1). |
| Name | Type | Req | Description |
|---|---|---|---|
| audio | array | – | – |
| duration_s | number|null | – | – |
| error | string | – | – |
| id | string | – | – |
| images | array | – | – |
| last_frame_url | string|null | – | – |
| meta | object | – | – |
| progress_percent | number|null | – | – |
| status | string | – | – |
| task | string|null | – | – |
| videos | array | – | – |
No examples provided.
extend_video Extend video ~380
Continue an existing clip (@Video 1) forward or backward, with a prompt for what happens next or before. Keeps the source shape; duration_s is the added length. Asynchronous: returns a job id; poll get_job until completed. Runs on corent-seedance-2.5. Pair with return_last_frame to chain shots.
| Name | Type | Req | Description |
|---|---|---|---|
| audio | boolean | – | Ask for native sound in the result. |
| direction | string | – | forward (default) adds footage after the clip; backward adds what happened before it. |
| duration_s | integer | – | Seconds of NEW footage to add. |
| model | string | – | Model to run, default "corent-seedance-2.5", the model that can edit or extend a clip today. |
| negative_prompt | string | – | What must NOT appear in the result. |
| output_format | string | – | Delivered file type (default mp4). |
| prompt | string | yes | What happens in the new footage. The direction line is added for you. |
| reference_audio_urls | array | – | Optional audio (@Audio 1 in the prompt) for the result to follow. |
| reference_image_urls | array | – | Optional images the result should match (@Image 1, @Image 2 in the prompt), e.g. a character or product to bring in. The supplier rejects photos of REAL people as references; characters generated ins… |
| resolution | string | – | Pixel resolution (default 720p); higher costs more. |
| return_last_frame | boolean | – | true returns last_frame_url on the finished job, a PNG of the final frame to start the next clip from. |
| seed | integer | – | Reproducibility, same contract as generate_video. |
| video_url | string | yes | Public https URL of the clip to continue (becomes @Video 1). |
| Name | Type | Req | Description |
|---|---|---|---|
| audio | array | – | – |
| duration_s | number|null | – | – |
| error | string | – | – |
| id | string | – | – |
| images | array | – | – |
| last_frame_url | string|null | – | – |
| meta | object | – | – |
| progress_percent | number|null | – | – |
| status | string | – | – |
| task | string|null | – | – |
| videos | array | – | – |
No examples provided.
generate_image Generate image ~642
Generate an image from a text prompt. Returns a permanent public URL. Synchronous, usually 2-20 seconds. Costs a few cents (premium ~7c); failed generations are never billed. Takes reference_image_urls to keep a face, character or product consistent (tier pro or up).
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | – |
| enhance_prompt | boolean | – | Corent rewrites the prompt before dispatch to get a better render. Pass false when the user has carefully worded their own prompt and wants it sent verbatim. |
| height | integer | – | Explicit pixel height; pass with width. |
| model | string | – | Direct model access: pin an exact model by name, e.g. "corent-flux-schnell" (list_models shows the menu; every name there is spelled corent-*). Bypasses Corent's routing -- never substituted, flat co… |
| n | integer | – | How many versions to render, 1 to 10. Each is a REAL render at the normal price, so n=4 costs four images; confirm with the user before spending on more than a couple. They come back together and met… |
| negative_prompt | string | – | What must NOT appear, e.g. "text, watermark". |
| output_format | string | – | Delivered file type. |
| prompt | string | yes | What to generate, in plain language |
| reference_image_urls | array | – | 1 to 4 public https image URLs that keep a CHARACTER, FACE, or PRODUCT consistent across generations. The prompt is applied as an EDIT of these references, so use it whenever the user wants the same… |
| seed | integer | – | Reproducibility. The same seed with the same prompt and model gives the same image, so use it to re-render a picture the user liked and change one thing. The seed that was used comes back in meta.see… |
| source_image_url | string | – | Image-to-image: start from this picture rather than from scratch. Pair with `strength`. Different from reference_image_urls, which pins an identity across scenes. |
| strength | number | – | How far to travel from source_image_url. 0 keeps it, 1 ignores it. |
| style | string | – | Optional content style hint |
| tier | string | – | Quality tier: air=cheapest (best value, not the quickest), lite=everyday, premium=production, pro=advanced, max_pro=maximum fidelity (flagship models). Omit for a sensible default. |
| transparent | boolean | – | Transparent background, for logos and product cutouts. Forces png. |
| width | integer | – | Explicit pixel width; pass with height. |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | – |
| images | array | – | – |
| meta | object | – | – |
| status | string | – | – |
No examples provided.
generate_image_batch Generate many images (batch) ~91
Submit up to 50 image generations in one call. Asynchronous: returns a batch_id and a job id per item; poll get_batch, then get_job per image. Every item bills at the normal rate, so check get_balance first. Items are tier-routed; pin a model with generate_image instead. No reference images here.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | 1 to 50 image requests |
| Name | Type | Req | Description |
|---|---|---|---|
| batch_id | string | – | – |
| counts | object | – | – |
| error | string | – | – |
| jobs | array | – | – |
| status | string | – | – |
No examples provided.
generate_speech Generate speech (voice) ~294
Text to speech. Synchronous: returns the finished audio URL and the exact charge. Billed in started blocks of 1,000 characters (roughly 25-30c for the first block), so a short line costs the same as a paragraph. Call list_voices first to pick a voice_id. Failed generations are never billed.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | ISO code for the multilingual models, e.g. "en" or "pt-BR". |
| model | string | – | Direct model access: pin an exact speech model by name, e.g. "corent-eleven-multilingual-v2" (list_models shows the menu with kind="speech"; every name there is spelled corent-*). |
| output_format | string | – | Audio format, e.g. "mp3" or "wav". |
| similarity | number | – | 0 to 1. How closely to hold the voice's character. |
| speed | number | – | Playback speed; 1.0 is natural pace. |
| stability | number | – | 0 to 1. Low is more expressive and varies more take to take; high is steadier. |
| style | number | – | 0 to 1. Extra expressiveness. |
| text | string | yes | The text to speak, max 5000 characters |
| voice_id | string | – | Optional provider voice id; omit for the default narration voice |
| Name | Type | Req | Description |
|---|---|---|---|
| audio_url | string | – | – |
| error | string | – | – |
| id | string | – | – |
| meta | object | – | – |
| status | string | – | – |
No examples provided.
generate_text Generate text (language model) ~456
Run a prompt or conversation through a frontier language model on the user's Corent account. Synchronous: returns the text, token usage and exact charge (fractions of a cent). Use it when the user wants a specific model's answer or work billed to Corent, not for your own reasoning. Supports tool calling and JSON mode.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | integer | – | Cap on the reply length in tokens (default 1024). The balance gate reserves against this, so keep it realistic. |
| messages | array | – | Full OpenAI-shaped conversation, for multi-turn work: prior assistant turns, and the tool results you are feeding back after a tool call. Takes precedence over prompt/system. Without this the model s… |
| model | string | – | Direct model access: pin an exact text model by name, e.g. "corent-claude-opus-5" (list_models shows the menu with kind="text"; every name there is spelled corent-*). Bypasses routing -- never substi… |
| prompt | string | – | What to ask, in plain language. Use this for a single question; use `messages` instead to continue a conversation. |
| response_format | object | – | Structured output, e.g. {"type":"json_object"} for JSON mode, or a json_schema block. |
| system | string | – | Optional system instruction that frames the request |
| temperature | number | – | Sampling temperature; omit for the model's default |
| tier | string | – | Quality tier: air=cheapest, lite=everyday, premium=production, pro=advanced, max_pro=frontier flagships. Omit for a sensible default. |
| tool_choice | – | – | How the model may use tools: "auto", "none", "required", or {type:"function",function:{name}}. |
| tools | array | – | OpenAI-shaped function definitions the model may call. When the model answers with tool calls, they come back in `tool_calls` and the reply text is empty: run them, then call again with `messages` ca… |
| Name | Type | Req | Description |
|---|---|---|---|
| cost_cents | number|null | – | – |
| error | string | – | – |
| finish_reason | string | – | – |
| model | string | – | – |
| text | string | – | – |
| tool_calls | – | – | – |
| usage | object | – | – |
No examples provided.
generate_video Generate video ~985
Start a video from text, a source image, or references (@Image 1, @Video 1, @Audio 1 in the prompt). Asynchronous: returns a job id; poll get_job until completed. Premium ~52c, pro ~84c per clip; failed generations are never billed. References need corent-seedance-2.5; photos of real people are rejected as references.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | Shape of the clip. OMIT IT (or pass adaptive) when animating a source image, editing or extending a clip: those keep the source's own shape, so naming another is refused rather than silently ignored.… |
| audio | boolean | – | Ask for native SOUND. Some models render audio and some are silent. true routes only to models that actually deliver sound, so a silent model can never quietly serve the request; false prefers a sile… |
| camera | string | – | Camera move. |
| duration_s | integer | – | Requested duration in seconds |
| end_image_url | string | – | The frame the clip should END on. Together with image_url this is the go-from-A-to-B / morph effect; alone it is a target to move toward. |
| enhance_prompt | boolean | – | false sends the prompt exactly as written. |
| fps | integer | – | Frames per second, where the model offers a choice. |
| image_url | string | – | If set, animates this image as the FIRST frame instead of pure text-to-video. Use a previous clip's last_frame_url to continue from it. |
| model | string | – | Direct model access: pin an exact model by name, e.g. "corent-seedance-2.5" (list_models shows the menu; every name there is spelled corent-*). Bypasses routing -- never substituted; duration and res… |
| negative_prompt | string | – | What must NOT appear in the clip. |
| output_format | string | – | Delivered file type (default mp4). |
| prompt | string | yes | What to generate, in plain language |
| reference_audio_urls | array | – | 1 to 10 public https audio files, @Audio 1 in the prompt, e.g. a track the clip should cut to. |
| reference_image_urls | array | – | 1 to 30 public https images the clip should keep to (a character, a product, a setting). Refer to them in the prompt as @Image 1, @Image 2 in this order. Needs model (corent-seedance-2.5); cannot be… |
| reference_video_urls | array | – | 1 to 10 public https clips, @Video 1, @Video 2 in the prompt: the source for an edit or extend task, or motion/style to follow. Cannot be combined with image_url/end_image_url. |
| resolution | string | – | Pixel resolution (default 720p). Tier-capped: pro allows up to 1080p, max_pro up to 4k; above the tier's cap it is clamped down, never rejected. Higher resolutions cost more (1080p ~2.5x, 4k ~5.5x).… |
| return_last_frame | boolean | – | true also stores a PNG of the final frame and returns it as last_frame_url on the finished job, so the next clip can start exactly there (pass it as image_url). Use it to chain shots. |
| seed | integer | – | Reproducibility, same contract as generate_image. |
| style | string | – | Optional content style hint, same vocabulary as generate_image |
| task | string | – | What to do with the references (default auto). edit changes something in @Video 1 and keeps its length: omit duration_s. extend continues @Video 1. Both need reference_video_urls and aspect_ratio omi… |
| tier | string | – | Quality tier: air=cheapest (best value, not the quickest), lite=everyday, premium=production, pro=advanced, max_pro=maximum fidelity (flagship models). Omit for a sensible default. |
| Name | Type | Req | Description |
|---|---|---|---|
| audio | array | – | – |
| duration_s | number|null | – | – |
| error | string | – | – |
| id | string | – | – |
| images | array | – | – |
| last_frame_url | string|null | – | – |
| meta | object | – | – |
| progress_percent | number|null | – | – |
| status | string | – | – |
| task | string|null | – | – |
| videos | array | – | – |
No examples provided.
generate_video_batch Generate many videos (batch) ~102
Submit up to 50 video generations in one call. Asynchronous: returns a batch_id and a job id per item; poll get_batch, then get_job per clip. Video is the expensive lane: a 10-item batch can cost several dollars, so confirm with the user and check get_balance first. Items are tier-routed.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | 1 to 50 video requests; each item takes the same reference fields as generate_video |
| Name | Type | Req | Description |
|---|---|---|---|
| batch_id | string | – | – |
| counts | object | – | – |
| error | string | – | – |
| jobs | array | – | – |
| status | string | – | – |
No examples provided.
get_balance Check account balance ~55
The account balance in cents. balance_cents is the total, held_cents is reserved by running generations, available_cents is what a new request can actually spend; check that one before an expensive video. Read-only and free.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| available_cents | number | – | – |
| balance_cents | number | – | – |
| held_cents | number | – | – |
No examples provided.
get_batch Check batch progress ~63
Progress of a batch from generate_image_batch or generate_video_batch: completed, failed and pending counts plus each item's job id. Read-only and free. Fetch a finished item's media with get_job.
| Name | Type | Req | Description |
|---|---|---|---|
| batch_id | string | yes | The batch_id returned by a batch tool |
| Name | Type | Req | Description |
|---|---|---|---|
| batch_id | string | – | – |
| completed | number | – | – |
| error | string | – | – |
| failed | number | – | – |
| jobs | array | – | – |
| pending | number | – | – |
| total | number | – | – |
No examples provided.
get_film Check film progress ~95
Progress of a film from make_film: the stage (queued, writing, casting, shooting, checking, editing, completed, failed, cancelled), progress_percent, and each scene. When completed it carries video_url, the finished film with sound, and cost_cents. Read-only and free. Tell the user the stage in one plain sentence.
| Name | Type | Req | Description |
|---|---|---|---|
| film_id | string | yes | The film_id returned by make_film |
| Name | Type | Req | Description |
|---|---|---|---|
| billed | boolean|null | – | – |
| characters | – | – | – |
| completed_at | string|null | – | – |
| cost_cents | number|null | – | – |
| created_at | string|null | – | – |
| customer_id | string|null | – | – |
| duration_s | number|null | – | – |
| error | string|null | – | – |
| error_message | string|null | – | – |
| estimated_cost_cents | number|null | – | – |
| film_id | string | – | – |
| progress_percent | number|null | – | – |
| quality_notes | – | – | – |
| scenes | – | – | – |
| stage_detail | string|null | – | – |
| status | string | – | – |
| title | string|null | – | – |
| video_url | string|null | – | – |
No examples provided.
get_job Check job status ~54
Check a generation job (mainly video). When completed, the response carries the permanent media URL and the cost. Read-only and free.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | The job id returned by generate_video or generate_image |
| Name | Type | Req | Description |
|---|---|---|---|
| audio | array | – | – |
| duration_s | number|null | – | – |
| error | string | – | – |
| id | string | – | – |
| images | array | – | – |
| last_frame_url | string|null | – | – |
| meta | object | – | – |
| progress_percent | number|null | – | – |
| status | string | – | – |
| task | string|null | – | – |
| videos | array | – | – |
No examples provided.
get_status Check service status ~35
Live operational status of Corent's generation tiers (operational or degraded). Read-only and free; useful to pick a healthy tier.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | – |
| tiers | array | – | – |
No examples provided.
inpaint_image Inpaint image (masked edit) ~162
Regenerate ONLY the white region of a mask and leave every pixel outside it byte-for-byte unchanged, so a product or logo stays exactly your file. Takes image_url, a same-size black-and-white mask_url (white = redo, black = keep) and a prompt for the masked area. Synchronous; failed runs are never billed.
| Name | Type | Req | Description |
|---|---|---|---|
| image_url | string | yes | Public https URL of the image to edit |
| mask_url | string | yes | Public https URL of a black-and-white mask the same size as the image: WHITE is regenerated, BLACK is preserved byte for byte |
| prompt | string | yes | What to generate inside the white (masked) region |
| tier | string | – | Quality tier for the regenerated region; omit for the default |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | – |
| images | array | – | – |
| meta | object | – | – |
| status | string | – | – |
No examples provided.
list_media List recent media ~131
Find media the account already made, so a result can be reused instead of paid for again. Reads the last 100 jobs, filtered by type and a prompt keyword (e.g. 'beach'), newest first. Returns id, type, status, date, tier, cost and URL per job. Read-only and free.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many rows to return, 1-100 (default 20) |
| query | string | – | Case-insensitive substring to match against each job's prompt |
| type | string | – | Only this lane: image, video, speech or text |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | – | – |
| error | string | – | – |
| items | array | – | – |
| scanned | number | – | – |
No examples provided.
list_models List available models ~75
The direct-access menu: every model that can be pinned by name (spelled corent-*) on the generate tools, with kind, quality score and live status. Carries no price; billing is flat cost-plus and each generation returns its exact charge. Read-only and free. Only needed when the user names a specific model.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | – | – |
| error | string | – | – |
| models | array | – | – |
No examples provided.
list_tiers List quality tiers and prices ~70
The live tier menu for image and video: each tier's price estimate, shapes, video durations, per-resolution pricing, and whether it accepts reference images (image) or a source image (video). Read-only and free. Check it before quoting a price. Tier-level only; never names a model.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | – |
| pricing_note | string | – | – |
| tiers | array | – | – |
No examples provided.
list_voices List voices ~63
The voices generate_speech accepts as voice_id, with display name, preview clip and descriptors (gender, age, accent, use case). Read-only and free. Call it before generate_speech whenever the user wants a particular narrator; a voice_id cannot be guessed.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | – | – |
| default_voice_id | string|null | – | – |
| error | string | – | – |
| voices | array | – | – |
No examples provided.
make_film Make a film (budget-capped) ~324
Start the film the user approved: pass plan_id from plan_film (or a brief), and max_cost_cents a little above the estimate. The charge never goes above max_cost_cents, and a failed or cancelled film is not billed. Returns film_id right away; a film takes about 15 to 30 minutes, so check get_film every 60 seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | 16:9 (default), 9:16 for vertical, or 1:1. |
| brief | string | – | Only when there is no plan_id: the film idea, planned and made in one go. |
| customer_id | string | – | Your own id for the end customer this film is for. |
| duration_s | integer | – | Length of the finished film in seconds, 10 to 120 (default 30). |
| language | string | – | Language the characters speak, e.g. "en" or "es". Omit to follow the brief. |
| max_cost_cents | integer | yes | Spend ceiling in cents. Refused up front if the estimate is higher; the charge never goes above it. |
| plan_id | string | – | The plan_id from plan_film. Preferred: it is the plan and price the user saw. |
| resolution | string | – | 720p (default) or 1080p; 1080p costs more. |
| webhook_secret | string | – | Optional secret that signs the webhook delivery. |
| webhook_url | string | – | Optional https URL that receives the finished film. |
| Name | Type | Req | Description |
|---|---|---|---|
| billed | boolean|null | – | – |
| characters | – | – | – |
| completed_at | string|null | – | – |
| cost_cents | number|null | – | – |
| created_at | string|null | – | – |
| customer_id | string|null | – | – |
| duration_s | number|null | – | – |
| error | string|null | – | – |
| error_message | string|null | – | – |
| estimated_cost_cents | number|null | – | – |
| film_id | string | – | – |
| progress_percent | number|null | – | – |
| quality_notes | – | – | – |
| scenes | – | – | – |
| stage_detail | string|null | – | – |
| status | string | – | – |
| title | string|null | – | – |
| video_url | string|null | – | – |
No examples provided.
plan Plan (cost preview, no generation) ~109
Preview how Corent would handle a plain-language request, without generating: image vs video, tier, shape, duration and an estimated cost. Image and video only; speech is generate_speech. A story with several characters or anything over about 30 seconds is a film: use plan_film. Impossible asks come back with can_fulfill false.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | What you want, in natural language, e.g. 'a 10s vertical clip of a sunrise for TikTok' |
| Name | Type | Req | Description |
|---|---|---|---|
| estimated_cost_cents | number|null | – | – |
| next_step | string|null | – | – |
| plan | object | – | – |
No examples provided.
plan_film Plan a film (script and price, free) ~239
Turn a one-sentence film idea into a plan without spending anything: title, characters, every scene with its dialogue, total length and the price range. The plan lasts 24 hours. Show the user the plan and the price and get a clear yes before make_film. Use it for any story with several characters or anything over about 30 seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | 16:9 (default), 9:16 for vertical, or 1:1. |
| brief | string | yes | The film in the user's own words, e.g. 'a 50 second parody where 5 founders start a startup and know nothing'. |
| customer_id | string | – | Your own id for the end customer this film is for. |
| duration_s | integer | – | Length of the finished film in seconds, 10 to 120 (default 30). |
| language | string | – | Language the characters speak, e.g. "en" or "es". Omit to follow the brief. |
| resolution | string | – | 720p (default) or 1080p; 1080p costs more. |
| Name | Type | Req | Description |
|---|---|---|---|
| characters | – | – | – |
| estimated_cost_cents | number|null | – | – |
| estimated_cost_range | – | – | – |
| expires_at | string|null | – | – |
| logline | string|null | – | – |
| plan_id | string | – | – |
| scenes | – | – | – |
| style | string|null | – | – |
| title | string|null | – | – |
| total_duration_s | number|null | – | – |
No examples provided.
remove_background Remove background ~81
Cut the subject out of an image and return a PNG with a real transparent background, for logos, product shots and compositing. Synchronous, flat price, no tier; failed runs are never billed. Takes a public https URL; upload a local file with upload_image first.
| Name | Type | Req | Description |
|---|---|---|---|
| image_url | string | yes | Public https URL of the image to cut out |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | – |
| images | array | – | – |
| meta | object | – | – |
| status | string | – | – |
No examples provided.
upload_image Upload image ~122
Upload a local image (base64) to Corent and get back a public https URL. Use that URL as image_url, mask_url, source_image_url or a reference in the other tools. Max 25 MB. Free; the file is stored on the account.
| Name | Type | Req | Description |
|---|---|---|---|
| content_type | string | yes | MIME type, e.g. "image/png" or "image/jpeg" |
| data_base64 | string | yes | The file bytes, base64 encoded (no data: prefix) |
| filename | string | – | Optional file name, e.g. product.png |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | number | – | – |
| content_type | string | – | – |
| error | string | – | – |
| id | string | – | – |
| url | string | – | – |
No examples provided.
upscale_image Upscale image ~100
Make an existing image bigger and sharper from its public https URL. Synchronous, returns a new permanent URL. Flat price, no tier; failed runs are never billed. Optional prompt guides the added detail; omit it to enlarge faithfully. Upload a local file with upload_image first.
| Name | Type | Req | Description |
|---|---|---|---|
| image_url | string | yes | Public https URL of the image to enlarge and sharpen |
| prompt | string | – | Optional guidance for the added detail; omit to enlarge faithfully |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | – |
| images | array | – | – |
| meta | object | – | – |
| status | string | – | – |
No examples provided.
What is the Corent MCP server?
Corent is an MCP server listed in the public MCP registry as io.github.gg13121/corent-mcp. Generate images, videos, voice, and text via the Corent API. Auto model routing with fallback. This page covers its npm package (corent-mcp).
Is the Corent MCP server safe to use?
Corent scores 84 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Corent MCP server expose?
Corent exposes 27 tools: generate_image, generate_video, edit_video, extend_video, generate_speech, and 22 more. Their descriptions and schemas cost roughly 5,359 tokens of context every time the server is loaded.
Is the Corent MCP server still maintained?
Corent is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Corent MCP server under?
Corent declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.