firecrawl / firecrawl/firecrawl-mcp-server
Firecrawl MCP Server times out with URLs containing @ symbol
- Dominant language
- JavaScript
- Stars
- 7.5k
- Forks
- 884
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 14
Description
## Description
The firecrawl-mcp-server times out when processing URLs containing the `@` symbol in the path (specifically npm scoped packages), while identical operations succeed with URLs without this character.
## Steps to Reproduce
1. Send a URL with `@` symbol to Firecrawl MCP via n8n:
https://www.npmjs.com/package/@fancyheat/n8n-nodes-redis-enhanced
**Result**: MCP error -32001 Request timed out (60000ms)
2. Send the same content via GitHub URL without `@`:
https://github.com/fancyHeat/n8n-nodes-redis-enhanced
**Result**: ✅ Success (execution completes normally)
## Expected Behavior
Both URLs should be processed without timing out. The `@` symbol is a valid URL character (used in npm scoped packages: `@scope/package-name`) and should be handled transparently.
## Actual Behavior
URLs containing `@` symbols trigger a 60-second MCP protocol timeout, causing the request to fail.
## Reproducible Example
**Execution 2599** (fails):
- Input: npm URL with `@fancyheat`
- Error: `McpError: MCP error -32001: Request timed out`
- Duration: 60000ms timeout
**Execution 2579** (succeeds):
- Input: GitHub URL without `@`
- Result: Success
- Duration: ~5000ms
## Environment
- firecrawl-mcp-server: v3.6.2 (latest)
- n8n: latest
- Transport: HTTP_STREAMABLE_SERVER mode
## Possible Root Cause
The `@` symbol may not be properly URL-encoded when Firecrawl MCP prepares the request to scrape, causing the Firecrawl API or the MCP protocol layer to hang or error out silently before timing out.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the failure in HTTP_STREAMABLE_SERVER mode with the npm URL containing @, then compare its request path with the successful GitHub URL. Trace how the MCP server prepares and sends the URL, and consider the issue resolved when the scoped npm URL completes without the 60-second timeout while the existing GitHub case still succeeds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100