Skip to main content
Glama
NYO2008

Firecrawl MCP Server

by NYO2008

firecrawl_check_crawl_status

Check the status and progress of a web crawling job to monitor completion and retrieve results when available.

Instructions

Check the status of a crawl job.

Usage Example:

{
  "name": "firecrawl_check_crawl_status",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000"
  }
}

Returns: Status and progress of the crawl job, including results if available.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesCrawl job ID to check

Implementation Reference

  • The handler case for 'firecrawl_check_crawl_status' in the tool call switch statement. Validates arguments using isStatusCheckOptions, calls client.checkCrawlStatus(id), formats status including progress and results using formatResults, and returns formatted text content.
          case 'firecrawl_check_crawl_status': {
            if (!isStatusCheckOptions(args)) {
              throw new Error('Invalid arguments for firecrawl_check_crawl_status');
            }
            const response = await client.checkCrawlStatus(args.id);
            if (!response.success) {
              throw new Error(response.error);
            }
            const status = `Crawl Status:
    Status: ${response.status}
    Progress: ${response.completed}/${response.total}
    Credits Used: ${response.creditsUsed}
    Expires At: ${response.expiresAt}
    ${
      response.data.length > 0 ? '\nResults:\n' + formatResults(response.data) : ''
    }`;
            return {
              content: [{ type: 'text', text: trimResponseText(status) }],
              isError: false,
            };
          }
  • The Tool definition for firecrawl_check_crawl_status, including name, detailed description with usage example, and inputSchema requiring a string 'id'.
    const CHECK_CRAWL_STATUS_TOOL: Tool = {
      name: 'firecrawl_check_crawl_status',
      description: `
    Check the status of a crawl job.
    
    **Usage Example:**
    \`\`\`json
    {
      "name": "firecrawl_check_crawl_status",
      "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000"
      }
    }
    \`\`\`
    **Returns:** Status and progress of the crawl job, including results if available.
    `,
      inputSchema: {
        type: 'object',
        properties: {
          id: {
            type: 'string',
            description: 'Crawl job ID to check',
          },
        },
        required: ['id'],
      },
    };
  • src/index.ts:955-966 (registration)
    Registration of all tools including CHECK_CRAWL_STATUS_TOOL in the ListToolsRequestSchema handler.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({
      tools: [
        SCRAPE_TOOL,
        MAP_TOOL,
        CRAWL_TOOL,
        CHECK_CRAWL_STATUS_TOOL,
        SEARCH_TOOL,
        EXTRACT_TOOL,
        DEEP_RESEARCH_TOOL,
        GENERATE_LLMSTXT_TOOL,
      ],
    }));
  • Type guard function isStatusCheckOptions used to validate arguments for the firecrawl_check_crawl_status handler.
    function isStatusCheckOptions(args: unknown): args is StatusCheckOptions {
      return (
        typeof args === 'object' &&
        args !== null &&
        'id' in args &&
        typeof (args as { id: unknown }).id === 'string'
      );
    }
  • TypeScript interface defining the expected arguments for status check: { id: string }.
    interface StatusCheckOptions {
      id: string;
    }

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/NYO2008/firecrawl-mcp-server'

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