Skip to main content
Glama

GrokMCP

PyPI version Python License: MIT

A Model Context Protocol (MCP) server for Grok (xAI) — chat/reasoning/vision and Grok Imagine video generation, powered by the AceDataCloud API.

Chat with Grok models, or generate short AI videos from a text prompt or a still image — directly from any MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc.).

Features

  • Chat / Reasoning / Vision — Talk to Grok 4.5 / Grok 4 / Grok 3 models, with image input and tool calling

  • Text to Video — Generate a video clip from a text description

  • Image to Video — Animate a reference image into a video

  • Async task tracking — Submit a job, poll for the result, single or batch

  • stdio & HTTP transports — Local stdio for desktop clients, HTTP for remote hosting

Related MCP server: xbridge-mcp

Tools

Tool

Description

grok_chat_completions

Chat completion (reasoning / vision / tool calling) with Grok chat models.

grok_text_to_video

Generate a video from a text prompt (any model except grok-imagine-video-1.5:official).

grok_image_to_video

Generate a video from an input image (+ optional motion prompt).

grok_get_task

Query the status/result of a single generation task.

grok_get_tasks_batch

Query the status/result of multiple tasks at once.

grok_list_models

List available models and their capabilities.

grok_list_actions

List all tools and example workflows.

grok_get_prompt_guide

Tips for writing effective video prompts.

Models

Chat (grok_chat_completions)

Model

Notes

grok-4.5

Default — latest flagship reasoning model

grok-4

Previous flagship reasoning model

grok-3

Earlier-generation model

Video

Model

Text→Video

Image→Video

Notes

grok-imagine-video-1.5-fast:reverse

Default. Fastest & cheapest. 6-30s, duration-banded billing.

grok-imagine-video:reverse

Standard. 1-15s, billed per output second.

grok-imagine-video:official

Official endpoint, higher fidelity. 1-15s, per second.

grok-imagine-video-1.5:official

Official image-to-video only (requires image_url). Up to 1080p, per second.

Parameters

Parameter

Applies to

Values

prompt

both

Text description (required for text-to-video)

image_url

image-to-video

Input image URL (required for -1.5-preview)

reference_image_urls

image-to-video

Optional list of style/content reference images

aspect_ratio

both

1:1, 16:9 (default), 9:16, 4:3, 3:4, 3:2, 2:3

resolution

both

480p (default), 720p, 1080p

duration

both

grok-imagine-video-1.5-fast:reverse: 630s; other models: 115s (default 6)

callback_url

both

Optional async webhook

Installation

uvx mcp-grok

Via pip

pip install mcp-grok
mcp-grok

Configuration

Set your AceDataCloud API token (get one at https://platform.acedata.cloud):

export ACEDATACLOUD_API_TOKEN=your_api_token_here

Claude Desktop / Claude Code

Add to your MCP config (claude_desktop_config.json or .mcp.json):

{
  "mcpServers": {
    "grok": {
      "command": "uvx",
      "args": ["mcp-grok"],
      "env": {
        "ACEDATACLOUD_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Remote (HTTP)

A hosted Streamable HTTP endpoint is available at:

https://grok.mcp.acedata.cloud/mcp

Environment Variables

Variable

Description

Default

ACEDATACLOUD_API_TOKEN

API token (required)

ACEDATACLOUD_API_BASE_URL

API base URL

https://api.acedata.cloud

GROK_DEFAULT_MODEL

Default model

grok-imagine-video-1.5-fast:reverse

GROK_REQUEST_TIMEOUT

Request timeout (seconds)

180

MCP_SERVER_NAME

MCP server name

grok

MCP_TRANSPORT

Transport mode (stdio/http)

stdio

LOG_LEVEL

Logging level

INFO

Usage Notes

  • Generation is asynchronous: the generation tools return a task_id quickly. Poll with grok_get_task(task_id) until the state is succeeded and the video_url is available.

  • Generation typically takes ~30 seconds to a few minutes.

  • Keep resolution at 480p and duration short for faster, cheaper iterations.

Development

pip install -e ".[dev,test]"
pytest --cov=core --cov=tools
ruff check .

Documentation

Documentation

License

MIT — see LICENSE.

Available Tools

8 tools
grok_chat_completionsAInspect

Create a Grok (xAI) chat completion via the AceDataCloud Grok API.

Sends messages to a Grok chat model and returns the generated response in the
OpenAI-compatible chat completion format.

Use this when:
- You want to chat/reason with a Grok model (grok-4 / grok-3 family)
- You need vision/image understanding
- You need tool/function calling with Grok

For generating videos, use grok_text_to_video / grok_image_to_video instead.

Returns:
    JSON response containing the chat completion result.
ParametersJSON Schema
NameRequiredDescriptionDefault
nNoHow many chat completion choices to generate. Default 1.
seedNoRandom seed for (best-effort) deterministic sampling.
stopNoStop sequences where the API will stop generating tokens.
userNoEnd-user identifier for abuse monitoring.
audioNoAudio output configuration when requesting audio modality.
modelNoThe Grok chat model: grok-4.5 (default, latest flagship), grok-4 or grok-3.grok-4
storeNoWhether to store the output of this chat completion. Default false.
toolsNoList of tools (functions) the model may call.
top_pNoNucleus sampling probability mass. Default 1.
streamNoWhether to stream partial message deltas. Default False.
logprobsNoWhether to return log probabilities of output tokens.
messagesYesConversation messages. Each message is a dict with 'role' ('system'/'user'/'assistant'/'tool') and 'content' keys. Content may be a list of text/image_url parts for image input. Required.
metadataNoDeveloper-defined metadata attached to the request.
logit_biasNoToken logit bias map.
max_tokensNoMaximum number of tokens to generate.
modalitiesNoOutput modalities requested for this response.
predictionNoStatic predicted output content to improve latency.
temperatureNoSampling temperature between 0 and 2. Higher = more random.
tool_choiceNoControls tool calling. 'none', 'auto', 'required', or a dict.
service_tierNoSpecifies the processing tier. Options: 'auto' (default), 'default', 'flex' (asynchronous batch-eligible), 'scale', or 'priority'.
top_logprobsNoNumber of most likely tokens to return at each token position.
stream_optionsNoOptions for streaming responses.
response_formatNoResponse format specification (e.g. {"type": "json_object"}).
presence_penaltyNoPresence penalty between -2.0 and 2.0. Positive increases topic variety.
reasoning_effortNoReasoning effort. Only applies to reasoning-capable models; ignored by non-reasoning models.
frequency_penaltyNoFrequency penalty between -2.0 and 2.0. Positive decreases repetition.
web_search_optionsNoWeb search configuration for search-capable models.
parallel_tool_callsNoWhether to enable parallel tool calls. Default true.
max_completion_tokensNoUpper bound for tokens generated for a completion.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden, and it delivers the key traits: it sends messages to a remote Grok model and returns the response in the OpenAI-compatible chat completion format, with vision and function-calling capabilities called out. It does not mention cost, rate limits, or data-sharing implications of calling an external API, but those are inherent to the named API and less critical than the operation/response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and well structured with a short definition, scoped usage bullets, an alternative, and a returns note. Minor redundancy exists between the opening sentence and the 'Returns:' line, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 29-parameter tool with a fully described schema and an output schema, the description covers purpose, use cases, exclusions, and response format. It is not a 5 because it omits an example of the required messages structure and model-specific caveats, though the schema compensates for most of this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all 29 parameters. The narrative mentions vision and tool calling, which aligns with messages/tools, but it does not add syntax or format details beyond what the schema provides; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'Create a Grok (xAI) chat completion via the AceDataCloud Grok API' and then clarifies it sends messages to a Grok model and returns an OpenAI-compatible response. It also separates itself from sibling generation tools by telling agents to use grok_text_to_video / grok_image_to_video for video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit 'Use this when' bullets for chat/reasoning, vision, and tool calling, and an explicit exclusion: 'For generating videos, use grok_text_to_video / grok_image_to_video instead.' This tells the agent both when to invoke this tool and when not to.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grok_get_prompt_guideAInspect

Get guidance on writing effective prompts for Grok Imagine video generation.

Shows how to structure prompts for best video generation results.

Returns:
    Complete guide with prompt structure, examples, and tips.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description fully bears the burden of behavioral disclosure. It accurately describes a read-only operation that returns a guide, which is non-destructive and safe. No contradictions or omissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the core purpose, but the docstring format includes redundant backticks and a 'Returns:' section that could be integrated. Overall efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with an output schema, the description fully explains what the guide covers (structure, examples, tips). Given zero complexity and the output schema handling return details, it is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the schema coverage is 100% (empty). The description adds value by detailing the content of the returned guide (prompt structure, examples, tips), exceeding the baseline of 4 for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides guidance on writing prompts for Grok Imagine video generation, using a specific verb ('Get') and resource ('prompt guide'). It distinguishes itself from sibling tools like grok_text_to_video, which perform actual generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when needing help with prompt structuring for video generation, but does not explicitly state when not to use it or provide alternatives among siblings. The context from sibling names makes it fairly clear, but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grok_get_taskAInspect

Query the status and result of a video generation task.

Use this to check if a generation is complete and retrieve the resulting
video URLs and metadata.

Use this when:
- You want to check if a generation has completed
- You need to retrieve video URLs from a previous generation
- You want to get the full details of a generated video

Task states:
- 'pending'/'processing': Generation is still in progress
- 'succeeded': Generation finished successfully
- 'failed': Generation failed (check error message)

Returns:
    Task status and generated video information including URLs and state.
ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID returned from a generation request. This is the 'task_id' field from any grok_text_to_video or grok_image_to_video tool response.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It explains the query nature (read-only), what it returns (status, URLs, metadata), and task states including error handling. This provides sufficient behavioral context for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with bullet points and clear sections. It is front-loaded with purpose and usage guidelines. Minor duplication in 'Use this when' list could be trimmed, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, output schema exists), the description covers purpose, input, states, and return info. Missing info like rate limits or prerequisites is not critical for this query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter well-described. The description adds value by specifying that the task_id comes from generation tool responses, which helps the agent understand the parameter's origin beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries the status and result of a video generation task. The verb 'Query' and resource 'task' are specific, and the context distinguishes it from sibling grok_get_tasks_batch (plural) for multiple tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides three explicit 'Use this when' scenarios covering completion check, URL retrieval, and full details. It also lists task states. However, it does not explicitly exclude usage when alternative tools like grok_get_tasks_batch are more appropriate, or mention prerequisites like authentication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grok_get_tasks_batchAInspect

Query multiple video generation tasks at once.

Efficiently check the status of multiple tasks in a single request.
More efficient than calling grok_get_task multiple times.

Use this when:
- You have multiple pending generations to check
- You want to get status of several videos at once
- You're tracking a batch of generations

Returns:
    Status and video information for all queried tasks.
ParametersJSON Schema
NameRequiredDescriptionDefault
task_idsYesList of task IDs to query. Maximum recommended batch size is 50 tasks.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral traits. It states it returns status and video info, but does not disclose if it is read-only, side effects, rate limits, or error handling on missing task IDs. Basic coverage, not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one-line summary, efficiency note, bulleted usage list, and returns statement. Every sentence is necessary and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, output schema exists), the description is reasonably complete. Mentions the return type and usage scenarios. Could briefly address error handling for partial batches, but acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and already documents the parameter well. The description adds context about efficiency but does not significantly extend meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries multiple video generation tasks at once, using a specific verb and resource. It explicitly differentiates from the sibling grok_get_task by noting it is more efficient.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Use this when:' scenarios and contrasts with calling grok_get_task multiple times. Lacks explicit when-not-to-use, but the positive guidance is clear and helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grok_image_to_videoAInspect

Generate AI video from a reference image using Grok Imagine.

This animates your input image into a video clip. Provide a prompt to
describe the motion you want, and optional reference images to guide style.

Use this when:
- You have a specific image you want to animate
- You want consistent visual style from a reference
- You want to turn a still photo into a short video

For video generation from text only, use grok_text_to_video instead.

Returns:
    Task ID and generated video information including URLs and state.
ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoGrok Imagine model. All models support image-to-video. 'grok-imagine-video-1.5-fast:reverse' (default) is fastest and cheapest; 'grok-imagine-video-1.5:official' offers the highest fidelity (up to 1080p) and is image-to-video only; 'grok-imagine-video' provides standard quality image-to-video generation.grok-imagine-video-1.5-fast:reverse
promptNoOptional description of the motion/action to apply to the image. Examples: 'The camera slowly zooms in as the character smiles', 'Gentle wind moves the trees and clouds drift across the sky'. Optional when an image_url is provided.
durationNoVideo duration in seconds (default 6). 'grok-imagine-video-1.5-fast:reverse' supports 6-30; every other model supports 1-15.
image_urlYesURL of the input image to animate into a video. Required for image-to-video generation.
resolutionNoOutput resolution. '480p' (default, cheaper), '720p', or '1080p'. Higher resolution costs more per second on the per-second-priced models.480p
aspect_ratioNoVideo aspect ratio. Should typically match your input image aspect ratio for best results.16:9
callback_urlNoOptional URL to receive a POST callback when generation completes.
reference_image_urlsNoOptional list of additional reference image URLs used to guide the style or content of the generated video.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the operation (animating image into video) and the return shape (Task ID, video information, URLs, state). However, it does not explicitly state that generation is asynchronous, whether the response is immediate or requires polling via grok_get_task, or any limitations on input images. This ambiguity is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-sentence purpose, a brief explanation, a bulleted 'Use this when' list, a sibling-tool pointer, and a return summary. Every sentence earns its place; no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with a rich schema and output schema, the description covers purpose, usage, and returns. The main gap is the lack of explicit guidance on the async task lifecycle (e.g., 'returns a task ID immediately; use grok_get_task to poll for completion'). Given the sibling tools include grok_get_task, this context would complete the picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds only minimal context beyond the schema, such as mentioning prompt for motion and reference images for style. It does not explain parameter interactions or constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb+resource: 'Generate AI video from a reference image using Grok Imagine.' It clearly states the tool animates an input image into a video clip. It distinguishes itself from the sibling tool grok_text_to_video by explicitly directing text-only generation there.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a 'Use this when' bullet list with three concrete scenarios, and directly names the alternative tool ('For video generation from text only, use grok_text_to_video instead'). This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grok_list_actionsAInspect

List all available Grok Imagine tools and workflows.

Reference guide for what each tool does and how they fit together.

Returns:
    Categorized list of all tools and example workflows.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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 categorized list of tools and example workflows, which is sufficient for a read-only listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three short sentences, no unnecessary words, and front-loaded purpose. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with no parameters and an output schema present, the description fully covers purpose, usage context, and return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With no parameters, schema coverage is 100%. The description does not need to add parameter details, meeting the baseline of 4 for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available Grok Imagine tools and workflows, and serves as a reference guide. This distinguishes it from sibling tools that perform specific actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for discovery and understanding tool relationships but does not explicitly state when to use versus alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grok_list_modelsAInspect

List all available Grok models (chat + video) and their capabilities.

Shows the chat models and the Grok Imagine video models with their features
and input rules. Use this to understand which model to choose.

Returns:
    Tables of all models with their capabilities.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It specifies that it returns tables with capabilities, which is transparent but could mention if it makes a network call or requires authentication. For a simple read operation, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, well-structured with a summary, details on what it shows, and a return note. No fluff, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an output schema, the description covers purpose, usage, and return format. It is complete for a list tool with siblings, and does not need to explain return values due to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100% trivial. The description adds context about what the tool returns (chat + video models, capabilities), which is valuable beyond the empty schema. Baseline 4 for zero params is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists all available Grok models (chat + video) and their capabilities, using a specific verb ('list') and resource ('models'). It distinguishes from siblings like grok_chat_completions (which uses models) and the video generation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to understand which model to choose,' providing clear usage guidance. While it doesn't mention when not to use or alternatives, the context is sufficient for a list tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grok_text_to_videoAInspect

Generate AI video from a text prompt using Grok Imagine.

This creates a video from scratch based on your text description. Grok
Imagine will interpret your prompt and generate a matching video clip.

Use this when:
- You want to create a video from a text description
- You don't have a reference image to use
- You want maximum creative freedom

Only the 'grok-imagine-video-1.5-fast:reverse', 'grok-imagine-video:reverse',
and 'grok-imagine-video:official' models support text-to-video. For generating
a video from a reference image, use grok_image_to_video instead.

Returns:
    Task ID and generated video information including URLs and state.
ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoGrok Imagine model. Text-to-video is supported by 'grok-imagine-video-1.5-fast:reverse' (default, fast 6-30s), 'grok-imagine-video:reverse' (standard 1-15s), 'grok-imagine-video:official' (official, higher fidelity), and 'grok-imagine-video' (standard quality). Do NOT use 'grok-imagine-video-1.5:official' here — it is image-to-video only.grok-imagine-video-1.5-fast:reverse
promptYesDescription of the video to generate. Be descriptive about scene, subject, action, camera movement, lighting, and style. Examples: 'A cinematic shot of a kitten chasing a butterfly in a sunlit garden', 'Drone shot flying over a neon-lit cyberpunk city at night'. Required for text-to-video.
durationNoVideo duration in seconds (default 6). 'grok-imagine-video-1.5-fast:reverse' supports 6-30; every other model supports 1-15.
resolutionNoOutput resolution. '480p' (default, cheaper), '720p', or '1080p'. Higher resolution costs more per second on the per-second-priced models.480p
aspect_ratioNoVideo aspect ratio. '16:9' for landscape/widescreen, '9:16' for portrait/vertical, '1:1' for square, plus '4:3', '3:4', '3:2', '2:3'.16:9
callback_urlNoOptional URL to receive a POST callback when generation completes. The callback will include the task_id and video results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the async nature by stating 'Returns: Task ID and generated video information including URLs and state,' which implies polling. It also mentions model-specific durations, cost implications of resolution, and callback behavior. Minor gap: it doesn't explicitly state that generation is asynchronous or mention failure/error handling, but the return-type disclosure is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose sentence, context, explicit use cases, sibling-tool reference, model compatibility note, and a concise returns section. Every sentence earns its place, and it is front-loaded with the primary action. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six parameters with complex model constraints, the description covers all necessary operational context: supported models, duration limits, resolution cost implications, aspect ratio usage, callback behavior, and return type. It is complete for a task-creation tool with rich schema and no need to explain return values beyond the stated task ID and URLs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds critical value beyond the schema by clarifying which models support text-to-video and explicitly warning against using 'grok-imagine-video-1.5:official' for this tool. This prevents a common mistake and adds semantic meaning not present in the schema enum alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource statement: 'Generate AI video from a text prompt using Grok Imagine.' It clearly distinguishes the tool from its sibling grok_image_to_video by explicitly noting that image-to-video should use that sibling tool. The 'Use this when' bullets further narrow the purpose to text-only generation with creative freedom.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use this when' bullets provide clear usage context, and the description directly names the alternative tool for reference-image inputs. It also lists the exact models that support text-to-video, warning against using an incompatible model. This gives unambiguous when-to-use and when-not-to-use guidance.

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.

  1. 1 tool updatev0.1.6
    • Changedgrok_chat_completions14 fields changed
      • addedInput schema / properties / audio
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Audio output configuration when requesting audio modality.",
        +  "title": "Audio"
        +}
      • addedInput schema / properties / logit_bias
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Token logit bias map.",
        +  "title": "Logit Bias"
        +}
      • addedInput schema / properties / logprobs
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Whether to return log probabilities of output tokens.",
        +  "title": "Logprobs"
        +}
      • addedInput schema / properties / max_completion_tokens
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Upper bound for tokens generated for a completion.",
        +  "title": "Max Completion Tokens"
        +}
      • addedInput schema / properties / metadata
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Developer-defined metadata attached to the request.",
        +  "title": "Metadata"
        +}
      • addedInput schema / properties / modalities
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Output modalities requested for this response.",
        +  "title": "Modalities"
        +}
      • addedInput schema / properties / n
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "How many chat completion choices to generate. Default 1.",
        +  "title": "N"
        +}
      • addedInput schema / properties / parallel_tool_calls
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Whether to enable parallel tool calls. Default true.",
        +  "title": "Parallel Tool Calls"
        +}
      • addedInput schema / properties / prediction
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Static predicted output content to improve latency.",
        +  "title": "Prediction"
        +}
      • addedInput schema / properties / service_tier
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "auto",
        +        "default",
        +        "flex",
        +        "scale",
        +        "priority"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Specifies the processing tier. Options: 'auto' (default), 'default', 'flex' (asynchronous batch-eligible), 'scale', or 'priority'.",
        +  "title": "Service Tier"
        +}
      • addedInput schema / properties / store
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Whether to store the output of this chat completion. Default false.",
        +  "title": "Store"
        +}
      • addedInput schema / properties / stream_options
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Options for streaming responses.",
        +  "title": "Stream Options"
        +}
      • addedInput schema / properties / top_logprobs
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Number of most likely tokens to return at each token position.",
        +  "title": "Top Logprobs"
        +}
      • addedInput schema / properties / web_search_options
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Web search configuration for search-capable models.",
        +  "title": "Web Search Options"
        +}
  2. 2 tool updatesv0.1.5
    • Changedgrok_image_to_video2 fields changed
      • changedInput schema / properties / model / description
        Previous value: -"Grok Imagine model. All models support image-to-video. 'grok-imagine-video-1.5-fast:reverse' (default) is fastest and cheapest; 'grok-imagine-video-1.5:official' offers the highest fidelity (up to 1080p) and is image-to-video only."New value: +"Grok Imagine model. All models support image-to-video. 'grok-imagine-video-1.5-fast:reverse' (default) is fastest and cheapest; 'grok-imagine-video-1.5:official' offers the highest fidelity (up to 1080p) and is image-to-video only; 'grok-imagine-video' provides standard quality image-to-video generation."
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-video-1.5-fast:reverse",
        -  "grok-imagine-video:reverse",
        -  "grok-imagine-video:official",
        -  "grok-imagine-video-1.5:official"
        -]New value: +[
        +  "grok-imagine-video-1.5-fast:reverse",
        +  "grok-imagine-video:reverse",
        +  "grok-imagine-video:official",
        +  "grok-imagine-video-1.5:official",
        +  "grok-imagine-video"
        +]
    • Changedgrok_text_to_video2 fields changed
      • changedInput schema / properties / model / description
        Previous value: -"Grok Imagine model. Text-to-video is supported by 'grok-imagine-video-1.5-fast:reverse' (default, fast 6-30s), 'grok-imagine-video:reverse' (standard 1-15s), and 'grok-imagine-video:official' (official, higher fidelity). Do NOT use 'grok-imagine-video-1.5:official' here — it is image-to-video only."New value: +"Grok Imagine model. Text-to-video is supported by 'grok-imagine-video-1.5-fast:reverse' (default, fast 6-30s), 'grok-imagine-video:reverse' (standard 1-15s), 'grok-imagine-video:official' (official, higher fidelity), and 'grok-imagine-video' (standard quality). Do NOT use 'grok-imagine-video-1.5:official' here — it is image-to-video only."
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-video-1.5-fast:reverse",
        -  "grok-imagine-video:reverse",
        -  "grok-imagine-video:official",
        -  "grok-imagine-video-1.5:official"
        -]New value: +[
        +  "grok-imagine-video-1.5-fast:reverse",
        +  "grok-imagine-video:reverse",
        +  "grok-imagine-video:official",
        +  "grok-imagine-video-1.5:official",
        +  "grok-imagine-video"
        +]
  3. 1 tool updatev0.1.4
    • Addedgrok_get_tasks_batch
  4. 6 tool updatesv0.1.3
    • Changedgrok_chat_completions5 fields changed
      • changedInput schema / properties / messages / description
        Previous value: -"Conversation messages. Each message is a dict with 'role' ('system'/'user'/'assistant'/'tool') and 'content' keys. For vision with grok-2-vision, content may be a list of text/image_url parts. Required."New value: +"Conversation messages. Each message is a dict with 'role' ('system'/'user'/'assistant'/'tool') and 'content' keys. Content may be a list of text/image_url parts for image input. Required."
      • changedInput schema / properties / model / description
        Previous value: -"The Grok chat model. grok-4 (default, flagship) and grok-3 are the broadly available models. Also: grok-4-1-fast, grok-4-1-fast-non-reasoning, grok-3-mini, grok-2-vision (image input) — availability depends on upstream provisioning."New value: +"The Grok chat model: grok-4.5 (default, latest flagship), grok-4 or grok-3."
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-4",
        -  "grok-4-1-fast",
        -  "grok-4-1-fast-non-reasoning",
        -  "grok-3",
        -  "grok-3-mini",
        -  "grok-2-vision"
        -]New value: +[
        +  "grok-4.5",
        +  "grok-4",
        +  "grok-3"
        +]
      • changedInput schema / properties / reasoning_effort / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "low",
        -      "high"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "minimal",
        +      "low",
        +      "medium",
        +      "high"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / reasoning_effort / description
        Previous value: -"Reasoning effort: 'low' or 'high'. Only applies to reasoning-capable models (e.g. grok-3-mini). Ignored by non-reasoning models."New value: +"Reasoning effort. Only applies to reasoning-capable models; ignored by non-reasoning models."
    • Addedgrok_get_prompt_guide
    • Addedgrok_image_to_video
    • Addedgrok_list_actions
    • Addedgrok_list_models
    • Addedgrok_text_to_video
  5. 6 tool updatesv0.1.2
    • Removedgrok_get_prompt_guide
    • Removedgrok_get_tasks_batch
    • Removedgrok_image_to_video
    • Removedgrok_list_actions
    • Removedgrok_list_models
    • Removedgrok_text_to_video
  6. 8 tool updatesv0.1.0
    • First observedgrok_chat_completions
    • First observedgrok_get_prompt_guide
    • First observedgrok_get_task
    • First observedgrok_get_tasks_batch
    • First observedgrok_image_to_video
    • First observedgrok_list_actions
    • First observedgrok_list_models
    • First observedgrok_text_to_video

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct operation: chat completion, model listing, task status polling, and the two video generation entry points are clearly separable. The single-task vs batch-task tools are explicitly differentiated, and text_to_video vs image_to_video cross-reference each other to prevent confusion.

Naming Consistency4/5

All tools share a consistent grok_ prefix and snake_case convention, making the set predictable. Minor deviations exist: grok_chat_completions lacks an explicit verb, and text_to_video/image_to_video use a source_to_target pattern rather than verb_noun, but these are readable and do not break the overall style.

Tool Count5/5

Eight tools is a well-scoped size for a Grok API server covering chat and video generation. Each tool serves a clear purpose without redundancy, and the inclusion of model listing, prompt guidance, and task polling makes the set self-contained.

Completeness4/5

The core workflows are covered: chat completion, model discovery, text-to-video, image-to-video, and task status retrieval in both single and batch forms. Minor gaps exist such as no cancellation or deletion of video generation tasks, but the primary create-and-poll lifecycle is fully supported.

Maintenance

ActivityActive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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/AceDataCloud/GrokMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server