x-grok
The Voice provider surface — Grok chat, image, speech, short video, and live web and X search, on your own xAI account.
This server exposes the Voice assistant's provider
connection to your agents as 6 grok_* tools: text chat, image
generation, text-to-speech, short-video generation, live web and X search,
and an authentication status check. It is the same Grok (xAI) connection
Voice runs on — one provider setup, two consumers: the hands-free
assistant you talk to, and any agent session that wants a Grok capability
mid-task.
The provider model is worth stating plainly, the same way the Voice page does: this does not run on your agent subscription. You bring your own Grok subscription (an in-app sign-in) or an xAI API key, and usage rides on that account under its own limits — the platform adds no charge on top. Because search grounding and media generation come with many Grok plans, agents often treat this server as the low-friction path for "what is being said right now" questions and quick illustrative media, keeping the agent session's own context for the actual work.
One naming note so the install makes sense when you look at it: the server is
registered under the key x-grok, but its package sits at
mcp-servers/voice/ — named for the feature it powers rather than the
provider it talks to. It is one of only two servers whose key and folder
differ (email, in email-server/, is the other), so a search by key can
come up empty on a directory that is plainly there.
How your agents use it
- "What is X saying about the model release today?" —
grok_x_searchreturns live X and web results the agent can cite, without any harvesting setup. - "Give me a quick illustrative image for this draft." —
grok_image; for narration or a short clip,grok_ttsandgrok_video. - "Is the provider connected?" —
grok_auth_statusbefore a media-heavy task, so a missing sign-in surfaces early.
Prerequisites
A connected Grok account or xAI API key, set up in the Voice view's Connections menu — the Voice page covers the provider reality in full, including what works without any provider at all. Key storage follows the platform's bring-your-own-keys model (see the configuration reference).
Subscription — Ultra, because Voice is an Ultra capability. The gate is
partial and the split is worth knowing: the five tools that actually spend
your provider account — chat, search, image, speech, video — refuse on a Pro
install, while grok_auth_status keeps answering, so a session can always
find out where it stands before it tries anything. Your own provider
subscription is a separate matter again: it pays for the calls, and Ultra is
what makes the tools reachable. Tiers covers what
each tier includes.
Tool reference
| Tool | Parameters | What it does |
|---|---|---|
grok_auth_status | — | Introspect the local x-grok OAuth state. Returns whether tokens are stored, when they expire, and the account email (if available). Use to debug auth issues or check before a long-running flow. |
grok_chat | prompt*: string, system: string, model: string | Send a single-turn prompt to Grok 4.3 (xAI) via the SuperGrok subscription. Returns the model's text response. Use when you want Grok's perspective specifically — e.g. for X/Twitter-aware queries, a non-Claude/non-Gemini second opinion, or content that benefits from Grok's training distribution. 1M-token context window. |
grok_x_search | query*: string, allowed_x_handles: array, excluded_x_handles: array, from_date: string, to_date: string, enable_image_understanding: boolean, enable_video_understanding: boolean, model: string | [Phase 2 — not yet implemented] Ad-hoc X (Twitter) search via xAI's built-in x_search Responses API tool. Returns Grok's grounded answer plus citation URLs. Use for current X-side discussion, reactions, or claims — NOT for bulk harvesting (observer/Nitter is the harvest path). |
grok_image | prompt*: string, aspect_ratio: string, resolution: string, model: string | [Phase 2 — not yet implemented] Generate an image with Grok Imagine. Saves the result to data/images/ and returns the absolute path. |
grok_tts | text*: string, voice_id: string, language: string, codec: string | [Phase 2 — not yet implemented] Synthesize speech with xAI TTS. Saves audio to data/audio/ and returns the absolute path. |
grok_video | prompt*: string, image_url: string, reference_image_urls: array, duration: integer, aspect_ratio: string, resolution: string, model: string | [Phase 3 — not yet implemented] Generate a video with Grok Imagine Video. Text-to-video or image-to-video (up to 7 reference images). Includes diegetic audio. Saves to data/videos/ and returns absolute path. |
Where to go next
- Voice — the feature this provider surface powers
- BYO Claude & keys — how Voice's provider model differs from the agent fleet's