An MCP (Model Context Protocol) server that generates images using Grok Imagine via headless Chromium automation.
grok-imagine-mcp has 2 tools with partial schema coverage and moderate descriptions. The 'auth' tool has a trivial input (single optional string) and defensive error handling. The 'generate_images' tool has a well-structured schema with proper enum constraints for aspect ratio and numeric bounds, but lacks output schema documentation. Descriptions are present but generic, under 200 chars and lacking actionable context for when/why the LLM should call each tool. No tool annotations (readOnlyHint/destructiveHint/idempotentHint). No parameter-level error recovery guidance. Naming follows verb_noun convention (auth, generate_images), which is good. However, 'auth' is ambiguous, does it authenticate, validate, or rotate credentials? The description clarifies via external context (cookie export instructions), but the tool itself does not self-document its side effects (persists cookies to disk). 'generate_images' is clear and specific. Overall, this is a C-grade implementation: functional schemas, defensible descriptions, but missing pattern coverage and LLM-optimization details.
Authenticate with Grok by providing cookies from your browser session. To export cookies from your browser: 1. Open https://grok.com in your browser (make sure you're logged in) 2. Open Developer Tools (F12 or Cmd+Option+I) 3. Go to the Network tab 4. Refresh the page 5. Click on any request to grok.com 6. Right-click → "Copy as cURL" 7. Paste the entire curl command here The auth tool will extract the cookies automatically from the curl command.
Generate images using Grok Imagine. Submits a text prompt, waits for generation, and saves the resulting images to the specified folder.
Output schemas are not documented. Neither 'auth' nor 'generate_images' specify the structure of their TextContent responses. LLMs cannot plan downstream tool calls or extract structured data without knowing the return fields.
'auth' tool description is vague about side effects. It says 'Authenticate with Grok' but does not explicitly state 'This tool persists cookies to disk for use by other tools.' LLMs do not infer persistence, they need explicit documentation of state mutations.
'generate_images' accepts 'saveFolderFullPath' parameter (string) with no validation. The description says 'full absolute path' but does not specify format, character restrictions, or what happens if the folder does not exist. LLMs may pass relative paths, Windows vs POSIX mismatches, or nonexistent directories.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 43 | - | v1 |
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Both tools modify state ('auth' persists cookies, 'generate_images' writes files), but no hint metadata signals this to orchestrators or clients. The agent cannot distinguish safe-to-retry operations from those with side effects.
Error handling returns plain text responses with 'isError: true' but does not guide recovery. E.g., 'Image generation failed: <error>' tells the LLM nothing about whether to retry, ask the user, or abort. Missing recovery guidance per pattern:recovery-guide.
Parameter descriptions lack constraint details. 'quantity' says 'Number of images (1-6). Each batch produces ~3 images.' but does not clarify: Does 'quantity' control how many batches to run, or how many images to attempt? What if a batch produces fewer than 3? Does the tool retry? The '~3 images' is vague and may confuse the LLM.