retrieve_stateful_response
Retrieve previous responses from the Grok MCP server using a response ID to maintain conversation continuity and access stored interactions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| response_id | Yes |
Implementation Reference
- src/server.py:420-428 (handler)The retrieve_stateful_response tool handler - retrieves a previously stored chat completion by response_id using the XAI client's get_stored_completion method, returns the response content and ID, or an error message if not found.@mcp.tool() async def retrieve_stateful_response(response_id: str): client = Client(api_key=XAI_API_KEY) responses = client.chat.get_stored_completion(response_id) client.close() if not responses: return f"No response found for id {response_id}" response = responses[0] if isinstance(responses, list) else responses return f"{response.content}\n\n**Response ID:** `{response.id}`"
- src/server.py:420-420 (registration)Tool registration via @mcp.tool() decorator that exposes retrieve_stateful_response as an MCP tool.@mcp.tool()
- src/server.py:396-417 (helper)Related stateful_chat tool that creates stateful chat sessions and returns response IDs which can later be retrieved using retrieve_stateful_response.@mcp.tool() async def stateful_chat( prompt: str, model: str = "grok-4", response_id: Optional[str] = None, system_prompt: Optional[str] = None ): client = Client(api_key=XAI_API_KEY) chat_params = {"model": model, "store_messages": True} if response_id: chat_params["previous_response_id"] = response_id chat = client.chat.create(**chat_params) if system_prompt and not response_id: chat.append(system(system_prompt)) chat.append(user(prompt)) response = chat.sample() client.close() return f"{response.content}\n\n**Response ID:** `{response.id}`"