npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-deep-research-server

v1.3.0

Published

Non-generic Deep Research MCP Server - search, scrape, synthesize, fact-check, persistent memory. No API keys needed.

Readme


Why not generic?

| Generic MCP (boring) | This MCP (pro) | |---|---| | echo, fetch | Orchestrated deep research | | Returns raw HTML | Cheerio + Turndown → clean markdown + headings, links, meta | | No memory | Persistent memory in ~/.mcp-deep-research/ | | One page at a time | Parallel 3-worker scraper, 10min cache | | No reasoning | Fact-check with stance scoring, contradiction detection |

Architecture

graph LR
    A[User: deep_research topic] --> B[search_web DDG HTML]
    B --> C[Parallel Scrape x3-8]
    C --> D[cheerio clean + turndown md]
    D --> E[extract_insights heuristic]
    E --> F[Synthesize Report + Citations]
    F --> G[memory_save + history]
    F --> H[Return to Claude]
    
    I[compare_sources] --> C
    J[fact_check_claim] --> B
    K[memory_search] --> G

Tools (8)

| Tool | What it does | Params | |------|--------------|--------| | search_web | DuckDuckGo HTML search, no API key, UDDG decode | query, count 1-10, timeFilter | | scrape_page | Fetch + main-content heuristic + markdown | url, format=markdown|text|full, extractMainOnly | | extract_insights | Entities, stats regex, key-point scoring, reading time | content, goal? | | deep_research | Power tool — search → parallel scrape → synthesize report | topic, depth=quick|standard|deep, maxSources, saveMemory | | compare_sources | 2-5 URLs → consensus vs unique vs contradictions | urls[], focus? | | fact_check_claim | Searches support + debunked OR false, heuristic verdict | claim, searchDepth | | memory_save | Save finding to JSON, survives restarts | key, value, tags[], source? | | memory_search | Fuzzy search in persistent memory | query, tags[], limit |

Resources:

  • research://memory — all saved findings
  • research://history — last 100 actions
  • research://stats — cache size, uptime

Prompts:

  • deep-dive-research — full research workflow
  • fact-check — fact-checker squad
  • compare-narratives — bias & comparison table

Install

# Option A — install from npm (recommended)
npx mcp-deep-research-server

# Option B — from source
git clone https://github.com/SECRET4422/mcp-deep-research-server.git
cd mcp-deep-research-server
npm install
npm run build

Test (smoke)

npm run test:mcp
# or
npm run inspect # opens http://localhost:6274

Manually tested:

[search] Dehradun → 3 results ✓
[deep_research] What is MCP → 3 sources in 2.1s ✓
tools/list → 8 tools ✓

Add to Claude Desktop

Edit config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "deep-research": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-deep-research-server/build/index.js"]
    }
  }
}

Restart Claude Desktop.

Add to Cursor / Windsurf / VS Code

.cursor/mcp.json or mcp.json:

{
  "mcpServers": {
    "deep-research": {
      "command": "node",
      "args": ["./build/index.js"],
      "cwd": "/path/to/mcp-deep-research-server"
    }
  }
}

Example Prompts

Deep Research:

Use deep_research to research "Best LLM fine-tuning in 2026, depth deep" then compare LoRA vs QLoRA

Fact Check:

Fact check claim: "Bun is faster than Node" using fact_check_claim

Compare:

Compare these 3 URLs about MCP architecture focusing on security: https://modelcontextprotocol.io/docs/getting-started/intro https://www.anthropic.com/news/model-context-protocol https://en.wikipedia.org/wiki/Model_Context_Protocol

See examples/claude-example.md for more.

Data Storage

All in ~/.mcp-deep-research/:

  • memory.json — persistent findings
  • history.json — audit log (100 max)
  • cache/ — reserved

No DB, no external calls except search/scrape.

Pro Features in v1.1.0

  • ✅ Logo + pro README + badges
  • ✅ GitHub Actions CI (Node 18/20/22) + Release workflow
  • ✅ Issue templates, PR template, CONTRIBUTING, SECURITY
  • ✅ .editorconfig, smoke test script
  • ✅ Optimized package.json for npm publishing
  • ✅ CHANGELOG tracked

Roadmap

  • [ ] Tavily / Brave API fallback if keys present
  • [ ] PDF parsing via pdf-parse
  • [ ] YouTube transcript tool
  • [ ] Vector search on memory (embeddings)
  • [x] SSRF protection — private/internal IP blocklist for scrape_page
  • [ ] Smithery registry

Dev

npm run dev     # tsx watch
npm run build
npm run lint

Guidelines in CONTRIBUTING.md.

License

MIT © Prabhakar Pal — See LICENSE

Built with 🧠 for Dehradun → World. Not a generic MCP.