grok-imagine-mcp
The grok-imagine-mcp server provides AI agents with access to Grok Imagine models on RunAPI for image and video generation, editing, and utility tasks.
text_to_image: Generate images from a text prompt, with aspect ratio options.text_to_video: Generate videos from a text prompt, with aspect ratio, motion style (fun,normal,spicy), and output resolution (480p,720p) options.image_to_video: Convert a static image into a video, with aspect ratio, motion style, and resolution controls.edit_image: Apply edits to an existing image.extend_video: Lengthen an existing video (6 or 10 seconds extension).upscale_image: Increase the resolution/quality of an existing image.get_task: Fetch the current status and result payload for any previously created task by task ID.check_pricing: Look up current pricing for any Grok Imagine model and endpoint — no API key required.Async or synchronous execution: All creation tools support a
waitflag to poll until completion or return immediately with a task ID. Configurable viatimeout_msandpoll_interval_ms.
Supported model variants: grok-imagine-text-to-image, grok-imagine-text-to-video, grok-imagine-image-to-video, grok-imagine-edit-image.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@grok-imagine-mcpgenerate an image of a cat wearing a wizard hat"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why This Package?
@runapi.ai/grok-imagine-mcp is a focused Model Context Protocol server for the Grok Imagine model line on RunAPI.
It gives MCP-compatible assistants direct access to 7 endpoints and 7 model variants without loading the full RunAPI catalog.
Use this per-model server when an agent should stay scoped to Grok Imagine. Use @runapi.ai/mcp when one assistant should discover every RunAPI model line.
Related MCP server: GPT Image MCP Server
Install
Add it to Claude Code:
claude mcp add grok-imagine -s user -- npx -y @runapi.ai/grok-imagine-mcpUse project scope when the server should be shared with a repository:
claude mcp add grok-imagine -s project -- npx -y @runapi.ai/grok-imagine-mcpCodex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:
{
"mcpServers": {
"grok-imagine": {
"command": "npx",
"args": ["-y", "@runapi.ai/grok-imagine-mcp"]
}
}
}check_pricing works before sign-in. For task creation and status polling, ask your assistant to call the login tool. It opens a browser login and saves credentials to ~/.config/runapi/config.json, the same file used by runapi login.
Headless and CI hosts can still set RUNAPI_API_KEY before starting the MCP host.
Ready-made examples are in examples/ for Claude, Cursor, Windsurf, VS Code, and Roo Code.
Tools
Tool | Auth | Purpose |
| Yes | Create a Grok Imagine edit image task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Grok Imagine extend video task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Grok Imagine image to video task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Grok Imagine segment map task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Grok Imagine text to image task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Grok Imagine text to video task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Create a Grok Imagine upscale image task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
| Yes | Fetch the current status and latest payload for an existing task. |
| No | Look up current pricing for a Grok Imagine model and endpoint. |
Models
Grok Imagine covers 7 model variants across 7 endpoints. Each tool accepts the models listed for it:
Tool | Models |
|
|
| no model parameter |
|
|
|
|
|
|
|
|
| no model parameter |
Model availability can change between releases. Use check_pricing or the Grok Imagine model page for the current catalog view.
Agent Prompts
Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.
Create a task
Run a Grok Imagine edit image task with RunAPI.The assistant can call check_pricing, then edit_image, and return the task id, status, and output URLs.
Submit without waiting
Create the task but don't wait for it to finish.The assistant calls the create tool with wait: false and returns the task id. Check on it later with get_task.
Check pricing before creating
Check current Grok Imagine pricing, then create the task if it matches my request.The assistant calls check_pricing and can link to the Grok Imagine model page for the canonical catalog entry.
Configuration
The server resolves auth in this order:
RUNAPI_API_KEYenvironment variable, useful for headless and CI hosts~/.config/runapi/config.json, created by the MCPlogintool orrunapi loginNo key, which still allows
check_pricing
The config file is normally managed by login. A pre-provisioned headless config can use:
{
"apiKey": "your_runapi_key"
}Do not commit real API keys.
Links
Resource | URL |
Grok Imagine model page | |
npm package | |
GitHub repository | |
RunAPI MCP overview | |
RunAPI docs |
License
Licensed under the Apache License, Version 2.0.
Available Tools
10 toolscheck_pricingA
Look up RunAPI pricing for the grok-imagine model line.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model slug. Defaults to the line's primary model. | |
| action | No | Endpoint name. Defaults to the endpoint that offers the model. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states an action ('look up') implying a read-only operation, but it does not explicitly disclose the absence of side effects, authentication needs, or rate limits. For a simple lookup tool, this is acceptable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the verb and resource. It contains no filler and conveys the essential purpose immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional params and no output schema, the description is minimal. It does not describe the return format or any prerequisites, potentially leaving an agent unsure what data to expect. However, the simplicity of the lookup operation keeps this from being a major gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains both parameters, including their enums and default behaviors. The description adds no additional parameter-specific meaning, meeting the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Look up') and names the exact resource ('RunAPI pricing for the grok-imagine model line'). It clearly distinguishes from sibling tools like text_to_image and edit_image, which are generation actions rather than pricing lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Look up RunAPI pricing' establishes a clear context: this is the tool for retrieving pricing information for the grok-imagine line. While it does not explicitly name alternatives, the purpose is self-evident and no exclusion is needed since siblings are for different operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageB
Create a Grok Imagine task on RunAPI (edit image). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Poll until the task reaches a terminal status. | |
| model | No | RunAPI model slug for this model line. | |
| prompt | No | Optional image editing instruction. | |
| timeout_ms | No | ||
| aspect_ratio | No | ||
| callback_url | No | Webhook URL for terminal Task delivery. | |
| mask_indices | No | Not accepted by this model. | |
| source_task_id | No | Not accepted by this model. | |
| poll_interval_ms | No | ||
| source_image_url | No | Public source image URL. | |
| source_image_urls | No | ||
| enable_safety_checker | No | Enable content safety checks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does reveal the async task-based nature and the returned fields (task id, status, output URLs), but it does not mention polling, wait behavior, safety checking, or side effects beyond creating a task.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant content. It communicates purpose and return value efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter tool with no output schema and no annotations, this description is too sparse. It explains what is returned but not how to construct a valid request, which parameters are important for editing, or how the task lifecycle works, leaving the agent with significant ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, which is not high enough to warrant a baseline 3, and the description adds no parameter semantics. It does not clarify how source_image_url, aspect_ratio, wait, or timeout_ms relate to an edit-image task, so the agent must rely purely on the partial schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a Grok Imagine task scoped to 'edit image', and notes the return type. It is distinguishable from siblings like text_to_image by the explicit 'edit image' scope, though it does not explicitly contrast itself with alternative tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings such as text_to_image, upscale_image, or image_to_video. The phrase 'edit image' only implies the use case; it does not state prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extend_videoB
Create a Grok Imagine task on RunAPI (extend video). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Poll until the task reaches a terminal status. | |
| prompt | Yes | Video continuation prompt. | |
| timeout_ms | No | ||
| callback_url | No | Webhook URL for terminal Task delivery. | |
| start_seconds | Yes | Source video position in seconds where extension begins. | |
| source_task_id | Yes | Completed prior Grok Imagine video Task ID. | |
| poll_interval_ms | No | ||
| extension_duration_seconds | Yes | Extension duration in seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that it returns a task id, status, and output URLs, but it does not mention whether the call is synchronous, that polling behavior exists (despite the wait parameter), or any side effects or constraints. The verb 'Create' implies a write operation, but no further behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core action: 'Create a Grok Imagine task on RunAPI (extend video)'. It then adds the return type. No wasted words, and the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is inadequate for a complex tool with no output schema and no annotations. It does not explain the concept of video extension, the dependency on a source_task_id from a completed prior task, or what the output URLs represent. A new agent is left without essential operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so most parameters already have descriptions. The tool description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Create a Grok Imagine task on RunAPI (extend video)'. The qualifier 'extend video' clearly distinguishes it from siblings like text_to_video and image_to_video, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention that it requires a prior completed video task, nor does it exclude other scenarios. The only implicit clue is the name and 'extend video', but there is no explicit when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskA
Fetch the current status and latest result payload for a grok-imagine task.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Asynchronous endpoint the task was created on. | |
| task_id | Yes | Task id returned when the task was created. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden itself. 'Fetch' signals a non-mutating read operation, and the described return content makes the tool's behavior reasonably transparent. It does not discuss authentication or polling details, but for a simple read tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It names the verb, resource, and product context efficiently, and every word contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description names the two key return concepts: current status and latest result payload. Together with the schema's full parameter documentation, this is enough for an agent to select and invoke the tool, though it does not describe possible status values or payload structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents task_id and action. The description adds no additional meaning about the parameters beyond referring to the task itself, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and names a precise resource ('current status and latest result payload for a grok-imagine task'). This clearly differentiates it from the sibling creation tools, so an agent can identify it as the task-status lookup tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the retrieval context: use this when you need the current status or result payload of an existing grok-imagine task. It does not explicitly enumerate when not to use it or name alternatives, but the sibling set makes the distinction obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_to_videoC
Create a Grok Imagine task on RunAPI (image to video). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Poll until the task reaches a terminal status. | |
| index | No | Zero-based source image index; used only with source_task_id. | |
| model | No | RunAPI model slug for this model line. | |
| prompt | No | Optional video generation prompt. | |
| timeout_ms | No | ||
| aspect_ratio | No | Output aspect ratio. | |
| callback_url | No | Webhook URL for terminal Task delivery. | |
| motion_style | No | Video motion style; spicy requires source_task_id. | |
| source_task_id | No | Prior Grok Imagine text-to-image Task ID; provide this or source_image_url, but not both. | |
| duration_seconds | No | Output duration in seconds. | |
| poll_interval_ms | No | ||
| source_image_url | No | Public source image URL; provide this or source_task_id, but not both. | |
| output_resolution | No | Output resolution. | |
| reference_image_urls | No | Not accepted by this model. | |
| enable_safety_checker | No | Enable content safety checks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It states the return payload (task id, status, output URLs), which is useful, but it omits critical behavioral details such as the asynchronous nature of task creation, the need for polling or waiting (evident from wait, poll_interval_ms, timeout_ms parameters), or the role of webhook callbacks. This is a significant gap for an operation that likely returns before completion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that immediately states the core function and the return value. It contains zero filler and is perfectly front-loaded. This is an exemplary level of conciseness for a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 15 parameters, no output schema, and no annotations, the description is far too minimal. It lacks workflow context (e.g., that this is an async task, that you need a source image either via URL or prior task, the role of callbacks, or how to interpret the status). The agent is left with only the raw parameter schema to figure out how to correctly invoke the tool, which is insufficient for a tool this complex.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (87%), so most parameters are already documented in the schema. The tool description adds no additional parameter insight beyond what the schema provides. Given the baseline for high coverage is 3, and the description adds nothing more, a 3 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create', the resource 'Grok Imagine task', and the specific mode 'image to video', which differentiates it from sibling tools like text_to_image and text_to_video. It also mentions the return values (task id, status, output URLs). The only weakness is that it doesn't explicitly name sibling alternatives, leaving the distinction to inference from the name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the alternatives (e.g., text_to_video or extend_video). While the schema hints at constraints like 'provide this or source_image_url, but not both', the top-level description offers no context about prerequisites, input requirements, or when this tool is the right choice. The agent must rely on the parameter schemas and siblings to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginA
Authenticate RunAPI by opening a browser PKCE login flow and saving the API key to ~/.config/runapi/config.json.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Re-run browser login when the current credential comes from the local config file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the interactive browser flow, PKCE method, and the side effect of saving the API key to a specific file path. This provides good transparency for a login tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the key action ('Authenticate RunAPI') and efficiently conveys the method and output. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a login tool with one boolean parameter and no output schema, the description covers the core purpose and side effect (file write). Minor gaps remain, such as behavior when already authenticated or if browser is unavailable, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the lone 'force' parameter, and the tool description does not add extra meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'authenticate', the resource 'RunAPI', and the specific action: opening a browser PKCE login flow and saving the API key. This distinguishes it from sibling tools which are unrelated (image/video generation and pricing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the initial authentication tool but does not explicitly state when to use it versus alternatives (e.g., if another authentication method exists). No guidance on when to use the 'force' parameter beyond its schema description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segment_mapC
Create a Grok Imagine task on RunAPI (segment map). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Poll until the task reaches a terminal status. | |
| model | No | RunAPI model slug for this model line. | |
| image_url | No | Public image URL that the service can fetch. | |
| timeout_ms | No | ||
| callback_url | No | Webhook URL for terminal Task delivery. | |
| source_task_id | No | Completed Image 2.0 text-to-image Task ID owned by the same account. Compatibility input; use image_url instead. | |
| poll_interval_ms | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool returns a task id, status, and output URLs, which hints at an asynchronous task pattern, but it does not explain polling, callback behavior, error handling, or whether the operation is blocking. It also says 'Create a task' but does not indicate side effects or whether it modifies resources. This is insufficient for safe agent use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff or redundancy. It front-loads the core action and briefly notes return values. Given the limited content, it is concise, though it could be more helpful without being longer. Efficiency alone supports a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no output schema, and no annotations, a one-sentence description is severely inadequate. It omits critical context such as what 'segment map' means, how the task progresses, what triggers terminal status, whether a callback is required, and how output URLs are delivered. An agent cannot reliably construct a call or interpret results with only this description. The description leaves many gaps that the schema cannot fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 71% (5 of 7 parameters have descriptions), so the schema already provides most parameter meaning. The description adds no parameter-specific details beyond repeating the overall purpose. One parameter (source_task_id) includes a compatibility note, which is helpful. Since coverage is above the 80% baseline, a 3 is appropriate—the description does not hinder but adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Create') and a resource ('Grok Imagine task on RunAPI (segment map)'), and mentions return values (task id, status, output URLs). However, the phrase 'segment map' is ambiguous—it could mean image segmentation but is not explained—and the description does not distinguish this tool from siblings like text_to_image or edit_image. It is not a tautology, but it leaves the core purpose partially unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It simply describes the action without any context about appropriate scenarios, input requirements, or relationships to sibling tools. An agent has no basis for choosing this over other task-creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_to_imageC
Create a Grok Imagine task on RunAPI (text to image). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Poll until the task reaches a terminal status. | |
| model | No | RunAPI model slug for this model line. | |
| prompt | Yes | Image generation prompt. | |
| enable_pro | No | Not accepted by this model. | |
| timeout_ms | No | ||
| aspect_ratio | No | Output aspect ratio. | |
| callback_url | No | Webhook URL for terminal Task delivery. | |
| poll_interval_ms | No | ||
| enable_safety_checker | No | Not accepted by this model. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavior. It states that it returns a task id, status, and output URLs, which hints at an async model, but does not explain the task lifecycle, whether it blocks or polls (a 'wait' parameter exists but is not mentioned), error handling, or side effects. The description under-discloses the operational behavior for a task-creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the action and the return values. It is efficient and free of filler. It could be more informative, but conciseness itself is well-executed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain the return format, but it only lists the elements without clarifying how the task id is used, when output URLs become available, or how the async workflow operates. It also omits guidance on the wait and callback options, leaving an agent unprepared to manage long-running tasks. The tool has 9 parameters, but the description ignores all of them, making the description incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 78%, leaving two parameters (timeout_ms and poll_interval_ms) undocumented. The description adds no parameter meaning beyond the schema; it does not explain these gaps or provide any parameter context. With moderate coverage, the description should compensate for missing schema details, but it fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create), the resource (a Grok Imagine task on RunAPI), and the specific domain (text to image). It differentiates from siblings like text_to_video and edit_image by naming the task type and the return values (task id, status, output URLs). The purpose is unambiguous and distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings (e.g., text_to_video, edit_image, upscale_image). It does not mention alternatives, exclusions, or prerequisites. The only implicit usage is that it generates images from text, but no explicit routing or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_to_videoC
Create a Grok Imagine task on RunAPI (text to video). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Poll until the task reaches a terminal status. | |
| model | No | RunAPI model slug for this model line. | |
| prompt | Yes | Video generation prompt. | |
| timeout_ms | No | ||
| aspect_ratio | No | Output aspect ratio. | |
| callback_url | No | Webhook URL for terminal Task delivery. | |
| motion_style | No | Video motion style. | |
| duration_seconds | No | Output duration in seconds. | |
| poll_interval_ms | No | ||
| output_resolution | No | Output resolution. | |
| reference_image_urls | No | Not accepted by this model. | |
| enable_safety_checker | No | Enable content safety checks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does state that it returns a task id, status, and output URLs, which hints at asynchronous task handling, but it does not mention the wait parameter, polling behavior, callback support, or any side effects (e.g., cost, rate limits). It also does not clarify that safety checks may be applied or that some parameters like reference_image_urls are not accepted by this model (though that is in the schema). This is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that states the tool's purpose and output in a compact way. It front-loads the most important information ('Create a Grok Imagine task on RunAPI (text to video)') and avoids any fluff. Every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, 1 required, no output schema), the description is notably sparse. It does not explain how to use the tool effectively, such as whether the task is synchronous (the wait parameter), how to set up callbacks, or typical usage patterns. The rich schema partially compensates, but for an agent to call this correctly, it would need more context about the task lifecycle and the meaning of the returned status. The description is incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, which is high, so the baseline is 3. The description adds no additional meaning to the parameters beyond what the schema already provides; it does not highlight any parameter relationships or usage nuances. Since the schema covers most parameters, the description's lack of parameter detail is acceptable, but it also does not enrich understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a Grok Imagine task') and the resource ('on RunAPI (text to video)'). It explicitly identifies the tool as text-to-video, which differentiates it from siblings like image_to_video and text_to_image. It also mentions what it returns. It could be more explicit about distinguishing from all siblings, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or scenarios where this tool is preferred over e.g., image_to_video or extend_video. The intended usage is only implied by the name and description, with no explicit 'use this when...' or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upscale_imageB
Create a Grok Imagine task on RunAPI (upscale image). Returns a task id, status, and output URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Poll until the task reaches a terminal status. | |
| timeout_ms | No | ||
| callback_url | No | Webhook URL for terminal Task delivery. | |
| source_task_id | Yes | Completed prior Grok Imagine video Task ID. | |
| poll_interval_ms | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states that it returns a task id and status, indicating an asynchronous operation, and mentions output URLs. However, it does not mention authentication requirements, potential costs (despite check_pricing sibling), or any side effects beyond task creation. This is partial transparency; it covers the core flow but misses operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the action and result. Every word serves a purpose: it identifies the tool's function, the platform, and the returns. There is no redundancy or fluff, making it highly efficient for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description must carry full contextual weight. It mentions returning a task id and output URLs, but does not explain how to poll or retrieve final results (e.g., via get_task), nor does it clarify the role of the wait parameter or callback_url. This is a significant gap for a tool that creates asynchronous tasks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60%, with two parameters (timeout_ms and poll_interval_ms) lacking descriptions. The tool description adds no parameter-specific information beyond what is in the schema. It does not explain the meaning or interaction of parameters like wait or callback_url, leaving gaps that the schema also does not fully address.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (create a Grok Imagine task) and its purpose (upscale image), which distinguishes it from siblings like text_to_image or text_to_video. The return value mention (task id, status, output URLs) adds clarity. It could be more explicit about the upscaling context, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for upscaling an image, which is enough for an agent to infer when to use it. However, it does not explicitly mention when not to use it or provide alternatives (e.g., use edit_image for other edits). No comparison with siblings is offered, so the agent must rely on the name and description to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
9 tool updates
v0.1.13- Changed
check_pricing2 fields changed- changed
Input schema / properties / action / enumPrevious value: -[ - "edit_image", - "extend_video", - "image_to_video", - "text_to_image", - "text_to_video", - "upscale_image" -]New value: +[ + "edit_image", + "extend_video", + "image_to_video", + "segment_map", + "text_to_image", + "text_to_video", + "upscale_image" +] - changed
Input schema / properties / model / enumPrevious value: -[ - "grok-imagine-edit-image", - "grok-imagine-image-to-video", - "grok-imagine-video-1.5-fast", - "grok-imagine-video-1.5-preview", - "grok-imagine-text-to-image", - "grok-imagine-text-to-video" -]New value: +[ + "grok-imagine-edit-image", + "grok-imagine-image-2-0", + "grok-imagine-image-to-video", + "grok-imagine-video-1.5-fast", + "grok-imagine-video-1.5-preview", + "grok-imagine-text-to-image", + "grok-imagine-text-to-video" +]
- Changed
edit_image9 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / aspect_ratioAdded value: +{ + "type": "string" +} - added
Input schema / properties / mask_indicesAdded value: +{ + "description": "Not accepted by this model." +} - changed
Input schema / properties / model / enumPrevious value: -[ - "grok-imagine-edit-image" -]New value: +[ + "grok-imagine-edit-image", + "grok-imagine-image-2-0" +] - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - added
Input schema / properties / source_image_urlsAdded value: +{ + "items": {}, + "type": "array" +} - added
Input schema / properties / source_task_idAdded value: +{ + "description": "Not accepted by this model." +} - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991 - removed
Input schema / requiredRemoved value: -[ - "source_image_url" -]
- Changed
extend_video6 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / extension_duration_seconds / anyOfAdded value: +[ + { + "const": 6, + "type": "number" + }, + { + "const": 10, + "type": "number" + } +] - removed
Input schema / properties / extension_duration_seconds / enumRemoved value: -[ - 6, - 10 -] - removed
Input schema / properties / extension_duration_seconds / typeRemoved value: -"number" - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
- Changed
get_task1 field changed- changed
Input schema / properties / action / enumPrevious value: -[ - "edit_image", - "extend_video", - "image_to_video", - "text_to_image", - "text_to_video", - "upscale_image" -]New value: +[ + "edit_image", + "extend_video", + "image_to_video", + "segment_map", + "text_to_image", + "text_to_video", + "upscale_image" +]
- Changed
image_to_video9 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / aspect_ratio / anyOfAdded value: +[ + { + "const": "2:3", + "type": "string" + }, + { + "const": "3:2", + "type": "string" + }, + { + "const": "1:1", + "type": "string" + }, + { + "const": "16:9", + "type": "string" + }, + { + "const": "9:16", + "type": "string" + }, + { + "const": "auto", + "type": "string" + } +] - removed
Input schema / properties / aspect_ratio / enumRemoved value: -[ - "2:3", - "3:2", - "1:1", - "16:9", - "9:16", - "auto" -] - removed
Input schema / properties / aspect_ratio / typeRemoved value: -"string" - added
Input schema / properties / output_resolution / anyOfAdded value: +[ + { + "const": "480p", + "type": "string" + }, + { + "const": "720p", + "type": "string" + }, + { + "const": "1080p", + "type": "string" + } +] - removed
Input schema / properties / output_resolution / enumRemoved value: -[ - "480p", - "720p" -] - removed
Input schema / properties / output_resolution / typeRemoved value: -"string" - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
- Added
segment_map - Changed
text_to_image10 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / aspect_ratio / anyOfAdded value: +[ + { + "const": "1:1", + "type": "string" + }, + { + "const": "2:3", + "type": "string" + }, + { + "const": "3:2", + "type": "string" + }, + { + "const": "16:9", + "type": "string" + }, + { + "const": "9:16", + "type": "string" + } +] - removed
Input schema / properties / aspect_ratio / enumRemoved value: -[ - "2:3", - "3:2", - "1:1", - "16:9", - "9:16" -] - removed
Input schema / properties / aspect_ratio / typeRemoved value: -"string" - changed
Input schema / properties / enable_pro / descriptionPrevious value: -"Enable Pro image generation mode."New value: +"Not accepted by this model." - changed
Input schema / properties / enable_safety_checker / descriptionPrevious value: -"Enable content safety checks."New value: +"Not accepted by this model." - changed
Input schema / properties / model / enumPrevious value: -[ - "grok-imagine-text-to-image" -]New value: +[ + "grok-imagine-image-2-0", + "grok-imagine-text-to-image" +] - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - removed
Input schema / properties / prompt / maxLengthRemoved value: -5000 - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
- Changed
text_to_video9 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / aspect_ratio / anyOfAdded value: +[ + { + "const": "2:3", + "type": "string" + }, + { + "const": "3:2", + "type": "string" + }, + { + "const": "1:1", + "type": "string" + }, + { + "const": "16:9", + "type": "string" + }, + { + "const": "9:16", + "type": "string" + }, + { + "const": "auto", + "type": "string" + } +] - removed
Input schema / properties / aspect_ratio / enumRemoved value: -[ - "2:3", - "3:2", - "1:1", - "16:9", - "9:16", - "auto" -] - removed
Input schema / properties / aspect_ratio / typeRemoved value: -"string" - added
Input schema / properties / output_resolution / anyOfAdded value: +[ + { + "const": "480p", + "type": "string" + }, + { + "const": "720p", + "type": "string" + }, + { + "const": "1080p", + "type": "string" + } +] - removed
Input schema / properties / output_resolution / enumRemoved value: -[ - "480p", - "720p" -] - removed
Input schema / properties / output_resolution / typeRemoved value: -"string" - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
- Changed
upscale_image3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / poll_interval_ms / maximumAdded value: +9007199254740991 - added
Input schema / properties / timeout_ms / maximumAdded value: +9007199254740991
8 tool updates
v0.1.11- Changed
check_pricing1 field changed- changed
Input schema / properties / model / enumPrevious value: -[ - "grok-imagine-edit-image", - "grok-imagine-image-to-video", - "grok-imagine-text-to-image", - "grok-imagine-text-to-video" -]New value: +[ + "grok-imagine-edit-image", + "grok-imagine-image-to-video", + "grok-imagine-video-1.5-fast", + "grok-imagine-video-1.5-preview", + "grok-imagine-text-to-image", + "grok-imagine-text-to-video" +]
- Changed
edit_image5 fields changed- added
Input schema / properties / callback_urlAdded value: +{ + "description": "Webhook URL for terminal Task delivery.", + "type": "string" +} - added
Input schema / properties / enable_safety_checkerAdded value: +{ + "description": "Enable content safety checks.", + "type": "boolean" +} - added
Input schema / properties / promptAdded value: +{ + "description": "Optional image editing instruction.", + "type": "string" +} - added
Input schema / properties / source_image_urlAdded value: +{ + "description": "Public source image URL.", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "source_image_url" +]
- Changed
extend_video6 fields changed- added
Input schema / properties / callback_urlAdded value: +{ + "description": "Webhook URL for terminal Task delivery.", + "type": "string" +} - added
Input schema / properties / extension_duration_seconds / descriptionAdded value: +"Extension duration in seconds." - added
Input schema / properties / promptAdded value: +{ + "description": "Video continuation prompt.", + "maxLength": 5000, + "type": "string" +} - added
Input schema / properties / source_task_idAdded value: +{ + "description": "Completed prior Grok Imagine video Task ID.", + "type": "string" +} - added
Input schema / properties / start_secondsAdded value: +{ + "description": "Source video position in seconds where extension begins.", + "minimum": 0, + "type": "number" +} - added
Input schema / requiredAdded value: +[ + "source_task_id", + "prompt", + "start_seconds", + "extension_duration_seconds" +]
- Changed
get_task1 field changed- changed
Input schema / properties / action / descriptionPrevious value: -"Endpoint the task was created on."New value: +"Asynchronous endpoint the task was created on."
- Changed
image_to_video14 fields changed- added
Input schema / properties / aspect_ratio / descriptionAdded value: +"Output aspect ratio." - changed
Input schema / properties / aspect_ratio / enumPrevious value: -[ - "2:3", - "3:2", - "1:1", - "16:9", - "9:16" -]New value: +[ + "2:3", + "3:2", + "1:1", + "16:9", + "9:16", + "auto" +] - added
Input schema / properties / callback_urlAdded value: +{ + "description": "Webhook URL for terminal Task delivery.", + "type": "string" +} - added
Input schema / properties / duration_secondsAdded value: +{ + "description": "Output duration in seconds.", + "maximum": 30, + "minimum": 6, + "type": "number" +} - added
Input schema / properties / enable_safety_checkerAdded value: +{ + "description": "Enable content safety checks.", + "type": "boolean" +} - added
Input schema / properties / indexAdded value: +{ + "description": "Zero-based source image index; used only with source_task_id.", + "maximum": 5, + "minimum": 0, + "type": "number" +} - changed
Input schema / properties / model / enumPrevious value: -[ - "grok-imagine-image-to-video" -]New value: +[ + "grok-imagine-image-to-video", + "grok-imagine-video-1.5-fast", + "grok-imagine-video-1.5-preview" +] - added
Input schema / properties / motion_style / descriptionAdded value: +"Video motion style; spicy requires source_task_id." - removed
Input schema / properties / motion_style / enumRemoved value: -[ - "fun", - "normal", - "spicy" -] - added
Input schema / properties / output_resolution / descriptionAdded value: +"Output resolution." - added
Input schema / properties / promptAdded value: +{ + "description": "Optional video generation prompt.", + "maxLength": 5000, + "type": "string" +} - added
Input schema / properties / reference_image_urlsAdded value: +{ + "description": "Not accepted by this model.", + "items": {}, + "type": "array" +} - added
Input schema / properties / source_image_urlAdded value: +{ + "description": "Public source image URL; provide this or source_task_id, but not both.", + "type": "string" +} - added
Input schema / properties / source_task_idAdded value: +{ + "description": "Prior Grok Imagine text-to-image Task ID; provide this or source_image_url, but not both.", + "type": "string" +}
- Changed
text_to_image6 fields changed- added
Input schema / properties / aspect_ratio / descriptionAdded value: +"Output aspect ratio." - added
Input schema / properties / callback_urlAdded value: +{ + "description": "Webhook URL for terminal Task delivery.", + "type": "string" +} - added
Input schema / properties / enable_proAdded value: +{ + "description": "Enable Pro image generation mode.", + "type": "boolean" +} - added
Input schema / properties / enable_safety_checkerAdded value: +{ + "description": "Enable content safety checks.", + "type": "boolean" +} - added
Input schema / properties / promptAdded value: +{ + "description": "Image generation prompt.", + "maxLength": 5000, + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "prompt" +]
- Changed
text_to_video12 fields changed- added
Input schema / properties / aspect_ratio / descriptionAdded value: +"Output aspect ratio." - changed
Input schema / properties / aspect_ratio / enumPrevious value: -[ - "2:3", - "3:2", - "1:1", - "16:9", - "9:16" -]New value: +[ + "2:3", + "3:2", + "1:1", + "16:9", + "9:16", + "auto" +] - added
Input schema / properties / callback_urlAdded value: +{ + "description": "Webhook URL for terminal Task delivery.", + "type": "string" +} - added
Input schema / properties / duration_secondsAdded value: +{ + "description": "Output duration in seconds.", + "maximum": 30, + "minimum": 6, + "type": "number" +} - added
Input schema / properties / enable_safety_checkerAdded value: +{ + "description": "Enable content safety checks.", + "type": "boolean" +} - changed
Input schema / properties / model / enumPrevious value: -[ - "grok-imagine-text-to-video" -]New value: +[ + "grok-imagine-text-to-video", + "grok-imagine-video-1.5-fast", + "grok-imagine-video-1.5-preview" +] - added
Input schema / properties / motion_style / descriptionAdded value: +"Video motion style." - removed
Input schema / properties / motion_style / enumRemoved value: -[ - "fun", - "normal", - "spicy" -] - added
Input schema / properties / output_resolution / descriptionAdded value: +"Output resolution." - added
Input schema / properties / promptAdded value: +{ + "description": "Video generation prompt.", + "maxLength": 5000, + "type": "string" +} - added
Input schema / properties / reference_image_urlsAdded value: +{ + "description": "Not accepted by this model.", + "items": {}, + "type": "array" +} - added
Input schema / requiredAdded value: +[ + "prompt" +]
- Changed
upscale_image3 fields changed- added
Input schema / properties / callback_urlAdded value: +{ + "description": "Webhook URL for terminal Task delivery.", + "type": "string" +} - added
Input schema / properties / source_task_idAdded value: +{ + "description": "Completed prior Grok Imagine video Task ID.", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "source_task_id" +]
1 tool update
v0.1.6- Added
login
8 tool updates
v0.1.0- First observed
check_pricing - First observed
edit_image - First observed
extend_video - First observed
get_task - First observed
image_to_video - First observed
text_to_image - First observed
text_to_video - First observed
upscale_image
TDQS
Each generation tool has a distinct name and maps to a different Grok Imagine mode, so an agent can usually tell them apart. However, all share identical description text ('Create a Grok Imagine task on RunAPI...'), which reduces the disambiguation help and makes 'segment_map' less obvious.
All names are lowercase snake_case, but the pattern is mixed: some tools use verb_noun (edit_image, get_task, check_pricing), while task-creation tools use feature names or transformation patterns (text_to_image, image_to_video, segment_map). This is readable but not a single consistent convention across the set.
Ten tools is well within the ideal range for a media-generation server. The count balances seven task-creation modes with supporting auth, status, and pricing tools without feeling bloated or thin.
The tool surface covers the major Grok Imagine generation modes plus login, result retrieval, and pricing, so core workflows are complete. Minor gaps exist such as no listing/cancelling of tasks or convenience helpers, but agents can work around them.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
130+ AI models for image, video, music, and audio — 18 model families, one RunAPI account.
Create images and videos from prompts, with options for image mixing, reference images, and start/…
Run multi-step AI pipelines for video, image, audio and text: upload media, run, poll results.
- MorphedOAuthapp.morphed
Create AI images and videos, manage projects and credits, and use workspace campaign context.
Related MCP Servers
AlicenseAqualityBmaintenanceEnables AI video and image generation through the Runway API. Supports video generation from images and text prompts, image creation, video upscaling and editing, and task management.72522MIT- AlicenseBqualityAmaintenanceEnables creating and managing GPT Image tasks (edit and text-to-image) via RunAPI, with options to poll status and check pricing.5107Apache 2.0
- AlicenseAqualityAmaintenanceEnables creating and polling Luma video modification tasks, fetching task status, and checking pricing via the RunAPI API.468Apache 2.0
- AlicenseAqualityAmaintenanceEnables image editing, remixing, and text-to-image generation using Qwen 2 models via RunAPI. Supports task polling and pricing checks.572Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/runapi-ai/grok-imagine-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server