grok-mcp
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-mcpGenerate an image of a futuristic city skyline at sunset with flying cars"
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.
grok-mcp
把 Grok2API 上的 Grok Console 画图 / 改图 / 视频 / 对话搜索能力,同时提供:
MCP Server — 给 Claude Code / Codex / Cursor 等 Agent 调用
Web Console — 风格对齐 grok2api 管理端的创作台(Chat / Image / Video)
能力边界(Console)
默认模型全部来自 Grok Console:
模型 | 类型 | 网关接口能力 |
| 对话 | Chat Completions、Responses、Messages |
| 对话 | Chat Completions、Responses、Messages |
| 对话 | Chat Completions、Responses、Messages |
| 对话 | Chat Completions、Responses、Messages |
| 对话 | Chat Completions、Responses、Messages |
| 对话 | Chat Completions、Responses、Messages |
| 图像 + 图像编辑 | Images Generations、Images Edits |
| 图像 + 图像编辑 | Images Generations、Images Edits |
| 视频 | Videos |
能力 | Grok2API 路径 | 默认模型 |
文生图 |
|
|
图编辑 |
| 同上(无单独 edit 模型 id) |
视频 |
|
|
搜索 / 对话 |
| 搜索 |
Related MCP server: Grok Imagine Video MCP Server
架构
Claude Code / Codex / Cursor
│ MCP HTTP (/mcp)
▼
grok-mcp (本仓库)
│ OpenAI-compatible HTTPS
▼
Grok2API → Grok Console网页控制台是另一条线:浏览器 → FastAPI → Grok2API。
仓库结构
grok-mcp/
├── src/grok_mcp/ # MCP server + Grok2API client
├── backend/app/ # FastAPI:Web API + /mcp 挂载 + 静态前端
├── frontend/ # React + Vite + Tailwind 控制台
├── examples/ # Claude Code / Codex 接入样例
├── scripts/ # 本地开发脚本
└── tests/快速开始
1. 配置
cp .env.example .env至少填写:
GROK2API_BASE_URL=http://127.0.0.1:8000
GROK2API_API_KEY=g2a_xxx_xxx
MCP_TOKEN=change-me-mcp-token
PUBLIC_BASE_URL=http://127.0.0.1:8790
ADMIN_PASSWORD=change-me
SESSION_SECRET=change-me-session-secret2. 本地开发
uv sync --extra dev
# 终端 1 — API / MCP :8790
./scripts/dev-backend.sh
# 终端 2 — 前端 :5173
./scripts/dev-frontend.sh浏览器打开 http://127.0.0.1:5173。
3. Docker
cd frontend && pnpm install && pnpm build && cd ..
docker compose up -d --build服务默认:
Web:
http://127.0.0.1:8790MCP:
http://127.0.0.1:8790/mcp登录:
ADMIN_USERNAME/ADMIN_PASSWORD
MCP 接入
Claude Code / CC Switch
推荐连接已部署的 grok-mcp HTTP 端点(见 examples/mcp.claude.json):
{
"mcpServers": {
"grok": {
"type": "http",
"url": "http://127.0.0.1:8790/mcp",
"headers": {
"Authorization": "Bearer change-me-mcp-token"
}
}
}
}写入 ~/.claude.json 的 mcpServers,或项目 .mcp.json,然后重开会话。
Codex
[features]
rmcp_client = true
[mcp_servers.grok]
url = "http://127.0.0.1:8790/mcp"
bearer_token_env_var = "MCP_BEARER_TOKEN"
startup_timeout_sec = 30
tool_timeout_sec = 600export MCP_BEARER_TOKEN="change-me-mcp-token"MCP Tools
Tool | 作用 |
| 静态 Console 模型表 |
| 目录 + 网关模型 |
| 画图 / 改图(下载到本地并返回可展示内容) |
| 视频任务(完成后提供 |
| 搜索 / 对话 |
Web 页面
路由 | 说明 |
| 概览 |
| 创作台:对话 / 图片 / 视频 |
| 本地图片历史 |
| 本地视频任务历史 |
| MCP 接入向导 + 配置展示 |
设计说明
不重新实现 Grok 上游协议;只做 Grok2API 适配层。
Agent 配置里应出现本服务的
/mcp,不要把g2a_key 写进 Claude/Codex。图片会物化到
GROK_MCP_MEDIA_DIR,并通过 MCPImageContent//media提供给客户端。上游图库清理优先使用 Grok2API 自带的媒体自动清理;本仓库默认不强制删除上游。
开发
uv sync --extra dev
uv run pytest
cd frontend
pnpm install
pnpm exec tsc -p tsconfig.app.json --noEmit
pnpm buildLicense
MIT
Available Tools
9 toolschatB
Console chat completion via Grok2API POST /v1/chat/completions. Default model: grok-4.20-0309-non-reasoning. Optional enable_web_search. Also supports grok-4.3 / grok-4.5 / grok-4.20-0309-reasoning / grok-4.20-multi-agent-0309 / grok-build-0.1.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| prompt | Yes | ||
| system_prompt | No | ||
| enable_web_search | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It does not mention whether the tool is stateless, the response format, any side effects, or rate limits. It only lists models and the optional web search flag, leaving significant behavioral traits undisclosed.
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 concise and front-loaded, opening with a clear purpose statement. The model list adds length but each item is informative. It could be slightly more compact, but it avoids unnecessary fluff.
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 relatively simple tool with an output schema, the description covers the core purpose and model options. However, it omits any guidance on conversation history or response behavior, and does not mention system_prompt at all. It feels adequate but not fully 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 0%, so the description must compensate. It clarifies the default model (grok-4.20-0309-non-reasoning) and lists supported model variants, which adds meaning beyond the schema. However, it does not explain system_prompt or provide detail on prompt semantics beyond the schema titles.
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 performs 'console chat completion via Grok2API POST /v1/chat/completions', which distinguishes it from sibling tools like generate_image or web_search. It specifies the exact resource and action, making the 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 provides context about default and supported models and mentions optional web search, but it does not explicitly state when to use this tool versus alternatives like web_search. Usage is implied rather than directly guided, and there are no exclusionary statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageA
Edit existing image(s) via Grok2API Console models, download results locally, return MCP Image content, and optionally delete remote gallery assets after success. Provide 1-8 publicly reachable image URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | ||
| model | No | ||
| prompt | Yes | ||
| quality | No | ||
| image_urls | Yes | ||
| resolution | No | ||
| aspect_ratio | No | ||
| delete_remote | 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 downloading results locally, returning MCP Image content, and critically, 'optionally delete remote gallery assets after success' – a potentially destructive side effect. This is transparent about the tool's major behaviors, though it omits details like authentication requirements or error handling.
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 two sentences, front-loaded with the core purpose, and contains no filler. Every clause adds information: editing, downloading, returning MCP content, optional deletion, and URL constraints. It is a model of concise, well-structured tool documentation.
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 gives a reasonable overall workflow (edit, download, return, optionally delete) and specifies the input constraint of 1-8 publicly accessible URLs. However, with no output schema, the return type is only vaguely described as 'MCP Image content', and several parameters remain unaddressed. The sibling list provides context, but the tool's full behavior is not completely specified.
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?
The schema description coverage is 0%, so the description must compensate for eight undocumented parameters. The description adds meaning for image_urls ('1-8 publicly reachable image URLs') and implicitly for delete_remote ('optionally delete remote gallery assets'), but leaves model, size, quality, resolution, and aspect_ratio unexplained. This is insufficient for a tool with this many parameters.
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 starts with the specific verb 'Edit existing image(s)', clearly indicating the tool's function of modifying existing images rather than creating new ones. It also mentions the optional deletion of remote assets, which adds a distinctive behavioral scope that separates it from siblings like generate_image.
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 'Edit existing image(s)' and 'Provide 1-8 publicly reachable image URLs' establishes clear usage context: users should call this when they have existing images to modify. It does not explicitly name alternatives or state when not to use it, but the contrast with sibling tools like generate_image is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageA
Generate images via Grok2API Console models, download them to the grok-mcp host, and return MCP Image content for inline display. Default model: grok-imagine-image; quality=true uses grok-imagine-image-quality. After a successful local download, remote gallery assets are deleted when GROK2API_ADMIN_* credentials are set. aspect_ratio examples: 1:1, 16:9, 9:16.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| model | No | ||
| prompt | Yes | ||
| quality | No | ||
| resolution | No | ||
| aspect_ratio | No | ||
| delete_remote | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the download-to-host flow, remote asset deletion when admin credentials are set, default model behavior, and quality flag. This goes beyond the schema, though it could expand on auth prerequisites and the effect of n.
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 three sentences, starts with the core purpose, then packs default behavior, cleanup logic, and aspect ratio examples. 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?
Given the 7-parameter surface and no annotations/output schema, the description is quite informative. It covers the main workflow, key defaults, and side effects. However, it leaves some parameter semantics (e.g., n, resolution) vague and does not detail output structure beyond mentioning MCP Image content.
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 0%, so the description must compensate. It adds meaning for model, quality, and aspect_ratio (with examples), but leaves n, resolution, and delete_remote under-specified, making it a partial compensation at best.
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 (generate images), the resource (Grok2API Console models), and the follow-through (download to host, return MCP Image content). This separates it from siblings like edit_image or generate_video.
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 clear context on how the tool works, including model defaults and quality switching, but it does not explicitly state when to prefer this over alternatives such as edit_image.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_videoA
Create an asynchronous Console video job via Grok2API (model grok-imagine-video). Returns request_id immediately. Then call wait_video to download the finished file to grok-mcp, get a public /media URL, and optionally delete the remote gallery job. duration 1-15s (default 8). aspect_ratio: 1:1|16:9|9:16|... resolution: 480p|720p|1080p.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| prompt | No | ||
| duration | No | ||
| image_urls | No | ||
| resolution | No | 720p | |
| aspect_ratio | No | 16:9 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It discloses key behaviors: asynchronous execution, immediate request_id return, creation of a remote gallery job that can be optionally deleted, and file download step via wait_video. However, it omits details like potential costs, rate limits, or what happens if generation fails.
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 relatively concise, with key information front-loaded. The first sentence states the core action and immediate return. The second sentence condenses the follow-up workflow. The parameter list is terse but clear. The run-on nature of the second sentence reduces clarity slightly, but overall it's 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 covers the essential workflow, key constraints, and next steps. It mentions the async nature, immediate request_id, wait_video handoff, and optional deletion. Since an output schema exists, it needn't detail return values. It could add more on prerequisites (e.g., Console context) but is sufficient for an agent to invoke correctly in most cases.
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 0%, so the description must compensate. It adds meaning for duration (1-15s, default 8), aspect_ratio (list of formats), and resolution (480p/720p/1080p). However, it doesn't explain image_urls, model, or prompt beyond obvious inference, leaving some ambiguity for less obvious usage.
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 identifies the tool's function: 'Create an asynchronous Console video job via Grok2API' with a specific model. It distinguishes itself from siblings by mentioning 'Returns request_id immediately' and referencing wait_video for downloading, implying a distinct creation role.
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?
It explicitly advises the next step: 'Then call wait_video to download the finished file...', providing a clear workflow. It also sets expectations for immediate return of request_id. However, it doesn't explicitly state when not to use it or contrast with generate_image, though the asynchronous and video-specific focus implies usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_statusA
Poll a video job once. status is pending|done|failed. If done and materialize=true, download to local storage and return public_url.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| materialize | No | ||
| delete_remote | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden for behavioral disclosure. It reveals key behavior: the poll is one-shot, status values, and the conditional download to local storage when done and materialize=true, returning public_url. However, it omits the behavior of the delete_remote parameter and does not explain the outcome when materialize=false or when the job is not done. This leaves important behavioral gaps.
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 extremely concise and front-loaded: it opens with the core action, then lists statuses, and then the key conditional side effect. Every sentence adds value and there is no filler. It is well-structured for quick comprehension.
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 three parameters, one conditional behavior, and an output schema that is not described. The description covers the main flow but leaves delete_remote and the non-materialized path unexplained. Given the moderate complexity and the absence of annotations, the description is not fully complete, though it covers the most critical behavior.
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?
With schema description coverage at 0%, the description must compensate for all three parameters. It only explains the role of materialize in the conditional download, and implicitly references request_id via 'a video job' without naming it. The delete_remote parameter is not mentioned at all, leaving its meaning and effect unexplained. This is incomplete compensation for the schema's lack of descriptions.
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 starts with the specific verb 'Poll' and the resource 'a video job once', clearly stating the one-shot polling nature. It also lists the possible statuses (pending|done|failed), which distinguishes it from the sibling tool wait_video that likely waits for completion. This is a clear and specific purpose.
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 usage via 'Poll ... once', suggesting a single status check rather than waiting. However, it does not explicitly mention when to use this tool versus wait_video or other alternatives, and does not provide any exclusions or context for alternating between tools. Guidance is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_console_catalogA
Return the static Grok Console model catalog used by this MCP (chat / image / video), without calling the gateway.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 that the catalog is 'static' and that the tool works 'without calling the gateway', implying a read-only, local operation with no side effects. It does not detail auth or error behavior, but for a simple catalog read 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 sentence that front-loads the primary action and resource, contains no filler, and is immediately understandable.
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 simplicity (0 parameters), the presence of an output schema, and the clear scoping to chat/image/video with the 'without calling the gateway' behavior, the description is complete for an agent to select and invoke the tool correctly.
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?
The tool has zero parameters, so the baseline of 4 applies. The description correctly avoids parameter details since there are none to document.
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 the specific verb 'Return' and names the resource ('static Grok Console model catalog') with explicit scope (chat/image/video). It distinguishes itself from the sibling 'list_models' and other tools by noting 'without calling the gateway', making its purpose unmistakable.
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 clear context for when to use this tool: when you need the static catalog without hitting the gateway. It does not explicitly name alternatives or exclusions, but the phrase 'without calling the gateway' implies a usage scenario different from tools that do call the gateway.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsA
List Grok Console models targeted by this MCP, plus whatever the connected Grok2API gateway currently exposes via GET /v1/models.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does reveal the HTTP method (GET /v1/models), implying a read-only network call, and 'currently exposes' indicates the data is dynamic. However, it does not mention failure modes, rate limits, authentication, or how the two model lists are merged, leaving some transparency gaps.
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, well-structured sentence that front-loads the action and resource. Every word earns its place, providing the two key data sources without unnecessary verbosity.
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?
This is a simple zero-parameter list tool with an output schema present, so return values are already specified. The description adequately explains the two sources of models, making it complete for the tool's simplicity. No additional context about pagination or errors is strictly required here.
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?
The tool has zero parameters, and the schema is empty. Per rubric, a zero-parameter tool receives a baseline of 4 since there are no parameter semantics to clarify. The description adds no parameter information, but none is needed.
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 lists Grok Console models targeted by the MCP plus models from the connected Grok2API gateway via GET /v1/models. This gives a specific resource and scope, but it does not explicitly differentiate from the sibling tool 'list_console_catalog', which may overlap in purpose.
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 when to use the tool (when a list of models from the MCP-targeted console or gateway is needed), but it provides no explicit guidance on when to prefer this over alternatives like 'list_console_catalog'. There is no mention of exclusions or conditions, so the context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_videoA
Block until a video job finishes, then download the mp4 to the grok-mcp host and return public_url (http://host/media/...). After successful download, deletes the remote Grok2API video job when admin credentials are configured. timeout defaults to GROK2API_VIDEO_POLL_TIMEOUT (600s).
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | ||
| request_id | Yes | ||
| materialize | No | ||
| delete_remote | No | ||
| poll_interval | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses blocking behavior, the download destination, the returned URL format, and the conditional deletion of the remote job. It stops short of mentioning failure modes or side effects of non-deletion, but covers the key behavioral traits.
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 three sentences and front-loads the primary action (block, download, return). It is efficient and doesn't waste words, though the last sentence about timeout could be integrated or shortened without losing meaning.
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 5 parameters and no annotations, and the output schema exists so return values don't need explanation. The description covers the core workflow but leaves parameter semantics for materialize, delete_remote, and poll_interval unclear, which is a significant gap for such a parameterized tool.
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 coverage is 0%, so the description must compensate for all 5 parameters. It only explains the timeout environment default; request_id, materialize, delete_remote, and poll_interval are not described. The parameter semantics are mostly absent from the description.
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 ('Block until a video job finishes') and identifies the resource (video job) and the resulting artifact (mp4 download with public_url). It clearly differentiates from the sibling tool get_video_status by describing the blocking and download behavior.
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 clear context: this tool is used when you need to wait for a video job to complete and obtain the mp4. However, it does not explicitly state when not to use it or name alternatives like get_video_status for just checking status without downloading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchA
Search / research through Grok2API chat completions with hosted web_search enabled. Default Console model: grok-4.3. Other Console chat models also work: grok-4.5, grok-4.20-0309-*, grok-4.20-multi-agent-0309, grok-build-0.1.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| query | Yes | ||
| system_prompt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that the tool uses chat completions with web_search enabled and lists compatible models, implying it performs external web searches. However, it does not discuss safety, rate limits, or whether any modifications occur, though the non-destructive nature of search is assumed.
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 two sentences long, front-loaded with the primary purpose and followed by model options. No redundant 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?
Given the output schema exists, return values are covered. The description provides model compatibility but lacks guidance on when to use this tool vs alternatives, which is a gap. Overall, it's adequate for a simple search tool.
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 0%, so the description must compensate. It partially does by specifying default and alternative model values for the 'model' parameter, but it does not explain the 'system_prompt' parameter or add format details for 'query' beyond the 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 uses specific verbs 'Search / research' and identifies the resource as 'Grok2API chat completions with hosted web_search enabled', clearly distinguishing it from the sibling 'chat' tool by explicitly mentioning web_search.
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 usage by stating it's for search/research via chat completions with web_search, but it does not explicitly describe when to use this instead of other methods like the 'chat' tool. It provides model selection guidance but no exclusions or alternative suggestions.
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.0- First observed
chat - First observed
edit_image - First observed
generate_image - First observed
generate_video - First observed
get_video_status - First observed
list_console_catalog - First observed
list_models - First observed
wait_video - First observed
web_search
TDQS
Most tools target distinct actions (generate, edit, chat, search, video lifecycle). list_models and list_console_catalog overlap slightly but are differentiated by static vs dynamic sources, and get_video_status vs wait_video serve separate polling vs blocking needs.
The majority follow a consistent snake_case verb_noun pattern (list_models, generate_image, wait_video). 'chat' and 'web_search' are minor deviations but remain clear and predictable.
9 tools are well-scoped for the server's purpose of exposing Grok chat, web search, image, and video capabilities. Each tool contributes a distinct function without unnecessary bloat.
The tool surface covers the full lifecycle for its domain: chat, web search, image generation/editing, and video creation (submit, poll, wait/download). No obvious missing operations are evident.
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
MCP server for Grok Imagine AI video generation
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
MCP server for OpenAI Sora AI video generation
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server that bridges ChatGPT Plus/Pro to Claude Code, enabling chat, deep research, and image generation via your own account.47MIT
- AlicenseAqualityBmaintenanceMCP server for generating, editing, and batch processing videos using xAI's Grok Imagine Video API, with support for text-to-video, image-to-video, and video editing via natural language prompts.4451MIT
- AlicenseNot gradedqualityDmaintenanceA single-file MCP server that enhances Claude Desktop with real-time web and X search, multi-tool agent, and image/video generation via xAI's Grok.MIT
- AlicenseAqualityAmaintenanceAn MCP server for Grok (xAI) that enables chat, reasoning, vision, and video generation using the AceDataCloud API.81MIT
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/jun9100/grok-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server