Skip to main content
Glama
by joerup

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

NameRequiredDescriptionDefault
taskIdYesThe task ID returned from deep_researcher_start tool

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "taskId": { "description": "The task ID returned from deep_researcher_start tool", "type": "string" } }, "required": [ "taskId" ], "type": "object" }

Implementation Reference

  • 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 }; }
  • 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) }] }; }
  • 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' ];

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joerup/exa-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server