Comprehensive research workflow with MCP server integration and structured documentation output.
The research plugin provides the /research:conduct slash command for conducting thorough, multi-source research with automatic synthesis and structured markdown output.
- Multi-MCP Integration: Uses ref, context7, perplexity, and firecrawl for comprehensive coverage
- Fallback Strategies: Automatic fallback from MCP → Firecrawl → WebFetch when sources fail
- Parallel Execution: All MCP calls executed in parallel for 60-80% performance improvement
- Structured Output: YAML frontmatter, executive summary, sections, references, metadata
- INDEX.md Management: Automatic research catalog with categorization and statistics
- Identity Disambiguation: Special handling for person research with conflict detection
- Critical Analysis: Automatic search for criticism, alternatives, and negative perspectives
- Source Verification: Cross-referencing across multiple sources with different perspectives
/plugin install research@melodic-software/research:conduct <topic> [thinking-mode]Arguments:
<topic>(required): Topic to research[thinking-mode](optional): Signals expected research depth. Options: "think", "think_hard", "think_harder", "ultrathink". Note: These are prompt instructions that signal expectations but don't control thinking token allocation (extended thinking is enabled by default at 31,999 tokens). UseMAX_THINKING_TOKENSenv var to adjust budget.
Examples:
/research:conduct "Claude Code hooks system"
/research:conduct "Vertical Slice Architecture" think_harder
/research:conduct "John Smith software engineer" thinkResearch files are saved to .claude/research/ with UTC timestamp:
- Format:
YYYY-MM-DD_HH-MM-SS-<topic-kebab-case>.md - Example:
2025-01-06_15-30-45-claude-code-hooks.md
INDEX.md is automatically created/updated with research catalog.
This plugin bundles MCP servers that start automatically when the plugin is enabled.
| Server | Type | Capabilities |
|---|---|---|
| context7 | HTTP | Library documentation lookup via Context7 |
| perplexity | stdio | Web search, reasoning, deep research |
| ref | HTTP | Documentation search and retrieval |
| firecrawl | stdio | Web scraping, crawling, extraction |
Set these environment variables (or in settings.json):
| Server | Environment Variable |
|---|---|
| context7 | CONTEXT7_API_KEY |
| perplexity | PERPLEXITY_API_KEY |
| ref | REF_API_KEY |
| firecrawl | FIRECRAWL_API_KEY |
- Node.js (for
npx- perplexity and firecrawl servers) - API keys for each service you want to use
| Variable | Default | Description |
|---|---|---|
CONTEXT7_API_KEY |
(required) | API key from context7.com |
| Variable | Default | Description |
|---|---|---|
PERPLEXITY_API_KEY |
(required) | API key from perplexity.ai |
PERPLEXITY_MODEL |
sonar-pro |
Default search model |
PERPLEXITY_MODEL_REASON |
sonar-reasoning-pro |
Reasoning model |
PERPLEXITY_MODEL_RESEARCH |
sonar-deep-research |
Deep research model |
PERPLEXITY_TIMEOUT_MS |
120000 |
Request timeout (ms) |
PERPLEXITY_LOG_LEVEL |
ERROR |
Log level: DEBUG, INFO, WARN, ERROR |
| Variable | Default | Description |
|---|---|---|
REF_API_KEY |
(required) | API key from ref.tools |
REF_SCOPE |
(none) | Scope param: ?scope=user or ?scope=t-xxx |
| Variable | Default | Description |
|---|---|---|
FIRECRAWL_API_KEY |
(required) | API key from firecrawl.dev |
FIRECRAWL_API_URL |
(cloud) | Self-hosted instance URL |
FIRECRAWL_RETRY_MAX_ATTEMPTS |
3 |
Max retry attempts |
FIRECRAWL_CREDIT_WARNING_THRESHOLD |
1000 |
Credit warning level |
The /research:conduct command uses these MCP servers:
- ref - Documentation search and retrieval
- context7 - Library documentation lookup
- perplexity - Web search, reasoning, deep research
- firecrawl - Web scraping (fallback)
Required tools (from frontmatter):
- Bash(date -u +"%Y%m%dT%H%M%SZ")
- Glob, Grep, MultiEdit, Read, Task, WebFetch, WebSearch, Write
- mcp__firecrawl__firecrawl_scrape
- mcp__firecrawl__firecrawl_search
Uses: claude-sonnet-4-5-20250929
MIT License - Copyright (c) 2025 Melodic Software