Tools Overview
progrok activates two kinds of tool surfaces with the same xAI OAuth session: upstream server-side Grok tools that are passed through the proxy, and local CLI commands that wrap common Grok workflows with better ergonomics.
Proxy tools
When a client calls http://127.0.0.1:18645/v1/*, progrok forwards
the request to xAI with your OAuth bearer token. The client can use OpenAI-style
request shapes while xAI decides which tools and models your account can use.
| Tool | Purpose | How progrok helps |
|---|---|---|
web_search | Search current web sources. | OAuth injection lets OpenAI-compatible clients request Grok search tools without xAI OAuth plumbing. |
x_search | Search public X posts and conversations. | Useful for current market, release, and community research through the same local endpoint. |
code_execution / code_interpreter | Run Python code in an upstream sandbox where available. | Responses API and SDKs may use different aliases; the proxy forwards either shape. |
collections_search / file_search | Search uploaded file collections. | Uses account-level xAI access; management credentials may still be needed for collection administration. |
attachment_search | Search files attached to a message. | Activated by uploaded file attachments and billed as a separate tool invocation class. |
view_image | Analyze images discovered during Web Search or X Search. | Useful when search results include screenshots, charts, or product images. |
view_x_video | Analyze videos discovered during X Search. | Useful for release demos, clips, and public product videos. |
| Function calling | Let the model call functions you define. | progrok handles auth only; your client still owns function definitions and execution. |
| Remote MCP | Connect model workflows to external MCP servers where supported. | The proxy keeps the auth boundary local while the client owns the tool topology. |
Compatibility caveats
- OpenAI Responses MCP fields such as
require_approvalandconnector_idare not part of xAI's current Remote MCP surface. - gRPC paths do not accept every REST alias. In particular,
code_interpreterandfile_searchaliases are REST/SDK conveniences, while canonical xAI names arecode_executionandcollections_search. - Tool requests bill both model tokens and tool invocations. Web, X, and code tools are priced per 1K calls; attachment and collection search have their own rates.
Local commands
Direct commands exist where raw HTTP is not the best user experience. They use the same stored OAuth credential but add source flags, JSON output, polling, download handling, and machine-readable metadata.
| Command | Activated capability | Typical use |
|---|---|---|
progrok search | Grok Responses + web/X tools | Research with citations, JSON output, and optional reasoning effort. |
progrok image | Imagine image generation/editing | Generate from text or edit with one or more reference files. |
progrok video | Imagine video generation/editing | Submit async jobs, poll progress, and save completed videos. |
progrok models | Model catalog | Inspect available text, coding, reasoning, image, and video models. |
progrok capabilities --json | Agent-readable metadata | Let other tools discover ports, commands, models, and direct endpoints. |
Tool activation pattern
progrok login
-> stores local OAuth session
progrok proxy
-> activates OpenAI-compatible /v1/* surface
progrok search / image / video / models / capabilities
-> activate task-specific Grok workflows directly Choosing a path
- Use the proxy when another app already speaks OpenAI-compatible HTTP.
- Use direct commands when you want a terminal workflow with files, polling, or JSON output.
- Use
capabilities --jsonwhen another agent or script needs to decide what progrok can do.