Skip to main content
Glama
tkorkmazeth

toolgate-firecrawl-mcp

by tkorkmazeth

toolgate-firecrawl-mcp

A recoverable Firecrawl MCP server powered by Toolgate.

Every paid scrape goes through a full lifecycle: balance check → execute → charge → trace. If it fails, you get a refund or fallback — never a silent loss.


What happens when you scrape

Agent calls scrape_url
  → Toolgate checks idempotency (duplicate? return cached)
  → Toolgate checks balance (enough? deduct $0.10)
  → Firecrawl scrapes the URL (JS-rendered, clean markdown)
  → On success: charge confirmed, trace saved
  → On failure: refund issued, trace saved with reason
  → On no balance: fallback (fetch+cheerio metadata) returned free

Related MCP server: Scrapy MCP Server

Quick Start

Install & run (demo mode — no API key needed)

npm install
npm run dev

Demo mode uses fetch+cheerio as the scraping backend. scrape_url and balance tools work out of the box. No Firecrawl credits consumed.

Claude Desktop — demo mode

{
  "mcpServers": {
    "toolgate-firecrawl": {
      "command": "node",
      "args": ["/path/to/toolgate-firecrawl-mcp/dist/server.js"],
      "env": {
        "TOOLGATE_DEMO_MODE": "true"
      }
    }
  }
}

Claude Desktop — production (real Firecrawl)

{
  "mcpServers": {
    "toolgate-firecrawl": {
      "command": "node",
      "args": ["/path/to/toolgate-firecrawl-mcp/dist/server.js"],
      "env": {
        "FIRECRAWL_API_KEY": "fc-your-key-here"
      }
    }
  }
}

Tools

Tool

Price

Description

scrape_url

$0.10/call

Scrape a URL → clean markdown. Fallback: basic metadata free.

web_search

$0.01/result (min $0.05)

Web search via Firecrawl. Requires API key.

extract_data

$0.15/call

Structured JSON extraction with schema. Requires API key.

check_balance

free

Check your current Toolgate balance.

add_balance

free

Add demo balance (demo mode only).

view_traces

free

View recent execution traces with decisions and charge status.


Demo

npm run scenario

Example output:

{
  "passed": 6,
  "failed": 0,
  "skipped": 2,
  "scenarios": [
    { "name": "url_validation_ssrf", "passed": true },
    { "name": "payment_missing_fallback", "passed": true },
    { "name": "credit_balance", "passed": true },
    { "name": "paid_scrape", "passed": true },
    { "name": "duplicate_request", "passed": true },
    { "name": "unreachable_url", "skipped": true, "reason": "network" },
    { "name": "free_tier_not_applicable", "passed": true },
    { "name": "trace_output", "passed": true }
  ]
}

How Toolgate works here

Toolgate wraps every Firecrawl call with a payment lifecycle. Each call gets an idempotency key — retrying with the same key returns the cached result at no extra cost. If the Firecrawl call fails after payment was deducted, the charge is automatically refunded. Every decision is recorded in a queryable execution trace.


Environment Variables

Variable

Default

Description

FIRECRAWL_API_KEY

Firecrawl API key. Omit for demo mode.

FIRECRAWL_API_URL

https://api.firecrawl.dev

Firecrawl API base URL.

TOOLGATE_PUBLISHER_KEY

tg_firecrawl_demo

Toolgate publisher key.

TOOLGATE_DEMO_MODE

true if no API key

Force demo mode.

TOOLGATE_PRELOAD_BALANCE

1.0 (demo only)

USD pre-loaded in demo mode.

SCRAPE_TIMEOUT_MS

15000

Timeout for scrape requests.

MAX_RESPONSE_BYTES

5242880 (5MB)

Max response size.


Built with


License

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/tkorkmazeth/toolgate-firecrawl-mcp'

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