deep_researcher_check
Monitor and retrieve detailed research results from an AI agent’s comprehensive web analysis. Use this tool to poll the status of a task until completion, ensuring accurate and synthesized findings for your research needs.
Instructions
Check the status and retrieve results of a deep research task. This tool monitors the progress of an AI agent that performs comprehensive web searches, analyzes multiple sources, and synthesizes findings into detailed research reports. The tool includes a built-in 5-second delay before checking to allow processing time. IMPORTANT: You must call this tool repeatedly (poll) until the status becomes 'completed' to get the final research results. When status is 'running', wait a few seconds and call this tool again with the same task ID.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | The task ID returned from deep_researcher_start tool |
Input Schema (JSON Schema)
Implementation Reference
- src/client.ts:253-269 (handler)Core handler function in ExaClient that checks the status of a deep research task by retrieving it from global storage and returning task details including results if completed.async checkDeepResearch(taskId: string) { global.researchTasks = global.researchTasks || {}; const task = global.researchTasks[taskId]; if (!task) { throw new ExaError('Task not found', 'TASK_NOT_FOUND'); } return { task_id: taskId, status: task.status, started_at: task.started_at, completed_at: task.completed_at, results: task.results, error: task.error }; }
- src/tools/index.ts:261-270 (handler)MCP tool dispatch handler that validates input schema and invokes ExaClient.checkDeepResearch, formatting the output appropriately.case 'deep_researcher_check': { const params = deepResearchCheckSchema.parse(args); const result = await client.checkDeepResearch(params.task_id); return { content: [{ type: "text", text: result.results ? formatDeepResearchResults(result.results) : JSON.stringify(result, null, 2) }] }; }
- src/tools/index.ts:71-74 (schema)Zod input schema for the deep_researcher_check tool, requiring a task_id string.// Deep Research Check Tool Schema const deepResearchCheckSchema = z.object({ task_id: z.string().describe("Task ID returned from deep_researcher_start") });
- src/server.ts:30-37 (registration)Registers deep_researcher_check as an enabled tool in the ExaServer constructor's default enabledTools array.this.enabledTools = enabledTools || [ 'web_search_exa', 'company_research_exa', 'crawling_exa', 'linkedin_search_exa', 'deep_researcher_start', 'deep_researcher_check' ];
- src/server.ts:152-159 (registration)Registers deep_researcher_check as an enabled tool in the createStandaloneServer factory function.const tools = enabledTools || [ 'web_search_exa', 'company_research_exa', 'crawling_exa', 'linkedin_search_exa', 'deep_researcher_start', 'deep_researcher_check' ];