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

scholar-feed-mcp

v1.2.1

Published

MCP server for Scholar Feed — search 512k+ CS/AI papers with LLM-powered analysis

Readme

Scholar Feed MCP Server

Search 512,000+ CS/AI/ML research papers with LLM-powered novelty analysis from Claude Code, Cursor, or any MCP client.

Scholar Feed indexes arXiv papers daily and ranks them using a multi-signal scoring system (recency, citation velocity, institutional reputation, code availability). Each paper has an LLM-generated summary and novelty score.

Quick Start

npx scholar-feed-mcp init

This interactive wizard will:

  1. Ask for your API key (get one at scholarfeed.org/settings)
  2. Detect your MCP client (Claude Code, Cursor, or Claude Desktop)
  3. Write the config and verify the connection

That's it. Try asking: "Search for recent papers on test-time compute scaling"

What You Can Do

Technology scouting — "What novel research on retrieval-augmented generation was published this month?"

Literature review — "Find papers similar to 2401.04088 and export their BibTeX"

Trend monitoring — "What's trending in cs.CV this week? Summarize the top 3."

Deep dives — "Run a deep research session on 'reasoning in large language models'"

Manual Installation

Claude Code

claude mcp add scholar-feed -e SF_API_KEY=sf_your_key_here -- npx -y scholar-feed-mcp

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "scholar-feed": {
      "command": "npx",
      "args": ["-y", "scholar-feed-mcp"],
      "env": { "SF_API_KEY": "sf_your_key_here" }
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "scholar-feed": {
      "command": "npx",
      "args": ["-y", "scholar-feed-mcp"],
      "env": { "SF_API_KEY": "sf_your_key_here" }
    }
  }
}

Project-scoped (.mcp.json)

{
  "mcpServers": {
    "scholar-feed": {
      "command": "npx",
      "args": ["-y", "scholar-feed-mcp"],
      "env": { "SF_API_KEY": "${SF_API_KEY}" }
    }
  }
}

Windows note: Use "command": "cmd" and "args": ["/c", "npx", "-y", "scholar-feed-mcp"].

Available Tools (12)

| Tool | Description | Key Parameters | |------|-------------|----------------| | check_connection | Verify API key, show plan and usage | — | | search_papers | Search by keyword with filters | q, category, novelty_min, days, cursor, limit | | get_paper | Get paper details by arXiv ID | arxiv_id | | find_similar | Find similar papers | arxiv_id, limit, days | | get_citations | Get citation graph | arxiv_id, direction, limit | | whats_trending | Today's trending papers | category, limit | | fetch_fulltext | Extract results/experiments from LaTeX | arxiv_id | | batch_lookup | Look up multiple papers at once | arxiv_ids (max 50) | | fetch_repo | Get GitHub repo README + file tree | arxiv_id | | export_bibtex | Export BibTeX for arXiv papers | arxiv_ids (max 50) | | deep_research | Multi-round research synthesis | topic, depth | | refine_research | Follow-up question on a completed research report | report_id, question, cluster_label, date_from, date_to |

Novelty Score

Every paper has an llm_novelty_score from 0.0 to 1.0:

| Range | Meaning | Example | |-------|---------|---------| | 0.7+ | Paradigm shift or broad SOTA | New architecture that changes the field | | 0.5–0.7 | Novel method with strong results | New training technique with clear gains | | 0.3–0.5 | Incremental improvement | Applying known method to new domain | | <0.3 | Survey, dataset, or minor extension | Literature review, benchmark release |

Use novelty_min: 0.5 in search_papers to filter for genuinely novel work.

Rate Limits

| Endpoint | Limit | |----------|-------| | check_connection | 60/min | | search_papers | 30/min | | get_paper | 60/min | | find_similar | 20/min | | get_citations | 30/min | | whats_trending | 30/min | | fetch_fulltext | 10/min | | batch_lookup | 20/min | | fetch_repo | 10/min | | export_bibtex | 20/min | | deep_research | 5/min | | refine_research | 5/min |

Responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers.

Example Response

search_papers with q: "attention mechanism" returns:

{
  "papers": [
    {
      "arxiv_id": "2401.04088",
      "title": "Attention Is All You Need (But Not All You Get)",
      "authors": ["A. Researcher", "B. Scientist"],
      "year": 2024,
      "categories": ["cs.LG", "cs.AI"],
      "primary_category": "cs.LG",
      "arxiv_url": "https://arxiv.org/abs/2401.04088",
      "has_code": true,
      "github_url": "https://github.com/example/repo",
      "citation_count": 42,
      "rank_score": 0.73,
      "llm_summary": "Proposes a sparse attention variant that reduces compute by 60% while matching dense attention accuracy on 5 benchmarks.",
      "llm_novelty_score": 0.55
    }
  ],
  "total": 1847,
  "page": 1,
  "limit": 20,
  "next_cursor": "eyJzIjogMC43MywgImlkIjogIjI0MDEuMDQwODgifQ=="
}

Pass next_cursor back to get the next page (keyset pagination — more stable than page numbers for large result sets).

Verify Installation

After setup, ask your AI assistant to run check_connection. You should see:

{
  "status": "ok",
  "plan": "free",
  "key_name": "my-key",
  "usage_today": 0
}

Environment Variables

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | SF_API_KEY | Yes | — | Your Scholar Feed API key (starts with sf_) | | SF_API_BASE_URL | No | Production URL | Override API base URL |

Troubleshooting

"SF_API_KEY environment variable is required" Your MCP client isn't passing the env var. Double-check the env block in your config matches the examples above.

"Authentication failed: your SF_API_KEY is invalid" The key may have been revoked. Generate a new one at scholarfeed.org/settings.

Tool calls time out or fail silently Ensure Node.js 18+ is installed (node --version). Older versions lack the native fetch API.

Stale npx cache If you're stuck on an old version after an update: npx --yes scholar-feed-mcp@latest

Windows: "command not found" Use "command": "cmd" with "args": ["/c", "npx", "-y", "scholar-feed-mcp"] in your MCP config.

License

MIT