initialize-researchLABSCO SUMMARY
Session-based research you can drive a step at a time, or hand over in one call.
The two shapes matter: complete-research is convenient but opaque and prone to timing out on a big topic, while initialize-research plus repeated steps lets you watch the depth counter, read the findings resource between rounds, and stop when you have enough. Depth is also the cost dial — each round means more Firecrawl scrapes and more OpenAI tokens on your own keys — and the repository's own advice for token-limit errors is to lower it and narrow the query.
What it is
A TypeScript server that runs a multi-round research loop: it identifies gaps, searches and scrapes the web through Firecrawl, analyses with OpenAI, and writes the findings up as a report.
What you get
- initialize-research — start a session from a query and a depth, and get a session ID back
- execute-research-step — advance one round, with each round generating queries aimed at the gaps left by the last
- generate-report — the finished write-up, with an optional timeout for long topics
- complete-research — the whole loop in one call when you do not want to drive the steps yourself
- Session state and collected findings readable as resources at research://state/{sessionId} and research://findings/{sessionId}
- A report laid out as executive summary, introduction, methodology, analysis, comparison, discussion, limitations, conclusion and bibliography
- Sources cited with numbered references and URLs
- Partial reports when a round fails, rather than losing the session
Requirements
Two paid keys of your own — OPENAI_API_KEY and FIRECRAWL_API_KEY — and Node.js 18 or higher. Both run up usage on your accounts, and depth is the dial that decides how much.
Setup effort
Build from source — git clone https://github.com/ameeralns/DeepResearchMCP.git
USE CASES
Getting a grounded briefing on a topic you are new to
Start a session at a modest depth and read the report with its bibliography, rather than trusting a single-pass answer.
Watching the research happen instead of waiting on a black box
Run the steps one at a time and read the collected findings between rounds to see whether it is going somewhere useful.
Writing up research you already ran
Generate the report from an existing session, with a longer timeout when the topic is large.
Keeping a big topic inside the token budget
Break it into narrower queries at lower depth instead of one deep run that hits the limit and returns a partial.
4 tools
Listed in project docs. Your client may show a different list.
execute-research-stepgenerate-reportcomplete-researchBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- Node.js 18 or later
- OPENAI_API_KEY in your environment
- FIRECRAWL_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/ameeralns/DeepResearchMCP.git
cd DeepResearchMCP
npm install
npm run buildAdd the Claude Desktop block below and restart Claude Desktop
MCP Clients
Claude Desktop
{
"mcpServers": {
"deep-research": {
"command": "node",
"args": [
"<YOUR_PATH_TO_DEEP_RESEARCH_MCP>/dist/index.js"
],
"env": {
"FIRECRAWL_API_KEY": "<YOUR_FIRECRAWL_API_KEY>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}<YOUR_PATH_TO_DEEP_RESEARCH_MCP> is the full path of your clone.