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

@iflow-mcp/nimo1987-harness-research

v2.0.0

Published

Deep research MCP server: multi-source search + CRAAP evaluation + cross-verification + professional reports

Readme

English | 中文

Harness Research MCP

Give any AI Agent professional-grade deep research capabilities.

An MCP (Model Context Protocol) server that performs real-time deep research across 5 data sources, evaluates source credibility with the CRAAP framework, cross-verifies findings, and generates professional reports — all driven by affordable models like Kimi K2.5.

A full deep research report takes ~10 minutes and can be driven by Kimi K2.5 at ~$0.01/run.


For AI Agents: How to install this tool

This is a Node.js MCP server, NOT a Python package. Do NOT git clone or pip install.

Step 1 — One-time setup (run in user's terminal):

npx harness-research-mcp setup

This launches an interactive wizard to configure API keys (stored in ~/.harness-research/.env).

Step 2 — Register as MCP server in your agent's config file:

Claude Desktop / Cursor / Windsurf — edit MCP config JSON:

{
  "mcpServers": {
    "harness-research": {
      "command": "npx",
      "args": ["-y", "harness-research-mcp"]
    }
  }
}

OpenCode — add to ~/.config/opencode/opencode.json:

{
  "mcp": {
    "harness-research": {
      "command": "npx",
      "args": ["-y", "harness-research-mcp"]
    }
  }
}

That's it. After registration, the agent gets 3 tools: harness_research (full report), harness_search (quick search), harness_status (progress check).

Do NOT clone this repo, build from source, or run node/python directly. npx handles everything.

Async workflow — no timeout issues: harness_research returns a task_id immediately (< 1 second). The research runs in the background (~10 minutes). You must poll harness_status(task_id) every 30–60 seconds until status is "completed" or "failed". This design means the default 60-second MCP timeout will NOT be a problem.

If your MCP client has a configurable timeout, setting it to 1200 seconds (20 minutes) is still recommended as a safety margin:

{
  "mcpServers": {
    "harness-research": {
      "command": "npx",
      "args": ["-y", "harness-research-mcp"],
      "timeout": 1200
    }
  }
}

Why This Tool Exists

The Problem with Current "Deep Research" Tools

Existing deep research tools (Perplexity Deep Research, ChatGPT Research, Gemini Deep Research, etc.) share fundamental flaws:

| Problem | Explanation | |---------|-------------| | Rely on stale knowledge | They primarily draw from the LLM's training data, not real-time internet search. You may get data that's months or years out of date. | | Opaque sourcing | Most tools don't show where information came from. Some cited URLs are hallucinated. | | No source evaluation | A social media post and a government statistical report are treated equally. No mechanism to assess credibility. | | Single search source | One search engine, narrow coverage. Academic papers, financial data, and government reports are unreachable. | | Not integrable | Locked into specific platforms. Can't plug into your own AI Agent workflow. | | Expensive | Require GPT-4, Claude, etc. Each research session costs $1-5+. |

How Harness Research Is Different

| Feature | Harness Research | Perplexity / ChatGPT / Gemini | |---------|-----------------|-------------------------------| | Data sources | 5 real-time search APIs (Tavily + Brave + arXiv + PubMed + Tushare) | Single search engine or model's internal knowledge | | Data freshness | 100% real-time search — zero reliance on LLM training data | Mixed stale knowledge + limited search | | Source evaluation | CRAAP framework with 5-dimension scoring + T0-T5 tier classification (530+ domain database) | None | | Cross-verification | Automatic conflict detection + counterintuitive finding identification | None | | Citations | Every reference tagged with source tier, credibility score, publication date | Simple URL list or no citations | | LLM requirement | Kimi K2.5 works great (~$0.01/run) | GPT-4 / Claude ($1-5/run) | | Output formats | HTML + DOCX + PDF + Markdown | Plain text | | Integrability | Standard MCP protocol — works with any Agent | Locked to specific platform | | Open source | Apache 2.0 | Proprietary |

Core principle: The LLM only "thinks" — it never "knows." All factual data comes from real-time search.


The 6-Step Research Pipeline

User: "Research the global AI chip market landscape in 2025"
         │
         ▼
Step 1 ── Research Plan (LLM)
         │  Generate chapter structure + search keywords
         ▼
Step 2 ── 5-Source Parallel Search (Code)
         │  Tavily + Brave + arXiv + PubMed + Tushare
         │  Dedup → cap at 50 results
         ▼
Step 3 ── CRAAP Source Evaluation (Code + LLM)
         │  Code pre-filter: T5 eliminated, >3yr eliminated
         │  LLM batch scoring: Relevance + Accuracy + Purpose
         │  Weighted average → filter low-scoring sources
         ▼
Step 4 ── Cross-Verification (LLM)
         │  Data triangulation + conflict detection + counterintuitive findings
         ▼
Step 5 ── Parallel Writing (LLM)
         │  All chapters in parallel + executive summary
         ▼
Step 6 ── Render Output (Code)
         │  HTML + DOCX + PDF (macOS) + Markdown
         ▼
    Professional research report (~10 minutes)

Quick Start

1. Setup (one-time)

npx harness-research-mcp setup

The interactive wizard will guide you through:

  • Configuring search API keys (Tavily or Brave, at least one)
  • Configuring an LLM API key (Kimi K2.5 recommended — cheapest option)
  • Optional: Tushare (Chinese financial data), NCBI (PubMed academic search)
  • Automatic API connectivity test

2. Register with Your AI Agent

Copy the appropriate config for your Agent framework:

Claude Desktop / Cursor / Windsurf:

{
  "mcpServers": {
    "harness-research": {
      "command": "npx",
      "args": ["-y", "harness-research-mcp"]
    }
  }
}

OpenClaw:

openclaw mcp set harness-research '{"command":"npx","args":["-y","harness-research-mcp"]}'

OpenCode:

// ~/.config/opencode/opencode.json
{
  "mcp": {
    "harness-research": {
      "command": "npx",
      "args": ["-y", "harness-research-mcp"]
    }
  }
}

3. Use It

Just tell your Agent:

"Do a deep research on the global AI chip market landscape in 2025"

The Agent will automatically call harness_research and return the full report in ~10 minutes.


Three MCP Tools

| Tool | Description | Duration | |------|-------------|----------| | harness_research | Full deep research with professional report output | ~10 min | | harness_search | Quick multi-source search, returns structured results | Seconds | | harness_status | Check research task progress | Instant |


API Keys Explained

Why Do You Need These Keys?

Harness Research does not rely on any LLM's historical knowledge. All information is fetched in real-time from the internet. This requires calling various search and data APIs.

| Key | Purpose | Required? | Get it | Cost | |-----|---------|-----------|--------|------| | TAVILY_API_KEY | Advanced web search (deep scraping support) | Required (pick one) | tavily.com | Free 1000 calls/mo | | BRAVE_API_KEY | Privacy-focused web search | Required (pick one) | brave.com/search/api | Free 2000 calls/mo | | KIMI_API_KEY | LLM reasoning (planning, evaluation, writing) | Required (pick one) | platform.moonshot.cn | Very low cost | | OPENROUTER_API_KEY | LLM reasoning (alternative to Kimi) | Required (pick one) | openrouter.ai | Per-model pricing | | TUSHARE_TOKEN | Chinese A-share financial data | Optional | tushare.pro | Free basic tier | | NCBI_API_KEY | PubMed academic paper search | Optional | ncbi.nlm.nih.gov | Free |

Minimum: 1 search key + 1 LLM key = 2 keys to get started.

Why Kimi K2.5?

  • Cost: ~$0.01 per full research session (vs. GPT-4 at $1-5)
  • Chinese support: Native Chinese language, no translation layer needed
  • Context: 128K token window — handles large volumes of search results
  • Reliability: 99.9%+ API availability

Output Formats

| Format | macOS | Windows / Linux | Notes | |--------|-------|-----------------|-------| | HTML | ✅ | ✅ | Professional layout, dark theme support | | DOCX | ✅ | ✅ | Word document, ready to edit and share | | PDF | ✅ | ❌ | Puppeteer-based, macOS only | | Markdown | ✅ | ✅ | Plain text, easy to post-process |


CRAAP Evaluation Framework

Every source is scored across 5 dimensions:

| Dimension | Weight | What It Measures | |-----------|--------|------------------| | Currency | 15% | How recent is the publication? | | Authority | 25% | Source tier: Government > Academic > Media > Blog | | Relevance | 25% | How well does it match the research topic? | | Accuracy | 20% | Is the data verifiable? Does it cite sources? | | Purpose | 15% | Is the writing objective or biased? |

6-Tier Source Classification

| Tier | Weight | Source Type | Examples | |------|--------|-------------|----------| | T0 | 1.2x | Raw government data APIs | World Bank API, Fed FRED, SEC EDGAR | | T1 | 1.0x | Authoritative institutions | WHO, Nature, Science, government reports | | T2 | 0.8x | Professional organizations | McKinsey, Gartner, Financial Times | | T3 | 0.6x | Mainstream media | Reuters, Bloomberg, TechCrunch | | T4 | 0.3x | General websites | Unclassified domains (default) | | T5 | 0.15x | Social media | Twitter, Reddit (auto-eliminated) |

Built-in 530+ domain credibility database covering major governments, academia, media, and professional institutions worldwide.


Diagnostics

npx harness-research-mcp doctor

Architecture

┌──────────────────────────────────────────┐
│  Claude / Cursor / OpenClaw / OpenCode   │
│            (MCP Client)                  │
└────────────────┬─────────────────────────┘
                 │ stdio (MCP Protocol)
                 ▼
┌──────────────────────────────────────────┐
│      harness-research-mcp (Node.js)      │
│                                          │
│  Tools:                                  │
│    harness_research — full deep research  │
│    harness_search   — quick multi-search  │
│    harness_status   — progress query      │
│                                          │
│  6-Step Pipeline:                         │
│    Plan → Search → CRAAP → Verify →       │
│    Write → Render                         │
│                                          │
│  Pure Node.js. Zero Python dependency.    │
└──────────────────────────────────────────┘

Development

git clone https://github.com/Nimo1987/harness-research.git
cd harness-research
npm install
npm run build

License

Apache 2.0