MCP Server

npm package trend data for AI assistants

Track weekly download counts for any npm package. Package download trends reveal which JavaScript libraries and frameworks developers are adopting, which are losing ground, and where the ecosystem is heading.

Get your free API key

100 free requests/day. No credit card required.

Add to your AI in 30 seconds

An API key is required to connect. Get your free key above, then copy the pre-filled config for your client.

"trends-mcp": {
  "url": "https://api.trendsmcp.ai/mcp",
  "transport": "http",
  "headers": { "Authorization": "Bearer YOUR_API_KEY" }
}

+ Add to Cursor
Or paste into Mac / Linux — ~/.cursor/mcp.json
Windows — %USERPROFILE%\.cursor\mcp.json

↑ Get your free key above first — the config won't work without it.

claude.ai (Pro / Max / Team) — no JSON needed

https://api.trendsmcp.ai/mcp

Settings → Connectors → Add custom connector → paste URL above

Claude Desktop — add inside mcpServers

"trends-mcp": {
  "url": "https://api.trendsmcp.ai/mcp",
  "transport": "http",
  "headers": { "Authorization": "Bearer YOUR_API_KEY" }
}

Mac — ~/Library/Application Support/Claude/claude_desktop_config.json
Windows — %APPDATA%\Claude\claude_desktop_config.json

Fully quit and restart Claude Desktop after saving.

Add inside mcpServers

"trends-mcp": {
  "url": "https://api.trendsmcp.ai/mcp",
  "transport": "http",
  "headers": { "Authorization": "Bearer YOUR_API_KEY" }
}

Mac / Linux — ~/.codeium/windsurf/mcp_config.json
Windows — %USERPROFILE%\.codeium\windsurf\mcp_config.json
Or: Command Palette → Windsurf: Configure MCP Servers

Add inside servers — VS Code uses different key names

"trends-mcp": {
  "type": "http",
  "url": "https://api.trendsmcp.ai/mcp",
  "headers": { "Authorization": "Bearer YOUR_API_KEY" }
}

Paste into .vscode/mcp.json, or:
Command Palette (⇧⌘P / Ctrl+Shift+P) → MCP: Add Server

What you can query

All data is normalized to a 0-100 scale for consistent cross-platform comparison.

What your AI can call

Four tools. Your AI picks the right one automatically based on what you ask.

get_trends
Historical time series
Raw normalized data for a single source. Weekly mode returns ~5 years of data; daily mode returns the last 30 days. Each data point includes date, normalized value (0-100), and absolute volume where available. Best for charting, custom calculations, and time series modeling. Note: one source per call.
get_trends(keyword='react', source='npm', data_mode='weekly')
get_growth
Growth metrics
Point-to-point growth for preset periods (7D, 14D, 1M, 3M, 6M, 1Y, YTD, and more) or custom date ranges. Returns % change, volume, direction, and data quality score. Use source='all' for cross-platform aggregated growth, or pass comma-separated sources like 'amazon, tiktok, youtube' for multi-source comparison in one call.
get_ranked_trends
Ranked trend lists
Precomputed ranked lists of top trending keywords or companies. Supports keyword, catalyst, company (single), and company (combined) modes. Filter by sector, industry, country, earnings dates, minimum volume, and data quality. Sort by latest value, week-over-week, month-over-month, or year-over-year growth.
get_top_trends
Live trending now
What is trending right now with no keyword required. Covers: Google Trends, TikTok Trending Hashtags, Reddit Hot Posts, Wikipedia Trending, X (Twitter), App Store Top Free & Paid, Google Play, Spotify Top Podcasts, Google News, SimilarWeb Top Websites, and Amazon Best Sellers.

What you get back

Normalized value
0-100 scale, consistent across all platforms
Absolute volume
Raw search / view counts where available
Growth %
Period-over-period change with exact dates
Time series
Up to 5 years of weekly data per keyword
Data quality
Coverage score and zero-value detection
Multi-source
get_growth supports 'all' or comma-separated sources in one call

Common questions

Weekly download counts for any npm package, normalized to a 0-100 scale, plus raw download volume, growth rates over standard periods (7D, 1M, 3M, 1Y), and a historical time series going back up to 5 years.
Use the exact npm package name -- for example 'react', 'lodash', 'express', or '@anthropic-ai/sdk'. Scoped packages use the @org/package format.
Yes. Use get_growth with comma-separated package names or call get_trends for each package and compare the normalized series. Useful for framework comparisons like React vs Vue vs Svelte.
npm download trends are a leading indicator of developer ecosystem adoption. A library growing fast in downloads often precedes broader commercial adoption of the underlying platform or framework.
Raw weekly download counts are normalized to a 0-100 scale relative to the package's own historical peak. This makes it possible to compare adoption velocity across packages with very different absolute download volumes.