Skip to main content
Glama
trendsmcp-ai

news-volume-mcp

news-volume-mcp

作为MCP工具的新闻提及量。可接入Claude、Cursor或任何兼容MCP的AI宿主。每周数据系列、增长百分比以及实时Google新闻信息流。

由 trendsmcp.ai 提供支持——一个API密钥,一个客户端,30+数据源:Google搜索、YouTube、TikTok、Reddit、亚马逊、维基百科、App Store、Steam、npm、新闻提及量、新闻情感分析、实时趋势信息流等。无需为每个平台单独配置凭据。

获取免费API密钥 → trendsmcp.ai — 每月100次免费请求,无需信用卡。

📖 完整API文档 → trendsmcp.ai/docs

已更新至2026年。兼容Python 3.8至3.13。

作为MCP工具使用

添加到你的 mcp.json 文件(Claude Desktop、Cursor、Windsurf、VS Code或任何MCP宿主):

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

在 trendsmcp.ai 获取免费密钥。在 trendsmcp.ai/docs 查看Claude、Cursor、Windsurf和VS Code的完整配置指南。


Related MCP server: news-volume-mcp

无需爬取。无429错误。无需代理。

如果你之前使用过pytrends或类似的爬虫工具,你应该知道这些问题:随机的 429 Too Many Requests 屏蔽、凌晨2点管道崩溃、time.sleep() 闪避、代理轮换成本,以及一个现已归档的库——因为谷歌在协议层面明确标记爬虫。

trendsmcp是托管替代方案。我们运行数据基础设施。你只需调用REST接口。

新闻提及量数据的pytrends替代方案

爬虫/pytrends

trendsmcp

429限流错误

持续出现

从未出现

是否需要代理

经常需要

从不需要

平台变更时是否中断

是的,频繁

不会

覆盖的数据源数量

1(仅谷歌)

30+

绝对量级估算

否

是

跨平台增长

否

是

异步支持

否

是

积极维护

否(已归档)

是

免费套餐

否

是,每月100次请求


安装

pip install news-volume-mcp

零系统依赖。需要Python 3.8或更高版本。底层使用 httpx。


快速开始

from news_volume_mcp import TrendsMcpClient, SOURCE

client = TrendsMcpClient(api_key="YOUR_API_KEY")

# 5-year weekly time series — no sleep(), no proxies, no 429s
series = client.get_trends(source=SOURCE, keyword="climate change")
print(series[0])
# TrendsDataPoint(date='2026-03-28', value=72, keyword='climate change', source='news volume')

# Period-over-period growth
growth = client.get_growth(
    source=SOURCE,
    keyword="climate change",
    percent_growth=["3M", "1Y"],
)
print(growth.results[0])
# GrowthResult(period='3M', growth=14.5, direction='increase', ...)

# What's trending right now (across all live platforms)
trending = client.get_top_trends(limit=10)
print(trending.data)
# [[1, 'topic one'], [2, 'topic two'], ...]

异步支持

import asyncio
from news_volume_mcp import AsyncTrendsMcpClient, SOURCE

async def main():
    client = AsyncTrendsMcpClient(api_key="YOUR_API_KEY")
    series = await client.get_trends(source=SOURCE, keyword="climate change")
    print(series[0])

asyncio.run(main())

使用一个密钥并发查询多个平台:

google, youtube, reddit, amazon, tiktok = await asyncio.gather(
    client.get_trends(source="google search", keyword="climate change"),
    client.get_trends(source="youtube",       keyword="climate change"),
    client.get_trends(source="reddit",        keyword="climate change"),
    client.get_trends(source="amazon",        keyword="climate change"),
    client.get_trends(source="tiktok",        keyword="climate change"),
)

使用场景

  • SEO研究:在发布内容前,追踪Google搜索、Google新闻和Google图片中的关键词搜索量趋势

  • 市场研究:在进入产品类别前,衡量亚马逊和Google购物上的消费者需求信号

  • 投资研究:监控Reddit讨论量、新闻情感分析和维基百科页面浏览峰值作为领先指标

  • 内容策略:在话题达到顶峰且竞争饱和之前,发现YouTube和TikTok上正在增长的内容

  • 竞品追踪:在自定义日期范围内比较品牌搜索量在跨平台上的增长

  • 应用分析:追踪App Store兴趣和应用下载估算,同时结合Reddit和新闻热度


兼容平台

  • Claude(通过MCP — trendsmcp.ai/docs)

  • Cursor(通过MCP — trendsmcp.ai/docs)

  • ChatGPT(通过MCP — trendsmcp.ai/docs)

  • Windsurf(通过MCP — trendsmcp.ai/docs)

  • VS Code Copilot(通过MCP — trendsmcp.ai/docs)

  • LangChain:将 TrendsMcpClient 输出直接作为工具结果或上下文传递

  • CrewAI:将任意方法封装为 Tool 并加入你的团队

  • AutoGen:注册为任意代理的可调用工具

  • LlamaIndex:将趋势系列作为结构化数据节点用于检索

  • Pandas:每个 get_trends() 响应可用一行代码转换为DataFrame


方法

返回某个关键词的历史时间序列。默认5年周数据。传入 data_mode="daily" 获取最近30天的日粒度数据。

get_growth(source, keyword, percent_growth, data_mode=None)

计算两个时间点之间的百分比增长。可传入预设字符串或 CustomGrowthPeriod 对象。

增长预设: 7D 14D 30D 1M 2M 3M 6M 9M 12M 1Y 18M 24M 2Y 36M 3Y 48M 60M 5Y MTD QTD YTD

返回今日实时趋势项目。省略 type 可一次性获取所有信息流。

可用的实时信息流: Google Trends Google News Top News YouTube Trending TikTok Trending Hashtags X (Twitter) Trending Reddit Hot Posts Reddit World News Wikipedia Trending Amazon Best Sellers Top Rated Amazon Best Sellers by Category App Store Top Free App Store Top Paid Google Play Spotify Top Podcasts Top Websites


全部30+数据源

一个API密钥。一个客户端。每个平台。无需为每个平台单独配置凭据。

source

测量内容

"google search"

Google搜索量

"google images"

Google图片搜索量

"google news"

Google新闻搜索量

"google shopping"

Google购物购买意图

"youtube"

YouTube搜索量

"tiktok"

TikTok话题标签量

"reddit"

Reddit子版块订阅者随时间变化

"amazon"

亚马逊产品搜索量

"wikipedia"

维基百科页面浏览量

"news volume"

新闻文章提及次数

"news sentiment"

新闻情感得分(正面/负面)

"app downloads"

移动应用下载/安装估算(Android)

"npm"

npm包每周下载量

"steam"

Steam同时在线玩家数

所有数值归一化为0–100,便于跨平台直接比较。


错误处理

from news_volume_mcp import TrendsMcpClient, TrendsMcpError, SOURCE

client = TrendsMcpClient(api_key="YOUR_API_KEY")

try:
    series = client.get_trends(source=SOURCE, keyword="climate change")
except TrendsMcpError as e:
    print(e.status)   # e.g. 429 if you exceed your plan quota
    print(e.code)     # e.g. "rate_limited"
    print(e.message)

常见问题解答

这个工具会爬取新闻提及量吗? 不会。trendsmcp运行托管数据基础设施。你的Python代码只需进行一次经过身份验证的REST调用。无需爬取、无需Selenium、无需cookie、无需代理。

我需要一个新闻提及量的开发者账户、OAuth令牌或平台API密钥吗? 不需要。一个trendsmcp API密钥即可访问所有30多个数据源。

当新闻提及量更改其后端时,它会中断吗? 不会。API稳定性是我们的责任。如果上游有变化,我们会更新后端。你的代码照常运行。

我可以使用同一个密钥查询多个平台吗? 可以。一个密钥覆盖所有数据源。将 source 切换为上述30多个值中的任何一个。

有免费套餐吗? 有,每月100次请求,无需信用卡。在 trendsmcp.ai 获取你的密钥。

我可以在生产数据管道中使用它吗? 可以。客户端是无状态的、线程安全的,并支持异步并发查询多个平台。


相关包


链接


许可证

MIT

Available Tools

3 tools
get_growthA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesOne source, or comma-separated sources (e.g. 'amazon, tiktok, youtube'). Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'reddit', 'amazon', 'news sentiment', 'news volume', 'npm', 'python', 'steam', 'app downloads', 'app rankings'.
keywordYesWhat to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, reddit, amazon, news sentiment, news volume): any name or phrase, e.g. 'nike'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART. If the request includes app downloads or app rankings with other sources, keyword must still be the Android bundle ID.
percent_growthNoGrowth windows. Default if omitted: ['12M']. Each item must be a preset string: '7D', '1W', '14D', '2W', '30D', '1M', '2M', '3M', '6M', '9M', '12M', '1Y', '18M', '24M', '2Y', '36M', '3Y', '48M', '4Y', '60M', '5Y', 'MTD', 'QTD', 'YTD'. Every preset is a two-date comparison.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint, openWorldHint, and idempotentHint annotations, the description adds useful behavioral context: values are on a 0-100 scale with absolute volume when available, and the agent should tell the user their plan limit is reached on rate limiting or quota exhaustion. These details are not present in the structured fields and do not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and every sentence earns its place: core operation, output scale, sibling preference, app-source caveat, and rate-limit handling. It front-loads the primary purpose and avoids redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a detailed input schema, an output schema, and safety annotations, the description fills the remaining gaps: tool selection, output scale, source disambiguation, and error behavior. It is complete enough for an agent to invoke the tool correctly without further inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all parameters thoroughly, including valid sources, keyword formatting rules per source, and every preset growth window. The description references preset windows and Android bundle IDs but does not add meaning beyond the schema, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'Point-to-point growth for a keyword on one or more sources.' It also names sibling tools to disambiguate itself, stating it is preferred over get_time_series for growth questions and clarifying that app sources are not the live boards on get_top_trends.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit selection rule: 'Prefer this over get_time_series for growth questions.' It also warns against confusing app downloads/app rankings with get_top_trends live boards, and specifies how to handle rate limits or quota exhaustion. This gives the agent clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_time_seriesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesExactly one source per request. Valid: 'google search', 'google images', 'google news', 'google shopping', 'youtube', 'wikipedia', 'tiktok', 'reddit', 'amazon', 'news sentiment', 'news volume', 'npm', 'python', 'steam', 'app downloads', 'app rankings'.
keywordYesWhat to look up. The string format is required by source. Standard sources (google search, google images, google news, google shopping, youtube, wikipedia, tiktok, reddit, amazon, news sentiment, news volume): any name or phrase, e.g. 'tesla'. npm: exact npmjs.com package name, case-sensitive. Right: 'react', '@babel/core'. Wrong: 'React', 'React.js'. python: exact PyPI project name. Right: 'pandas', 'requests'. Wrong: 'Pandas'. steam: game display name in plain English, not a Steam App ID. Right: 'Elden Ring', 'CS2'. First Steam store search result wins, so use an unambiguous name. app downloads and app rankings: Android bundle ID only (the id= value on Google Play). Right: 'com.openai.chatgpt', 'com.whatsapp'. Wrong: 'ChatGPT', 'WhatsApp', an iOS App Store ID, or a bundle ID that is not Android. Find it at play.google.com/store/apps/details?id=THIS_PART.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint and idempotentHint. The description adds behavioral context beyond those hints: the 0-100 value range, volume availability, and rate-limit/quota handling instructions. This provides useful operational detail that annotations do not convey, though the core safety profile is already covered by hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: purpose and scope, usage routing, and error handling. Front-loaded with the core purpose; no repetition or fluff. The alternative tool routing is included efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a two-parameter tool with a full output schema, the description covers purpose, usage scenarios, alternatives, and error handling. An agent has all necessary information to decide when to call it and what to expect, with no critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters have detailed, source-specific descriptions (e.g., keyword format per source, valid source list). The tool description adds no additional parameter meaning beyond restating 'one keyword and one source', so the baseline for full schema coverage applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it returns 'Full historical series for one keyword and one source' with a value range and volume detail. It distinguishes itself from siblings get_top_trends and get_growth by stating what it is not for (live trending, growth questions), making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Directly states when to use it: 'Use for charting or custom math' and when not to: 'Not for live trending (use get_top_trends)' and 'For most growth questions, use get_growth'. Also provides explicit handling for rate-limited or quota-exhausted requests, which is actionable guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedget_growth
    • First observedget_time_series
    • First observedget_top_trends

TDQS

A4.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: get_growth for point-to-point changes, get_time_series for full historical series, and get_top_trends for live boards. The descriptions actively cross-reference each other to prevent confusion.

Naming Consistency5/5

All three tools follow the same get_ prefix followed by a clear noun: get_growth, get_time_series, get_top_trends. The naming pattern is uniform and predictable.

Tool Count5/5

Three tools is a well-scoped size for this server's purpose. Each tool covers a distinct core query type with no redundancy.

Completeness4/5

The tool set covers growth, historical data, and live trends well. Minor gaps exist around multi-keyword time-series comparison and source/feed discovery, but agents can work around them.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Real-time trend data from Google Trends (Search, Images, News, Shopping), YouTube, TikTok, Reddit, Amazon, Wikipedia, npm, Steam, Spotify, X (Twitter), App Store, Google Play, web traffic, and news sentiment via one MCP connection. Works with Claude, Cursor, VS Code, Windsurf, ChatGPT, and any MCP-compatible AI.
    28
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing news article mention volume data, weekly series, growth percentages, and a live Google News feed as an AI tool.
    MIT