Skip to main content
Glama
codyde

MCP Firecrawl Server

by codyde

MCP Firecrawl 서버

이는 Firecrawl의 API를 사용하여 웹사이트를 스크래핑하고 구조화된 데이터를 추출하는 도구를 제공하는 간단한 MCP 서버입니다.

설정

  1. 종속성 설치:

지엑스피1

  1. 다음 변수를 사용하여 루트 디렉토리에 .env 파일을 만듭니다.

FIRECRAWL_API_TOKEN=your_token_here
SENTRY_DSN=your_sentry_dsn_here
  • FIRECRAWL_API_TOKEN (필수): Firecrawl API 토큰

  • SENTRY_DSN (선택 사항): 오류 추적 및 성능 모니터링을 위한 Sentry DSN

  1. 서버를 시작합니다:

npm start

또는 서버를 실행할 때 환경 변수를 직접 설정할 수 있습니다.

FIRECRAWL_API_TOKEN=your_token_here npm start

Related MCP server: WebSearch

특징

  • 웹사이트 스크래핑 : 다양한 형식의 웹사이트에서 콘텐츠 추출

  • 구조화된 데이터 추출 : 사용자 정의 스키마를 기반으로 특정 데이터 포인트 추출

  • 오류 추적 : 오류 추적 및 성능 모니터링을 위해 Sentry와 통합됨

용법

서버는 두 가지 도구를 제공합니다.

  1. scrape-website : 다양한 포맷 옵션을 갖춘 기본 웹사이트 스크래핑

  2. extract-data : 프롬프트 및 스키마 기반 구조화된 데이터 추출

도구: scrape-website

이 도구는 웹사이트를 스크래핑하여 요청된 형식으로 콘텐츠를 반환합니다.

매개변수:

  • url (문자열, 필수): 스크래핑할 웹사이트의 URL

  • formats (문자열 배열, 선택 사항): 원하는 출력 형식의 배열입니다. 지원되는 형식은 다음과 같습니다.

    • "markdown" (기본값)

    • "html"

    • "text"

MCP Inspector를 사용한 예시 사용:

# Basic usage (defaults to markdown)
mcp-inspector --tool scrape-website --args '{
  "url": "https://example.com"
}'

# Multiple formats
mcp-inspector --tool scrape-website --args '{
  "url": "https://example.com",
  "formats": ["markdown", "html", "text"]
}'

도구: extract-data

이 도구는 제공된 프롬프트와 스키마를 기반으로 웹사이트에서 구조화된 데이터를 추출합니다.

매개변수:

  • urls (문자열 배열, 필수): 데이터를 추출할 URL 배열

  • prompt (문자열, 필수): 추출할 데이터를 설명하는 프롬프트

  • schema (객체, 필수): 추출할 데이터에 대한 스키마 정의

스키마 정의는 키가 필드 이름이고 값이 유형인 객체여야 합니다. 지원되는 유형은 다음과 같습니다.

  • "string" : 텍스트 필드용

  • "boolean" : 참/거짓 필드의 경우

  • "number" : 숫자 필드의 경우

  • 배열: ["type"] 으로 지정되며 여기서 type은 위의 것 중 하나입니다.

  • 객체: 자체 유형 정의가 있는 중첩된 객체

MCP Inspector를 사용한 예시 사용:

# Basic example extracting company information
mcp-inspector --tool extract-data --args '{
  "urls": ["https://example.com"],
  "prompt": "Extract the company mission, whether it supports SSO, and whether it is open source.",
  "schema": {
    "company_mission": "string",
    "supports_sso": "boolean",
    "is_open_source": "boolean"
  }
}'

# Complex example with nested data
mcp-inspector --tool extract-data --args '{
  "urls": ["https://example.com/products", "https://example.com/pricing"],
  "prompt": "Extract product information including name, price, and features.",
  "schema": {
    "products": [{
      "name": "string",
      "price": "number",
      "features": ["string"]
    }]
  }
}'

두 도구 모두 스크래핑이나 추출이 실패하면 적절한 오류 메시지를 반환하고, 구성된 경우 Sentry에 자동으로 오류를 기록합니다.

문제 해결

문제가 발생하는 경우:

  1. Firecrawl API 토큰이 유효한지 확인하세요

  2. 스크래핑하려는 URL에 액세스할 수 있는지 확인하세요.

  3. 복잡한 스키마의 경우 지원되는 형식을 따르는지 확인하세요.

  4. 자세한 오류 정보를 보려면 Sentry 로그를 검토하세요(구성된 경우)

Available Tools

2 tools
extract-dataD
ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
promptYes
schemaYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

scrape-websiteD
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
formatsNo

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedextract-data
    • First observedscrape-website

TDQS

D1.4/5.0

Scored across 2 tools

Disambiguation2/5

The two tools have overlapping purposes that could cause confusion. 'extract-data' and 'scrape-website' both appear to involve retrieving data from websites, with no clear distinction in their descriptions. While they might target different aspects of web data extraction, the lack of descriptions makes it impossible to determine their boundaries, leading to potential misselection.

Naming Consistency4/5

The tool names follow a consistent snake_case pattern with verb_noun structure (extract-data, scrape-website). Both use clear action verbs ('extract' and 'scrape') paired with nouns ('data' and 'website'), making them readable and predictable. There are no deviations in naming style across the two tools.

Tool Count2/5

With only 2 tools, the server feels under-scoped for a web scraping/ data extraction domain, which typically requires more operations like configuration, filtering, or handling different data formats. This limited set may force agents to work around gaps, as basic CRUD or lifecycle coverage is incomplete.

Completeness1/5

The tool surface is severely incomplete for a web scraping server. There are obvious gaps such as no tools for configuring scraping parameters, handling authentication, managing jobs, or processing extracted data. Without descriptions, it's unclear what these tools do, but the lack of supporting operations suggests agents will face dead ends in typical workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A server that provides web scraping and intelligent content searching capabilities using the Firecrawl API, enabling AI agents to extract structured data from websites and perform content searches.
    5
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables web scraping, crawling, and content extraction capabilities through integration with Firecrawl.
    8
    129,393 npm
    2
    MIT