firecrawl-research-index
Original:🇺🇸 English
Translated
Find the papers that answer a research query with Firecrawl Research, using semantic search, semantic and structural expansion, and in-body verification. Always use this skill for any literature-finding / paper-retrieval task — single-paper lookups or full multi-paper sets.
1.3kinstalls
Sourcefirecrawl/skills
Added on
NPX Install
npx skill4agent add firecrawl/skills firecrawl-research-indexTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Firecrawl Research Index
Find the research papers that answer a research query. Some questions have a single answer; many have several — and when in doubt, lean toward returning the fuller relevant set (most relevant first) rather than narrowing to one. A reader is better served seeing the neighboring methods and papers than having them silently dropped.
There is no fixed recipe. Read the query, decide what kind it is, and choose the approach below. Some queries need a single search; others need heavy sturctural/semantic expansion. Don't run machinery a query doesn't call for.
The tools, and what each is uniquely good at
-
MCP:CLI:
firecrawl_research_search_papers(query, k?)Semantic (HyDE) search over abstracts. The natural first move for almost any query. If results look thin or all-alike, re-run with a different framing (sibling domain, rival method, dataset/benchmark name) rather than giving up.firecrawl research search-papers <query> [--k <number>] -
MCP:CLI:
firecrawl_research_related_papers(seed_ids, intent, mode?, k?)Semantic and structural expansion, ranked to yourfirecrawl research related-papers <seedIds...> --intent <intent> [--mode <similar|citers|references>] [--k <number>]. This reaches papers semantic search cannot, and it's how you turn one good hit into the rest of a set.intent→ niche siblings;mode=similar→ who uses/builds on the seeds;citers→ what they build on / compare against.references -
MCP:CLI:
firecrawl_research_inspect_paper(id)Canonical metadata for one paper: title, abstract, authors, categories, source ids, and dates. Use it afterfirecrawl research inspect-paper <id>orsearch_paperswhen you need the complete citation/metadata for a candidate, or when you have an id from elsewhere and need to confirm what paper it resolves to. This does not read the paper body; userelated_papersfor specific full-text questions.read_paper -
MCP:CLI:
firecrawl_research_read_paper(id, question)In-body passages of one paper, to verify a load-bearing constraint (a method actually used, a score actually reported, an affiliation, what a paper compares to). Use it to settle a specific doubt, not on everything.firecrawl research read-paper <id> --question <question> -
MCP:/
firecrawl_search(query)CLI:firecrawl_scrape(url)/firecrawl search <query>General web search and page fetch, for facts that don't live in paper abstracts: benchmark leaderboards, rankings, "who scores best / is largest / is most used." Find the ranking on the web, then map the top entries back to papers withfirecrawl scrape <url>. Reach for these only when the corpus can't answer the question on its own.search_papers
Match the approach to the query
- Single named paper ("the Qwen3 report") → one , done. This is the only case that truly wants exactly one paper.
search_papers - Paper by description / by method or technique ("the paper that introduced X", "training-free N-gram detection of AI text") → find the best match, then assume there's a family: expand with and include the closely-related methods/papers too. Even when one paper is the exact literal match, surface and keep its neighbors — don't narrow to the single best hit and reason the rest out. Only treat it as one-answer if the query names a specific paper.
related_papers - Enumeration / method-family ("papers that do X", "alternatives to Adam", "benchmarks for Y") → the answer is a set, and this is where earns its keep: expand several strong anchors with
related_papers, re-seed from new strong hits. One search is never enough here.mode=similar - Exhibiting ("papers that use / exhibit property P") → the relevant papers apply P but their abstracts may not describe it. Go from P's defining paper outward via /
citers, and usereferencesto confirm a candidate actually uses P.read_paper - Superlative / leaderboard ("best on benchmark X", "largest", "most popular") → the ranking lives on leaderboards / the web, not in any single abstract. Use /
firecrawl_searchto find the benchmark's leaderboard or rankings, read off the top models/papers, thenfirecrawl_scrapeeach to get its paper. As a fallback, search the benchmark andsearch_paperscandidates for reported numbers. The hardest kind — cast wide.read_paper - Org / author filtered ("from <org>", "by <author>") → topical match isn't enough; verify the affiliation/authorship (metadata or ) before keeping a paper.
read_paper - Compare-against ("what does paper X benchmark against / build on") → the answer is inside paper X: or
read_paper(X, ...).related_papers([X], ..., mode="references")
Principles
- When in doubt, include. For any topic / method / comparison question, return the relevant family, not just the single best match — err toward keeping a plausibly-relevant paper rather than dropping it. The neighboring methods are part of a good answer; don't reason close work out just because one paper is the most exact match.
- Follow the literature, and keep what you find. The seminal source, the competing methods, the close neighbors are usually a hop away — use , and include them, not just the first hit. Stopping at one good result is the most common way to leave the reader with half an answer.
related_papers - Verify to exclude, not to gatekeep. Use to rule a paper out when a hard constraint clearly fails (wrong org/author, doesn't actually report the score). When a paper is plausibly relevant, lean toward keeping it rather than demanding proof.
read_paper - Only drop the clearly off-topic. Don't pad with papers you're confident are unrelated — but that's a high bar; most plausibly-relevant work should make the cut.