Skip to main content
Glama

grok-mcp

Grok2API 上的 Grok Console 画图 / 改图 / 视频 / 对话搜索能力,同时提供:

  1. MCP Server — 给 Claude Code / Codex / Cursor 等 Agent 调用

  2. Web Console — 风格对齐 grok2api 管理端的创作台(Chat / Image / Video)

能力边界(Console)

默认模型全部来自 Grok Console

模型

类型

网关接口能力

grok-4.20-0309-non-reasoning

对话

Chat Completions、Responses、Messages

grok-4.20-0309-reasoning

对话

Chat Completions、Responses、Messages

grok-4.20-multi-agent-0309

对话

Chat Completions、Responses、Messages

grok-4.5

对话

Chat Completions、Responses、Messages

grok-4.3

对话

Chat Completions、Responses、Messages

grok-build-0.1

对话

Chat Completions、Responses、Messages

grok-imagine-image

图像 + 图像编辑

Images Generations、Images Edits

grok-imagine-image-quality

图像 + 图像编辑

Images Generations、Images Edits

grok-imagine-video

视频

Videos

能力

Grok2API 路径

默认模型

文生图

POST /v1/images/generations

grok-imagine-imagequalitygrok-imagine-image-quality

图编辑

POST /v1/images/edits

同上(无单独 edit 模型 id)

视频

POST /v1/videos/generations + GET /v1/videos/{id}

grok-imagine-video

搜索 / 对话

POST /v1/chat/completions

搜索 grok-4.3 / 对话 grok-4.20-0309-non-reasoning

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-secret

2. 本地开发

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:8790

  • MCP: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.jsonmcpServers,或项目 .mcp.json,然后重开会话。

Codex

examples/mcp.codex.toml

[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 = 600
export MCP_BEARER_TOKEN="change-me-mcp-token"

MCP Tools

Tool

作用

list_console_catalog

静态 Console 模型表

list_models

目录 + 网关模型

generate_image / edit_image

画图 / 改图(下载到本地并返回可展示内容)

generate_video / get_video_status / wait_video

视频任务(完成后提供 /media/... 链接)

web_search / chat

搜索 / 对话

Web 页面

路由

说明

/

概览

/creative

创作台:对话 / 图片 / 视频

/gallery

本地图片历史

/videos

本地视频任务历史

/settings

MCP 接入向导 + 配置展示

设计说明

  • 不重新实现 Grok 上游协议;只做 Grok2API 适配层。

  • Agent 配置里应出现本服务的 /mcp不要g2a_ key 写进 Claude/Codex。

  • 图片会物化到 GROK_MCP_MEDIA_DIR,并通过 MCP ImageContent / /media 提供给客户端。

  • 上游图库清理优先使用 Grok2API 自带的媒体自动清理;本仓库默认不强制删除上游。

开发

uv sync --extra dev
uv run pytest

cd frontend
pnpm install
pnpm exec tsc -p tsconfig.app.json --noEmit
pnpm build

License

MIT

Available Tools

9 tools
chatB

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
promptYes
system_promptNo
enable_web_searchNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
modelNo
promptYes
qualityNo
image_urlsYes
resolutionNo
aspect_ratioNo
delete_remoteNo

TDQS

A4/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 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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
modelNo
promptYes
qualityNo
resolutionNo
aspect_ratioNo
delete_remoteNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
promptNo
durationNo
image_urlsNo
resolutionNo720p
aspect_ratioNo16:9

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/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 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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYes
materializeNo
delete_remoteNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

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?

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNo
request_idYes
materializeNo
delete_remoteNo
poll_intervalNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/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 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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.0
    • First observedchat
    • First observededit_image
    • First observedgenerate_image
    • First observedgenerate_video
    • First observedget_video_status
    • First observedlist_console_catalog
    • First observedlist_models
    • First observedwait_video
    • First observedweb_search

TDQS

A3.9/5.0
Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessSyncing

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/jun9100/grok-mcp'

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