firecrawl / firecrawl/firecrawl-mcp-server
Tool descriptions embed usage essays (~18k tokens of definitions per session) while 24/26 tools have undescribed parameters
- Dominant language
- JavaScript
- Stars
- 7.5k
- Forks
- 884
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 14
Description
The server's 26 tool definitions cost **~18,511 tokens** (tiktoken cl100k) at `tools/list` — paid by every session up front. The bulk is long-form description sections (`firecrawl_scrape` ~1201 tokens of description; "Usage Example", "CRITICAL - Format Selection", "Common mistakes"...). That's documentation, and models are good at *reading docs on demand* — but it's being paid per-session as selection metadata. At the same time, 24 of 26 tools declare parameters with **no** `description`, so the layer models use for argument semantics is empty.
Measured what-if: trimming each description to its first paragraph alone puts the menu at ~9,218 tokens (**50% less**); a realistic middle (keep "Best for" lines, move format guidance into the relevant parameters' descriptions) lands close to that while *improving* argument-level clarity. Method + script: https://github.com/lCrazyblindl/lap/blob/main/docs/UPSTREAM-ISSUES.md.
Happy to draft the restructuring as a PR. (Disclosure: I maintain `lap`, the measurement tool; MIT, no product.)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the 26 tool definitions and read docs/UPSTREAM-ISSUES.md, including the linked measurement method and script. Identify the long-form sections and the 24 tools whose parameters lack descriptions. Done means shorter selection metadata, relevant argument-level guidance, and a measured reduction from the current ~18,511-token tools/list payload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100