Research Powerpack MCP
Enables AI assistants to perform comprehensive research by searching Google, mining Reddit discussions, scraping web content with JS rendering, and synthesizing findings with citations into structured context.
README
<h1 align="center">🔬 Research Powerpack MCP 🔬</h1> <h3 align="center">Stop tab-hopping for research. Start getting structured context.</h3>
<p align="center"> <strong> <em>The ultimate research toolkit for your AI coding assistant. It searches the web, mines Reddit, scrapes any URL, and synthesizes everything into perfectly structured context your LLM actually understands.</em> </strong> </p>
<p align="center"> <!-- Package Info --> <a href="https://www.npmjs.com/package/mcp-researchpowerpack"><img alt="npm" src="https://img.shields.io/npm/v/mcp-researchpowerpack.svg?style=flat-square&color=4D87E6"></a> <a href="#"><img alt="node" src="https://img.shields.io/badge/node-18+-4D87E6.svg?style=flat-square"></a> • <!-- Features --> <a href="https://opensource.org/licenses/MIT"><img alt="license" src="https://img.shields.io/badge/License-MIT-F9A825.svg?style=flat-square"></a> <a href="#"><img alt="platform" src="https://img.shields.io/badge/platform-macOS_|Linux|_Windows-2ED573.svg?style=flat-square"></a> </p>
<p align="center"> <img alt="modular" src="https://img.shields.io/badge/🧩_modular-use_1_tool_or_all_5-2ED573.svg?style=for-the-badge"> <img alt="zero crash" src="https://img.shields.io/badge/💪_zero_crash-missing_keys_=_helpful_errors-2ED573.svg?style=for-the-badge"> </p>
<div align="center">
🧭 Quick Navigation
⚡ Get Started • 🎯 Why Research Powerpack • 🎮 Tools • ⚙️ Configuration • 📚 Examples
</div>
research-powerpack-mcp is the research assistant your AI has been missing. Stop asking your LLM to guess about things it doesn't know. This MCP server acts like a senior researcher -- searching the web, mining Reddit discussions, scraping documentation, and synthesizing everything into structured context so your AI can give you answers you can actually trust.
<div align="center"> <table> <tr> <td align="center"> <h3>🔍</h3> <b>Batch Web Search</b><br/> <sub>100 keywords in parallel</sub> </td> <td align="center"> <h3>💬</h3> <b>Reddit Mining</b><br/> <sub>Real opinions, not marketing</sub> </td> <td align="center"> <h3>🌐</h3> <b>Universal Scraping</b><br/> <sub>JS rendering + geo-targeting</sub> </td> <td align="center"> <h3>🧠</h3> <b>Deep Research</b><br/> <sub>AI synthesis with citations</sub> </td> </tr> </table> </div>
Here's how it works:
- You: "What's the best database for my use case?"
- AI + Powerpack: Searches Google, mines Reddit threads, scrapes docs, synthesizes findings.
- You: Get an actually informed answer with real community opinions and citations.
- Result: Better decisions, faster. No more juggling 47 browser tabs.
🎯 Why Research Powerpack
Manual research is tedious and error-prone. research-powerpack-mcp replaces that entire workflow with a single integrated pipeline.
<table align="center"> <tr> <td align="center"><b>❌ Without Research Powerpack</b></td> <td align="center"><b>✅ With Research Powerpack</b></td> </tr> <tr> <td> <ol> <li>Open 15 browser tabs.</li> <li>Skim Stack Overflow answers from 2019.</li> <li>Search Reddit, get distracted along the way.</li> <li>Copy-paste random snippets to your AI.</li> <li>Get a mediocre answer from confused context.</li> </ol> </td> <td> <ol> <li>Ask your AI to research it.</li> <li>AI searches, scrapes, mines Reddit automatically.</li> <li>Receive synthesized insights with sources.</li> <li>Make an informed decision.</li> <li>Move on to the work that matters. ☕</li> </ol> </td> </tr> </table>
This isn't just fetching random pages. Research Powerpack builds high-signal, low-noise context with CTR-weighted ranking, smart comment allocation, and intelligent token distribution that prevents massive responses from breaking your LLM's context window.
🚀 Get Started in 60 Seconds
1. Install
npm install research-powerpack-mcp
2. Configure Your MCP Client
<div align="center">
| Client | Config File | Docs |
|---|---|---|
| 🖥️ Claude Desktop | claude_desktop_config.json |
Setup |
| ⌨️ Claude Code | ~/.claude.json or CLI |
Setup |
| 🎯 Cursor | .cursor/mcp.json |
Setup |
| 🏄 Windsurf | MCP settings | Setup |
</div>
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"research-powerpack": {
"command": "npx",
"args": ["mcp-researchpowerpack"],
"env": {
"SERPER_API_KEY": "your_key",
"REDDIT_CLIENT_ID": "your_id",
"REDDIT_CLIENT_SECRET": "your_secret",
"SCRAPEDO_API_KEY": "your_key",
"OPENROUTER_API_KEY": "your_key"
}
}
}
}
or quick install (for macOS):
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq '.mcpServers["research-powerpack"] = {
"command": "npx",
"args": ["research-powerpack-mcp@latest"],
"disabled": false,
"env": {
"OPENROUTER_API_KEY": "xxx",
"REDDIT_CLIENT_ID": "xxx",
"REDDIT_CLIENT_SECRET": "xxx",
"RESEARCH_MODEL": "xxxx",
"SCRAPEDO_API_KEY": "xxx",
"SERPER_API_KEY": "xxxx"
}
}' | tee ~/Library/Application\ Support/Claude/claude_desktop_config.json
Claude Code (CLI)
One command to set everything up:
claude mcp add research-powerpack npx \
--scope user \
--env SERPER_API_KEY=your_key \
--env REDDIT_CLIENT_ID=your_id \
--env REDDIT_CLIENT_SECRET=your_secret \
--env OPENROUTER_API_KEY=your_key \
--env OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 \
--env RESEARCH_MODEL=x-ai/grok-4.1-fast \
-- research-powerpack-mcp
Or manually add to ~/.claude.json:
{
"mcpServers": {
"research-powerpack": {
"command": "npx",
"args": ["mcp-researchpowerpack"],
"env": {
"SERPER_API_KEY": "your_key",
"REDDIT_CLIENT_ID": "your_id",
"REDDIT_CLIENT_SECRET": "your_secret",
"OPENROUTER_API_KEY": "your_key",
"OPENROUTER_BASE_URL": "https://openrouter.ai/api/v1",
"RESEARCH_MODEL": "x-ai/grok-4.1-fast"
}
}
}
}
Cursor/Windsurf
Add to .cursor/mcp.json or equivalent:
{
"mcpServers": {
"research-powerpack": {
"command": "npx",
"args": ["mcp-researchpowerpack"],
"env": {
"SERPER_API_KEY": "your_key"
}
}
}
}
Zero Crash Promise: Missing API keys? No problem. The server always starts. Tools that require missing keys return helpful setup instructions instead of crashing.
🌐 Transport Modes
Research Powerpack supports three transport modes:
| Mode | Use Case | How to Start |
|---|---|---|
| STDIO (default) | Claude Desktop, Cursor, Windsurf | npx mcp-researchpowerpack |
| HTTP Streamable | Self-hosted, Docker, LAN sharing | MCP_TRANSPORT=http npx mcp-researchpowerpack |
| Cloudflare Workers | Serverless, globally distributed | Already deployed ↓ |
Remote MCP (Cloudflare Workers)
A remote MCP endpoint is deployed and ready to use:
https://mcp-researchpowerpack.seodoold.workers.dev/mcp
Connect from any MCP client that supports HTTP Streamable transport:
{
"mcpServers": {
"research-powerpack-remote": {
"type": "streamable-http",
"url": "https://mcp-researchpowerpack.seodoold.workers.dev/mcp"
}
}
}
Self-Hosted HTTP Streamable
# Start on default port 3001
MCP_TRANSPORT=http npx mcp-researchpowerpack
# Custom port
MCP_TRANSPORT=http MCP_PORT=8080 npx mcp-researchpowerpack
{
"mcpServers": {
"research-powerpack-http": {
"type": "streamable-http",
"url": "http://localhost:3001/mcp"
}
}
}
🎮 Tool Reference
<div align="center"> <table> <tr> <td align="center"> <h3>🔍</h3> <b><code>web_search</code></b><br/> <sub>Batch Google search</sub> </td> <td align="center"> <h3>💬</h3> <b><code>search_reddit</code></b><br/> <sub>Find Reddit discussions</sub> </td> <td align="center"> <h3>📖</h3> <b><code>get_reddit_post</code></b><br/> <sub>Fetch posts + comments</sub> </td> <td align="center"> <h3>🌐</h3> <b><code>scrape_links</code></b><br/> <sub>Extract any URL</sub> </td> <td align="center"> <h3>🧠</h3> <b><code>deep_research</code></b><br/> <sub>AI synthesis</sub> </td> </tr> </table> </div>
web_search
Batch web search using Google via Serper API. Search up to 100 keywords in parallel.
| Parameter | Type | Required | Description |
|---|---|---|---|
keywords |
string[] |
Yes | Search queries (1-100). Use distinct keywords for maximum coverage. |
Supports Google operators: site:, -exclusion, "exact phrase", filetype:
{
"keywords": [
"best IDE 2025",
"VS Code alternatives",
"Cursor vs Windsurf comparison"
]
}
search_reddit
Search Reddit via Google with automatic site:reddit.com filtering.
| Parameter | Type | Required | Description |
|---|---|---|---|
queries |
string[] |
Yes | Search queries (max 10) |
date_after |
string |
No | Filter results after date (YYYY-MM-DD) |
Search operators: intitle:keyword, "exact phrase", OR, -exclude
{
"queries": [
"best mechanical keyboard 2025",
"intitle:keyboard recommendation"
],
"date_after": "2024-01-01"
}
get_reddit_post
Fetch Reddit posts with smart comment allocation (1,000 comment budget distributed automatically).
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
urls |
string[] |
Yes | — | Reddit post URLs (2-50) |
fetch_comments |
boolean |
No | true |
Whether to fetch comments |
max_comments |
number |
No | auto | Override comment allocation |
Smart Allocation:
- 2 posts → ~500 comments/post (deep dive)
- 10 posts → ~100 comments/post
- 50 posts → ~20 comments/post (quick scan)
{
"urls": [
"https://reddit.com/r/programming/comments/abc123/post_title",
"https://reddit.com/r/webdev/comments/def456/another_post"
]
}
scrape_links
Universal URL content extraction with automatic fallback modes.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
urls |
string[] |
Yes | — | URLs to scrape (3-50) |
timeout |
number |
No | 30 |
Timeout per URL (seconds) |
use_llm |
boolean |
No | false |
Enable AI extraction |
what_to_extract |
string |
No | — | Extraction instructions for AI |
Automatic Fallback: Basic → JS rendering → JS + US geo-targeting
{
"urls": ["https://example.com/article1", "https://example.com/article2"],
"use_llm": true,
"what_to_extract": "Extract the main arguments and key statistics"
}
deep_research
AI-powered batch research with web search and citations.
| Parameter | Type | Required | Description |
|---|---|---|---|
questions |
object[] |
Yes | Research questions (2-10) |
questions[].question |
string |
Yes | The research question |
questions[].file_attachments |
object[] |
No | Files to include as context |
Token Allocation: 32,000 tokens distributed across questions:
- 2 questions → 16,000 tokens/question (deep dive)
- 10 questions → 3,200 tokens/question (rapid multi-topic)
{
"questions": [
{ "question": "What are the current best practices for React Server Components in 2025?" },
{ "question": "Compare Bun vs Node.js for production workloads with benchmarks." }
]
}
⚙️ Environment Variables & Tool Availability
Research Powerpack uses a modular architecture. Tools are automatically enabled based on which API keys you provide:
<div align="center">
| ENV Variable | Tools Enabled | Free Tier |
|---|---|---|
SERPER_API_KEY |
web_search, search_reddit |
2,500 queries/mo |
REDDIT_CLIENT_ID + SECRET |
get_reddit_post |
Unlimited |
SCRAPEDO_API_KEY |
scrape_links |
1,000 credits/mo |
OPENROUTER_API_KEY |
deep_research + AI in scrape_links |
Pay-as-you-go |
RESEARCH_MODEL |
Model for deep_research |
Default: perplexity/sonar-deep-research |
LLM_EXTRACTION_MODEL |
Model for AI extraction in scrape_links |
Default: openrouter/gpt-oss-120b:nitro |
</div>
Configuration Examples
# Search-only mode (just web_search and search_reddit)
SERPER_API_KEY=xxx
# Reddit research mode (search + fetch posts)
SERPER_API_KEY=xxx
REDDIT_CLIENT_ID=xxx
REDDIT_CLIENT_SECRET=xxx
# Full research mode (all 5 tools)
SERPER_API_KEY=xxx
REDDIT_CLIENT_ID=xxx
REDDIT_CLIENT_SECRET=xxx
SCRAPEDO_API_KEY=xxx
OPENROUTER_API_KEY=xxx
Full Power Mode
For the best research experience, configure all four API keys:
SERPER_API_KEY=your_serper_key # Free: 2,500 queries/month
REDDIT_CLIENT_ID=your_reddit_id # Free: Unlimited
REDDIT_CLIENT_SECRET=your_reddit_secret
SCRAPEDO_API_KEY=your_scrapedo_key # Free: 1,000 credits/month
OPENROUTER_API_KEY=your_openrouter_key # Pay-as-you-go
This unlocks:
- 5 research tools working together
- AI-powered content extraction in scrape_links
- Deep research with web search and citations
- Complete Reddit mining (search → fetch → analyze)
Total setup time: ~10 minutes. Total free tier value: ~$50/month equivalent.
🔑 API Key Setup Guides
<details> <summary><b>🔍 Serper API (Google Search) — FREE: 2,500 queries/month</b></summary>
What you get
- Fast Google search results via API
- Enables
web_searchandsearch_reddittools
Setup Steps
- Go to serper.dev
- Click "Get API Key" (top right)
- Sign up with email or Google
- Copy your API key from the dashboard
- Add to your config:
SERPER_API_KEY=your_key_here
Pricing
- Free: 2,500 queries/month
- Paid: $50/month for 50,000 queries
</details>
<details> <summary><b>🤖 Reddit OAuth — FREE: Unlimited access</b></summary>
What you get
- Full Reddit API access
- Fetch posts and comments with upvote sorting
- Enables
get_reddit_posttool
Setup Steps
- Go to reddit.com/prefs/apps
- Scroll down and click "create another app..."
- Fill in:
- Name:
research-powerpack(or any name) - App type: Select "script" (important!)
- Redirect URI:
http://localhost:8080
- Name:
- Click "create app"
- Copy your credentials:
- Client ID: The string under your app name
- Client Secret: The "secret" field
- Add to your config:
REDDIT_CLIENT_ID=your_client_id REDDIT_CLIENT_SECRET=your_client_secret
</details>
<details> <summary><b>🌐 Scrape.do (Web Scraping) — FREE: 1,000 credits/month</b></summary>
What you get
- JavaScript rendering support
- Geo-targeting and CAPTCHA handling
- Enables
scrape_linkstool
Setup Steps
- Go to scrape.do
- Click "Start Free"
- Sign up with email
- Copy your API key from the dashboard
- Add to your config:
SCRAPEDO_API_KEY=your_key_here
Credit Usage
- Basic scrape: 1 credit
- JavaScript rendering: 5 credits
- Geo-targeting: +25 credits
</details>
<details> <summary><b>🧠 OpenRouter (AI Models) — Pay-as-you-go</b></summary>
What you get
- Access to 100+ AI models via one API
- Enables
deep_researchtool - Enables AI extraction in
scrape_links
Setup Steps
- Go to openrouter.ai
- Sign up with Google/GitHub/email
- Go to openrouter.ai/keys
- Click "Create Key"
- Copy the key (starts with
sk-or-...) - Add to your config:
OPENROUTER_API_KEY=sk-or-v1-xxxxx
Recommended Models for Deep Research
# Default (optimized for research)
RESEARCH_MODEL=perplexity/sonar-deep-research
# Fast and capable
RESEARCH_MODEL=x-ai/grok-4.1-fast
# High quality
RESEARCH_MODEL=anthropic/claude-3.5-sonnet
# Budget-friendly
RESEARCH_MODEL=openai/gpt-4o-mini
Recommended Models for AI Extraction (use_llm in scrape_links)
# Default (fast and cost-effective for extraction)
LLM_EXTRACTION_MODEL=openrouter/gpt-oss-120b:nitro
# High quality extraction
LLM_EXTRACTION_MODEL=anthropic/claude-3.5-sonnet
# Budget-friendly
LLM_EXTRACTION_MODEL=openai/gpt-4o-mini
Note:
RESEARCH_MODELandLLM_EXTRACTION_MODELare independent. You can use a powerful model for deep research and a faster/cheaper model for content extraction, or vice versa.
</details>
📚 Recommended Workflows
Research a Technology Decision
1. web_search → ["React vs Vue 2025", "Next.js vs Nuxt comparison"]
2. search_reddit → ["best frontend framework 2025", "Next.js production experience"]
3. get_reddit_post → [URLs from step 2]
4. scrape_links → [Documentation and blog URLs from step 1]
5. deep_research → [Synthesize findings into specific questions]
Competitive Analysis
1. web_search → ["competitor name review", "competitor vs alternatives"]
2. scrape_links → [Competitor websites, review sites]
3. search_reddit → ["competitor name experience", "switching from competitor"]
4. get_reddit_post → [URLs from step 3]
Debug an Obscure Error
1. web_search → ["exact error message", "error + framework name"]
2. search_reddit → ["error message", "framework + error type"]
3. get_reddit_post → [URLs with solutions]
4. scrape_links → [Stack Overflow answers, GitHub issues]
🛠️ Development
git clone https://github.com/yigitkonur/mcp-researchpowerpack.git
cd mcp-researchpowerpack
npm install
npm run dev
npm run build
npm run typecheck
🔧 Troubleshooting
<details> <summary><b>Expand for troubleshooting tips</b></summary>
| Problem | Solution |
|---|---|
| Tool returns "API key not configured" | Add the required ENV variable to your MCP config. The error message tells you exactly which key is missing. |
| Reddit posts returning empty | Check your REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET. Make sure you created a "script" type app. |
| Scraping fails on JavaScript sites | This is expected for the first attempt. The tool auto-retries with JS rendering. If still failing, the site may be blocking scrapers. |
| Deep research taking too long | Use a faster model like x-ai/grok-4.1-fast instead of perplexity/sonar-deep-research. |
| Token limit errors | Reduce the number of URLs/questions per request. The tool distributes a fixed token budget. |
</details>
<div align="center">
MIT © Yigit Konur
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。