npm-trends-mcp
Provides access to trend data from Amazon, including search volume and product popularity trends over time.
Enables querying of Google Search trend data, including keyword popularity and historical search volume.
Delivers weekly download counts, normalized trends (0-100), growth rates, and historical time series for npm packages.
Allows retrieval of trend data from Reddit, including keyword mentions, subreddit activity, and topic popularity over time.
Provides trend data from Steam, including game player counts, popularity rankings, and historical activity metrics.
Enables access to TikTok trend data, including hashtag popularity, video engagement trends, and content virality metrics.
Offers trend data from Wikipedia, including page view statistics, topic popularity shifts, and historical interest patterns.
Provides trend data from YouTube, including video view counts, channel growth, and topic interest over time.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@npm-trends-mcp Show me weekly download trends for React, Vue, and Svelte"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
npm Trends MCP
Live trend data for AI agents. Google, TikTok, YouTube, Amazon, Reddit, and 30+ other sources. One MCP connection, one API key.
Get a free API key · Docs · Pricing · Data sources · PyPI · Glama
You: Using TrendsMCP, compare 6-month growth for GLP-1 on Google, TikTok, and Amazon.
Agent: Google Search +84%
TikTok +212%
Amazon +61%Three tools. Normalized 0–100 where the pipeline supports it. No per-platform keys. No scraping on your side.
Quick install
Same four clients as the site hero. Get a free key first (100 req/mo). Claude and ChatGPT sign you in with OAuth. Cursor and VS Code: click, then put your key from /account if the deeplink used a placeholder.
Client | After you click |
Claude | Connector name and URL are prefilled ( |
Cursor | Approve the MCP install. Replace |
ChatGPT | Enable Developer mode (Profile → Settings → Security). Name |
VS Code | Sign in on the account page and use the VS Code button so the key is included. |
Then ask: Using TrendsMCP, what's trending on Google right now?
Tools · Sources · Feeds · REST · Install in other clients
Related MCP server: npm-trends-mcp
What this is
Hosted MCP at https://api.trendsmcp.ai/mcp. Same Bearer key for POST https://api.trendsmcp.ai/api. This repo also has a stdio adapter for Glama and local hosts.
Tool | Use when | Needs a keyword? |
| History for one keyword on one source | Yes |
| Percent change over 7D–5Y (several windows in one call) | Yes |
| What is ranking on a platform right now | No |
Install in other clients
Replace YOUR_API_KEY with the key from your account.
claude mcp add --scope user --transport http trends-mcp https://api.trendsmcp.ai/mcp \
--header "Authorization: Bearer YOUR_API_KEY"~/.cursor/mcp.json (Windows: %USERPROFILE%\.cursor\mcp.json)
{
"mcpServers": {
"trends-mcp": {
"url": "https://api.trendsmcp.ai/mcp",
"transport": "http",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}.vscode/mcp.json or Command Palette → MCP: Add Server. Prefer the account-page VS Code button so the key is wired for you.
{
"servers": {
"trends-mcp": {
"type": "http",
"url": "https://api.trendsmcp.ai/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Uses serverUrl, not Cursor’s url + transport. File: ~/.codeium/windsurf/mcp_config.json.
{
"mcpServers": {
"trends-mcp": {
"serverUrl": "https://api.trendsmcp.ai/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Remote server, type exactly streamableHttp. See llms-install.md.
{
"mcpServers": {
"trends-mcp": {
"type": "streamableHttp",
"url": "https://api.trendsmcp.ai/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" },
"disabled": false
}
}
}{
"mcpServers": {
"trends-mcp": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.trendsmcp.ai/mcp",
"--header", "Authorization:${AUTH_HEADER}"
],
"env": { "AUTH_HEADER": "Bearer YOUR_API_KEY" }
}
}
}Settings → Connectors → add https://www.trendsmcp.ai/mcp. This path uses OAuth on www.trendsmcp.ai. Do not put a Bearer key in that connector config.
Hosted HTTP is still the product default. This process lists tools with no key; paid calls need TRENDSMCP_API_KEY and bill the same quota.
pip install -e .
python -m trends_mcp_server{
"mcpServers": {
"trends-mcp": {
"command": "python",
"args": ["-m", "trends_mcp_server"],
"env": { "TRENDSMCP_API_KEY": "YOUR_API_KEY" }
}
}
}Say “using TrendsMCP” so the model picks these tools instead of web search. More clients: docs.
Tools
Always-current parameter lists: docs.
get_time_series
Weekly (or daily) history for one source + keyword. Same name on MCP and REST (mode: "get_time_series"). REST also accepts get_trends as an alias.
Argument | Required | Notes |
| yes | Format depends on source (table below) |
| yes | One source per call. Lowercase catalog names |
| no | REST only. |
Index is 0–100 where the pipeline supports it (100 = peak in the returned window). volume is present when that source has an absolute series.
get_growth
Point-to-point percent change. Several windows in one call still count as one request for that source + keyword.
Argument | Required | Notes |
| yes | Same formats as |
| yes | One source, or a comma-separated list ( |
| no | Default |
Presets: 7D 14D 30D 1M 2M 3M 6M 9M 12M 1Y 18M 24M 2Y 36M 3Y 48M 60M 5Y MTD QTD YTD.
get_top_trends
Live ranked list. No keyword. On MCP, type is required and must match the feed name exactly (including capitals). On REST, omit type only if you intend to pull every feed (billed per feed).
Argument | Required on MCP | Notes |
| yes | See live feeds |
| no | Default 25, max 200 |
| no | Pagination |
| for some types | Amazon / Google Trends / Top Websites / Substack / TikTok hashtag category boards |
| no |
|
| no | With |
Prompts that route correctly
Using TrendsMCP, what's trending on Google right now?
Using TrendsMCP, what are the hottest Reddit posts right now?
Using TrendsMCP, compare 6-month growth for creatine gummies on Google, TikTok, and Amazon.
Using TrendsMCP, show Google Search history for protein soda.
Via TrendsMCP, pull npm download history for langchain.
Using TrendsMCP, show Steam concurrent players for Elden Ring.
Via TrendsMCP, Android downloads for com.openai.chatgpt.
Using TrendsMCP, fastest-climbing Amazon best sellers in Toys Games this week.Keyword sources
source on get_time_series / get_growth. Not the same strings as type on live feeds.
| Signal |
|
| Search volume | Any phrase |
| Image search volume | Any phrase |
| News-tab volume | Any phrase |
| Shopping-tab volume | Any phrase |
| YouTube search volume | Any phrase |
| Hashtag volume | Hashtag or topic ( |
| Subreddit attention | Name only, no |
| Product search volume | Product or category |
| Page views | Article title or topic |
| Mention volume | Any phrase |
| News tone | Any phrase |
| Android downloads | Play bundle id, e.g. |
| Android chart position | Bundle id |
| Weekly downloads | Exact package name ( |
| Monthly concurrent players | Game display name ( |
source: "Google Trends" is invalid. Use google search for history and type: "Google Trends" for the live board.
Live feeds
type on get_top_trends. Copy the name exactly.
| Board |
| Google searches now |
| Needs |
| Google News stories |
| Hashtags |
| Needs |
| In-app searches |
| Videos |
| Topics on X |
| Front page |
| r/worldnews |
| Most-viewed articles |
| Top-rated sellers |
| Needs |
| iOS charts |
| Play chart |
| Global traffic rank; optional |
| Podcasts |
| Live players |
| Newsletters |
| Daily trending repos |
| Movie activity |
| Books |
Category name lists: docs.
iOS charts, GitHub repos, Spotify, IMDb, Open Library, Substack, and Top Websites are feeds, not source values. There is no source: "web traffic".
REST API
curl -sS -X POST https://api.trendsmcp.ai/api \
-H "Authorization: Bearer $TRENDSMCP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"get_top_trends","type":"Google Trends","limit":5}'import os, requests
r = requests.post(
"https://api.trendsmcp.ai/api",
headers={"Authorization": f"Bearer {os.environ['TRENDSMCP_API_KEY']}"},
json={"mode": "get_growth", "source": "google search", "keyword": "bitcoin", "percent_growth": ["3M", "12M"]},
)
print(r.json())Python client: pip install trendsmcp.
Limits and errors
Plan | Requests / month | Price |
Free | 100 | $0 |
Starter | 1,000 | $19 |
Pro | 5,000 | $49 |
Business | 25,000 | $199 |
Annual billing is 20% less. Same source catalog on every plan. Free history and “top N” caps are on pricing. Failed calls are not billed. Over quota returns 429 / rate_limited (no surprise overages).
One billed request:
get_time_series: one source + keywordget_growth: one source + keyword (all windows in that call included)get_top_trends: pertype(and pagination as documented)
Status | Meaning |
400 | Bad or missing |
401 | Missing or invalid key |
404 | No series for that keyword + source |
429 | Monthly cap |
500 | Upstream or internal error |
Do not commit keys. Claude.ai connectors use OAuth; other clients use Authorization: Bearer ….
What this does not do
Region / geo breakdown, related queries, or related topics
Hourly series
get_time_seriesacross several sources in one call (useget_growthwith a comma-separatedsourcelist, or severalget_time_seriescalls)Inventing feed names: MCP
typemust match the table
Develop this repo
pip install -e .
python -m trends_mcp_serverCI: .github/workflows/ci.yml. Security: SECURITY.md. Issues: github.com/trendsmcp-ai/npm-trends-mcp/issues.
Links
TrendWatch (alerts in your own GitHub repo)
MIT © Trends MCP
Available Tools
3 toolsget_growthARead-onlyIdempotentInspect
Point-to-point growth for a keyword on one or more sources. Each window is a preset string (12M, 3M, YTD, and the other listed periods). Values are on a 0-100 scale, plus absolute volume when available. Prefer this over get_time_series for growth questions. app downloads and app rankings are keyword sources (Android bundle ID). They are not the App Store / Google Play live boards on get_top_trends. If the request is rate limited or the monthly quota is used up, tell the user their plan limit is reached.
Inputs: source (required), keyword (required), percent_growth. Returns: result
get_time_seriesARead-onlyIdempotentInspect
Full historical series for one keyword and one source (0-100 values, plus volume when available). Use for charting or custom math. Not for live 'what's trending now' boards (use get_top_trends). For most growth questions, use get_growth. If the request is rate limited or the monthly quota is used up, tell the user their plan limit is reached.
Inputs: source (required), keyword (required). Returns: result
get_top_trendsARead-onlyIdempotentInspect
Live top-trending board for exactly one feed type. No keyword. For 'Amazon Best Sellers by Category', 'Google Trends by Category', 'Top Websites', and 'Substack by Category', always pass category. Default sort is current rank. Use sort='rank_change' for climbers vs a prior snapshot (window 1d, 3d, 7d, 14d, or 30d). App Store Top Free, App Store Top Paid, and Google Play are live store boards, not keyword lookups. For an app's history use get_growth or get_time_series with source app downloads or app rankings and an Android bundle ID. Do not use get_time_series for live boards. If the request is rate limited or the monthly quota is used up, tell the user their plan limit is reached.
Inputs: type (required), sort, limit, offset, +2 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
The tools are largely distinct: get_top_trends targets live boards, while get_growth and get_time_series both handle historical keyword data and could be confused. However, the descriptions explicitly separate 'point-to-point growth' from 'full historical series' and tell agents which to prefer, so the boundary is workable.
All three tools follow a clean get_<noun> pattern: get_growth, get_top_trends, get_time_series. There is no mixing of styles or inconsistent verbs, making the naming predictable and easy to navigate.
Three tools is a focused, sensible scope for a trends data server. Each tool covers a distinct core user need: current top boards, point-to-point growth, and full time-series data, so each earns its place.
The set covers the main trend-related workflows: live rankings, growth comparisons, and historical charting data. Minor gaps exist, such as no explicit endpoint for listing available feeds, categories, or discovering keywords, but agents can work around those with known values and guidance in the descriptions.
Maintenance
Related MCP Connectors
npm package download trends and adoption growth over time. Free key at trendsapi.ai
Package intelligence for AI agents across npm, PyPI, crates.io and deps.dev. No API keys.
Package intelligence for AI agents across npm, PyPI, crates.io and deps.dev. No API keys.
Provide AI-powered real-time analysis and intelligence on NPM packages, including security, depend…
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides comprehensive contextual information about npm packages including README files, versions, dependencies, download statistics, and search functionality. Enables users to explore and analyze npm packages through natural language queries with intelligent GitHub README fetching and branch fallback.9MIT
- AlicenseNot gradedqualityCmaintenanceProvides weekly download counts and trend data for npm packages, enabling comparison of adoption velocity across JavaScript libraries.MIT
- AlicenseAqualityDmaintenanceEnables AI coding agents to search the npm registry and retrieve package metadata, READMEs, download stats, GitHub details, and usage snippets via the Model Context Protocol.99 npmMIT
- AlicenseBqualityDmaintenanceEnables querying NPM package download statistics, metadata, and dependency information through natural language.2MIT