Skip to main content
Glama
jasonking0112

Firecrawl MCP Server

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with minimal overlap. The descriptions explicitly differentiate use cases (e.g., scrape for single pages vs. crawl for multiple pages, map for discovery vs. extract for structured data). The 'Best for'/'Not recommended for' sections prevent confusion between similar tools like crawl and map.

    Naming Consistency5/5

    All tools follow a consistent 'firecrawl_verb_noun' pattern (e.g., firecrawl_crawl, firecrawl_scrape, firecrawl_extract). The naming is uniform across all six tools, using snake_case with a clear prefix and action-object structure.

    Tool Count5/5

    Six tools is well-scoped for a web scraping/crawling server. Each tool addresses a specific workflow (crawling, mapping, scraping, extracting, searching, status checking), with no redundant or missing core operations. The count supports comprehensive coverage without being overwhelming.

    Completeness5/5

    The toolset provides complete coverage for web content operations: discovery (map, search), extraction (scrape, extract, crawl), and job management (check_crawl_status). It supports both single-page and multi-page workflows, structured and unstructured data, with clear guidance on when to use each tool.

  • Average 4.3/5 across 6 of 6 tools scored. Lowest: 3.2/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool returns 'Status and progress of the crawl job, including results if available,' which adds some context about output behavior. However, it lacks details on error handling, rate limits, authentication needs, or whether it's read-only or destructive. For a tool with zero annotation coverage, this is a significant gap in transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is appropriately sized and front-loaded, starting with the purpose statement. The usage example and returns note are useful additions that earn their place. It avoids unnecessary verbosity, making it efficient for an AI agent to parse, though it could be slightly more structured with bullet points or headings.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It covers the basic purpose, parameter hint, and return info, but lacks details on behavioral aspects like error cases or integration with sibling tools. Without annotations or output schema, it should do more to compensate, making it adequate but not fully comprehensive.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 1 parameter ('id') with 0% description coverage, so the schema provides no semantic information. The description adds value by implying in the usage example that 'id' is a UUID (e.g., '550e8400-e29b-41d4-a716-446655440000'), which clarifies its format. However, it doesn't explain where this ID comes from (e.g., from 'firecrawl_crawl') or any constraints, leaving some gaps. With low schema coverage, the description partially compensates but not fully.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the purpose as 'Check the status of a crawl job,' which is a specific verb ('check') and resource ('crawl job'). It distinguishes this from siblings like 'firecrawl_crawl' (which initiates crawls) and 'firecrawl_scrape' (which extracts data), but doesn't explicitly differentiate from other status-checking tools if any existed. The clarity is high but lacks explicit sibling differentiation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage by providing a usage example with an 'id' parameter, suggesting it's used after initiating a crawl job (e.g., with 'firecrawl_crawl'). However, it doesn't explicitly state when to use this tool versus alternatives or provide exclusions. The context is implied but not detailed, leaving some ambiguity for an AI agent.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden and does well by explaining what the tool returns ('Array of URLs'), its discovery-focused behavior, and constraints (indexed URLs only). It doesn't mention rate limits, authentication needs, or pagination, but provides substantial operational context beyond basic purpose.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured with clear sections (Best for, Not recommended, Common mistakes, examples), uses bullet-like formatting, and every sentence adds value. The prompt and usage examples are directly helpful without being verbose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with 6 parameters (0% schema coverage), no annotations, and no output schema, the description provides excellent purpose and usage guidance but leaves most parameters undocumented. It explains the return format adequately but doesn't address parameter behaviors, making it incomplete for effective tool invocation despite strong contextual framing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage and 6 parameters, the description fails to explain any parameters beyond the required 'url' in the usage example. It mentions 'search' in the prompt example but doesn't define it, and ignores the other 4 parameters entirely. The description adds minimal value beyond what's implied by the tool name.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose with specific verb+resource ('Map a website to discover all indexed URLs on the site'), distinguishes it from siblings by contrasting with 'scrape' and 'batch_scrape', and explicitly mentions what it doesn't do (get content).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance with 'Best for:' and 'Not recommended for:' sections, names specific alternative tools (scrape, batch_scrape), and warns about a common mistake (using crawl instead of map). This gives clear when-to-use and when-not-to-use criteria.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden. It explains the core behavior (LLM-based extraction) and mentions support for both cloud and self-hosted LLMs, but lacks details about rate limits, authentication requirements, error handling, or performance characteristics that would be helpful for an agent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with clear sections (purpose, guidelines, arguments, examples), uses bold headings effectively, and includes only essential information. Every sentence adds value without redundancy, making it easy to scan and understand.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a complex tool with 6 parameters, no annotations, and no output schema, the description provides substantial context including purpose, guidelines, parameter explanations, and examples. The main gap is lack of output format details beyond 'extracted structured data as defined by your schema,' which leaves some ambiguity about the return structure.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage and 6 parameters, the description provides meaningful explanations for all parameters in the 'Arguments' section, including a prompt example and usage example that clarifies how parameters work together. This significantly compensates for the schema's lack of descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool extracts structured information from web pages using LLM capabilities, specifying both cloud AI and self-hosted options. It distinguishes from sibling tools by explicitly contrasting with 'scrape' for full content extraction, making the purpose specific and differentiated.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit 'Best for' and 'Not recommended for' sections, clearly stating when to use this tool (extracting specific structured data) versus alternatives like 'scrape' for full content. This gives clear guidance on appropriate usage contexts.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden and delivers substantial behavioral context: it explains the tool's power level ('most powerful'), recommends default usage, discloses search operators, warns about scrapeOptions timeouts, describes return format ('Array of search results'), and provides workflow guidance. It doesn't mention rate limits or authentication requirements, but covers most behavioral aspects well.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with clear sections (Best for, Not recommended, Common mistakes, etc.) and usage examples, but is quite lengthy with operator tables and multiple JSON examples. While informative, it could be more concise by reducing redundancy in examples or combining related guidance sections.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a complex tool with 7 parameters, 0% schema coverage, no annotations, and no output schema, the description provides substantial context: purpose, usage guidelines, behavioral traits, parameter guidance, examples, and return format. It doesn't fully document all parameters or provide detailed output schema, but gives enough context for effective use given the tool's complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage and 7 parameters, the description compensates well: it explains query parameter supports search operators with a detailed table, mentions limit parameter in examples, describes sources parameter options and defaults, provides guidance on scrapeOptions usage, and shows comprehensive usage examples. It doesn't cover all 7 parameters (tbs, filter, location missing), but adds significant value beyond the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description explicitly states 'Search the web and optionally extract content from search results' - a specific verb+resource combination. It distinguishes from siblings by stating this is 'the most powerful web search tool' and should be default for web searches, differentiating from scrape, map, and crawl tools mentioned later.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides extensive guidance with dedicated sections: 'Best for' (finding information across multiple websites, most relevant content), 'Not recommended for' (filesystem search, known websites, comprehensive single-site coverage), 'Common mistakes' (using crawl/map for open-ended questions), and 'Optimal Workflow' (search first, then scrape). This explicitly tells when to use this tool vs alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by mentioning performance characteristics ('fastest and most reliable'), caching behavior ('maxAge parameter for 500% faster scrapes using cached data'), and special features ('branding' format for design analysis). However, it doesn't cover potential limitations like rate limits, authentication needs, or error conditions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with clear sections (Best for, Not recommended for, Common mistakes, etc.) and front-loads the core purpose. While comprehensive, some sections like 'Prompt Example' and the full JSON example might be slightly redundant. Most sentences earn their place by providing valuable guidance.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity (14 parameters, nested objects, no annotations, no output schema), the description does a good job covering the tool's purpose, usage guidelines, key parameters, and behavioral aspects. It explains what the tool returns ('Markdown, HTML, or other formats'). The main gap is that it doesn't document all 14 parameters, but it covers the most critical ones well.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage for 14 parameters, the description compensates well by explaining key parameters: it mentions 'maxAge' for caching, 'formats' with examples like markdown and HTML, and the special 'branding' format. The usage example demonstrates url, formats, and maxAge parameters. However, it doesn't cover all 14 parameters, leaving some undocumented.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Scrape content from a single URL with advanced options.' It specifies the verb (scrape), resource (content from a single URL), and distinguishes it from siblings by explicitly mentioning alternatives like batch_scrape, search, and extract. The 'Best for' section reinforces this distinction.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when to use this tool vs. alternatives. The 'Best for' and 'Not recommended for' sections clearly define appropriate and inappropriate use cases. It names specific sibling tools (batch_scrape, search, extract) as alternatives and warns against common mistakes like using it for multiple URLs.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden and delivers rich behavioral context. It discloses performance characteristics ('crawling can be slow'), token limit risks ('responses can be very large'), operational details (returns operation ID for status checking), and practical warnings about common parameter mistakes. This goes well beyond basic functionality.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with clear sections (purpose, best for, not recommended, warning, common mistakes, examples) and every sentence adds value. It's appropriately sized for a complex tool, front-loading key information, and uses formatting effectively without waste.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a complex tool with 16 parameters, 0% schema coverage, no annotations, and no output schema, the description provides comprehensive context. It covers purpose, usage guidelines, behavioral traits, parameter guidance, examples, and return value explanation (operation ID for status checking). This is complete enough despite the structural gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage and 16 parameters, the description adds significant value through the usage example showing 7 parameters in context, warnings about limit/maxDiscoveryDepth settings, and guidance against wildcards. However, it doesn't explain all 16 parameters, leaving some undocumented. The example compensates well but not completely.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose with specific verbs ('starts a crawl job', 'extracts content') and resources ('website', 'all pages'). It distinguishes from sibling tools by explicitly mentioning when to use scrape instead for single pages, and map+batch_scrape for token control.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance with dedicated sections: 'Best for' (multi-page comprehensive coverage), 'Not recommended for' (single pages, token limits, speed needs), 'Common mistakes' (parameter settings, wildcard usage), and clear alternatives (scrape, map+batch_scrape). This gives comprehensive when/when-not/alternative guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

firecrawl-mcp-server MCP server

Copy to your README.md:

Score Badge

firecrawl-mcp-server MCP server

Copy to your README.md:

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

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