Google News & Trends MCP について
TrendPulseは、最新ニュースと検索関心データを必要とする開発者や研究者向けのPython製MCPサーバーです。Google Newsの記事検索・抽出とGoogle Trends分析を組み合わせています。ホステッドサービスは開発中です。
主な機能
- 01キーワードや地域でのGoogle News検索
- 02ニュース取得と記事本文の抽出
- 03キーワードの検索関心の時系列分析
- 04関連クエリ、トピック、需要の探索
- 05対応する検索対象間のトレンド比較
活用シーン
- 01調査に最新ニュースの背景を加える
- 02期間別にキーワードの勢いを比較する
- 03コンテンツテーマの関連検索を探す
- 04指定市場のトレンドを確認する
MCP 対応
利用可能なCommunity MCPはstdio経由でローカル実行され、MCP対応クライアントに調査ツール一式を提供します。別途提供予定のホステッド版TrendPulseは開発中で、まだ公開されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
mcp-trendpulse
TrendPulse は、最新ニュースや検索関心のトレンドを調査するための、Python 製 Model Context Protocol(MCP)サーバーです。Google News によるニュースの検索と記事の抽出に Google Trends の分析を組み合わせ、MCP クライアントがトレンドの把握、キーワードの勢いの比較、関連する需要の探索、調査ワークフローへの最新ニュースの文脈追加を行えるようにします。
このプロジェクトは現在、コミュニティ向け/セルフホスト型 MCP サーバーとして提供されており、ChatGPT や Codex などのリモート MCP クライアント向けに、別途ホスト型の DigestSEO による TrendPulse サービスの実装も含まれています。ホスト型サービスは目的に沿って絞り込んだツール群を使用し、コミュニティサーバーでは開発者が利用できる低レベルの調査ツール一式を引き続き提供します。
プロジェクトのステータス: ローカル/コミュニティサーバーは現在利用できます。DigestSEO がホストする MCP と公開 OpenAI プラグインはまだリリースされていないため、利用可能なエンドポイントとして扱わないでください。
開発背景:TrendPulse は DigestSEO MCP エコシステムの一部です。Google Search Console のデータを扱う mcp-gsc、AI での可視性を扱う mcp-geo、技術的なウェブ検証を行う mcp-web-validator を補完します。全体のアーキテクチャについては、DigestSEO MCP Suite のエンジニアリング事例で説明しています。
TrendPulse 需要ブリーフ
トピック、キーワード、市場、製品の切り口、コンテンツへの投資を決める前に、手早く根拠を確認したいですか? Tomi は、人が作成する TrendPulse 需要ブリーフを 49 EUR で提供しています。
1つの意思決定につき、TrendPulse のオープンソース調査機能と最新の公開情報を活用し、最大5件のキーワード/フレーズと2つの地域市場を対象に調査します。検索関心の動向、相対的な勢い、関連需要、有用なニュースの文脈、具体的な示唆を3点まとめます。入力情報の提供と支払いの確認後、24時間以内の納品を目標としています。
対象範囲と依頼方法の詳細を確認するか、公開サンプルブリーフを読むか、件名を TrendPulse Demand Brief [TP-RS1] として [email protected] までメールでお問い合わせください。
有料ブリーフの利用は任意です。コミュニティ MCP は無料で、これまでどおり変更はありません。また、TP-RS1 マーカーは受信時の流入元を識別するためだけのもので、MCP に隠れたテレメトリーが追加されることはありません。
TrendPulse でできること
ニュース調査
- キーワード、場所、トピック、または発行元のドメインで Google News を検索します。
- 主要なニュース記事を取得します。
- Google News のリンクを解決し、記事の内容を抽出します。
- 通常の HTTP 取得が難しいページでは、Playwright/Chromium にフォールバックします。
- MCP クライアントのサンプリングを使って記事のテキストを要約できます。利用できない場合は、ローカル NLP にフォールバックします。
トレンド調査
- 地域市場で現在トレンドになっている用語を取得します。
- 1 つ以上のキーワードについて、Google Trends の関心度の推移データを取得します。
- 3M や 1Y など、カスタム期間でのキーワードの伸び率を計算します。
- リアルタイムのトレンドを検索ボリュームまたは伸び率でランキングします。
- 対応している場合、国、地域、都市、または DMA 別の関心度を調べます。
- 関連クエリ、関連トピック、候補、カテゴリ ID を調査します。
- 基盤となるプロバイダーが対応している場合、Google 検索、YouTube 検索、ニュース検索、画像検索、Google ショッピングのトレンドプロパティを比較します。
コミュニティ版とホスト型のアーキテクチャ
TrendPulse は、目的を明確に分けた 2 つの提供形態で開発されています。
| 提供形態 | 目的 | 状況 |
|---|---|---|
| コミュニティ版 MCP | ローカル利用、開発、セルフホスト、MCP 対応クライアントとの連携に使える、Python 製の完全な MCP サーバーです。 | このリポジトリで利用可能 |
| DigestSEO の TrendPulse | ChatGPT/Codex 向けのマネージドリモート MCP と、将来公開予定の、ツールの範囲を絞ったタスク指向の OpenAI プラグインです。 | 開発中 |
コミュニティ版サーバーは、単独でも引き続き有用です。ホスト版では同じコアとなるトレンド調査の概念を再利用しつつ、マネージドサービスに必要なデプロイ、信頼性、認証、可観測性、プロダクト連携を追加します。
実装済みのホスト版ツールは、意図的にコミュニティ版 API より高レベルなものとなっており、次のような目的を中心としています。
discover_trendsanalyze_keyword_trendcompare_keyword_trendsdiscover_related_demandget_trend_contextfind_seo_opportunities
これらの名前はホスト版の ChatGPT Apps/MCP インターフェースを表すもので、現在のコミュニティ版 MCP のツール名とは別のものです。
インストール
uvx で PyPI から実行する(推奨)
TrendPulse は PyPI で公開されているため、最も簡単なインストール方法は次のとおりです。
uvx mcp-trendpulse
公開済みパッケージではなく、現在のリポジトリの最新状態を実行するには、次のようにします。
uvx --from git+https://github.com/AKzar1el/mcp-trendpulse.git mcp-trendpulse
チェックアウトしたリポジトリから pip でインストールする
git clone https://github.com/AKzar1el/mcp-trendpulse.git
cd mcp-trendpulse
python -m pip install .
python -m mcp_trendpulse
ブラウザーのフォールバック
ニュース/記事ツールでは、通常の取得方法で利用可能な記事を抽出できない場合、Playwright にフォールバックできます。Python の playwright パッケージをインストールしても、Chromium は自動的にはインストールされません。
ローカルで使用する場合:
playwright install chromium
ブラウザーのシステム依存関係も必要な Linux 環境の場合:
playwright install --with-deps chromium
トレンドのみを扱う操作では、Chromium は必須ではありません。
クライアントの設定
Claude Desktop と Claude Code
Claude Code のプラグインパッケージは .claude-plugin/plugin.json に含まれており、MCP の定義は .mcp.json にあります。コミュニティ版 MCP は引き続きローカル/stdin ベースで、uvx mcp-trendpulse を通じて実行します。
Claude Desktop
公開済みの PyPI パッケージを uvx で使用する場合:
{
"mcpServers": {
"mcp-trendpulse": {
"command": "uvx",
"args": ["mcp-trendpulse"]
}
}
}
VS Code
uv/uvx が必要です。インストールすると、公開済みのコミュニティ版 MCP パッケージが PyPI からローカル stdio 経由で実行されます。
ワークスペースレベルで設定するには、.vscode/mcp.json に次の内容を記述します。グローバル設定の場合、VS Code のユーザープロファイルにある mcp.json でも同じトップレベルの servers 形式を使用します。
{
"servers": {
"mcp-trendpulse": {
"command": "uvx",
"args": ["mcp-trendpulse"]
}
}
}
ChatGPT デスクトップ、Codex CLI、IDE 拡張機能
OpenAI のローカル版 ChatGPT デスクトップクライアントと Codex クライアントは、ローカル stdio MCP サーバーに対応しており、Codex ホスト上で同じ MCP 設定を共有します。次のコマンドを使って、公開済みの TrendPulse パッケージを一度だけ追加します。
codex mcp add mcp-trendpulse -- uvx mcp-trendpulse
同じローカルサーバーを ChatGPT デスクトップアプリ、Codex CLI、Codex IDE 拡張機能で利用できるようになります。ChatGPT デスクトップでは、Settings -> MCP Servers を開き、コマンド uvx mcp-trendpulse を指定した STDIO サーバーを追加してから、アプリを再起動することもできます。これは PyPI から公開済みのコミュニティ版 MCP パッケージを実行するもので、未公開のホスト版 TrendPulse エンドポイントは使用しません。Web 版 ChatGPT は別のサービスであり、このローカルの Codex MCP 設定は読み込みません。
Cursor とポータブル Agent Plugins
このリポジトリのルートには、Agent Plugins 1.0 マニフェストが含まれています。Cursor や GitHub Copilot などの互換性のあるクライアントは、同じポータブルな plugin.json + mcp.json パッケージを読み込めます。
Cursor はグローバルおよびプロジェクト単位の MCP 設定にも対応しています。関連する mcp.json 設定にサーバーを追加します。
{
"mcpServers": {
"mcp-trendpulse": {
"command": "uvx",
"args": ["mcp-trendpulse"]
}
}
}
Devin CLI と Devin Desktop
Devin CLI プラグインは、Claude プラグインパッケージと Agent Plugins 1.0 パッケージを GitHub から直接読み込めます。TrendPulse には、両方の互換レイアウト(.claude-plugin/plugin.json + .mcp.json、およびルートの plugin.json + mcp.json)がすでに用意されています。次のコマンドでインストールします。
devin plugins install AKzar1el/mcp-trendpulse
Devin でプラグインを管理するには、サインイン済みの CLI セッションが必要です。インストールされた TrendPulse プラグインは、公開済みの Community MCP を uvx mcp-trendpulse で stdio 経由でローカル起動します。未公開のホスト型 TrendPulse エンドポイントは使用しません。同じプラグインは、インストール後に Devin Desktop でも利用できます。
Kiro
uv/uvx が必要です。インストールすると、PyPI で公開されている Community MCP パッケージが実行されます。未公開のホスト型サービスは使用しません。
プライバシー:TrendPulse Community MCP プライバシー通知 · サポート:[email protected]
LM Studio
uv/uvx が必要です。LM Studio は公開済みの Community MCP パッケージを stdio 経由でローカル実行するため、ホスト型 TrendPulse サービスは必要ありません。
ChatGPT web およびその他のクラウド MCP クライアント
このリポジトリには、専用のステートレスな Streamable HTTP ASGI エントリーポイント mcp_trendpulse.asgi:app が追加されました。これは、変更なく維持される Community の stdio エントリーポイントとは別のものです。
管理されたローカル/プライベート環境でテストする場合は、Uvicorn で ASGI アプリを実行するか、用意されているコンテナを使用できます。強化されたコンテナ、Host/Origin の許可リスト、Chromium のサンドボックス要件、ヘルス/レディネスエンドポイント、リバースプロキシに関する注意事項については、deploy/README.md を参照してください。
DigestSEO がホストするエンドポイントと公開 ChatGPT アプリは、まだリリースされていません。ホスト型デプロイでは、フェイルクローズ方式の Clerk OAuth 認証に対応しました。Clerk の issuer/JWKS/audience 設定、公開ベース URL、Host/Origin の許可リストがそのデプロイ用に設定されていない限り、リモートトランスポートをパブリックに公開しないでください。
設定
TrendPulse は、プロセス環境と、存在する場合はローカルの .env ファイルから環境変数を読み込みます。
よく使われる変数は次のとおりです。
HTTP_PROXY=http://your-proxy-address:port
HTTPS_PROXY=http://your-proxy-address:port
GOOGLE_NEWS_LANGUAGE=en
GOOGLE_NEWS_COUNTRY=US
GOOGLE_TRENDS_DELAY=2.0
GOOGLE_NEWS_LANGUAGE と GOOGLE_NEWS_COUNTRY は、すべてのニュース検索ツールで使用する Google News の言語/エディションを選択します。デフォルトは引き続き en と US です。GOOGLE_TRENDS_DELAY は、現在の Trends プロバイダーで使用するリクエスト間隔を制御します。上流サービスがレート制限を適用したり、特定のネットワークをブロックしたりする場合は、プロキシ変数が役立つことがあります。
リモートデプロイでは、TRENDPULSE_HTTP_PATH、TRENDPULSE_HTTP_ALLOWED_HOSTS、TRENDPULSE_HTTP_ALLOWED_ORIGINS、TRENDPULSE_BROWSER_SANDBOX もサポートされています。コンテナでは Chromium のサンドボックスが明示的に有効になります。ローカルの Community 実行では、オプトインしない限り Playwright 互換のデフォルトが維持されます。
シークレット、プライベートなプロキシ認証情報、またはマシン固有の .env ファイルをコミットしないでください。
MCP ツール
Community MCP サーバーは現在、16 個のツールを公開しています。
ニュースツール
| ツール | 目的 |
|---|---|
get_news_by_keyword | キーワードに一致する最新のニュース記事を検索します。 |
get_news_by_location | 特定の場所に関連する最新のニュースを検索します。 |
get_news_by_topic | サポートされている Google News トピックの最新ニュースを検索します。 |
get_top_news | Google News のトップ記事を取得します。 |
get_news_by_site | 特定のパブリッシャードメインの最新ニュースを検索します。 |
get_article_content | 1 つの記事 URL をダウンロード、検証、抽出し、必要に応じて要約します。 |
トレンドツール
| ツール | 目的 |
|---|---|
get_trending_terms | 地理的な対象の現在のトレンド用語を取得します。 |
get_trends | 1 つ以上のキーワードについて、時間の経過に伴う関心度の値を取得します。 |
get_growth | 指定された期間における検索関心度の伸びを計算します。 |
get_ranked_trends | 伸び率またはボリュームに基づいて、現在のトレンドをランキングします。 |
get_top_trends | キーワードを指定せずに、トップトレンドのフィードを取得します。 |
get_interest_by_region | 地域間でキーワードの関心度を比較します。 |
get_related_queries | 関連する検索クエリのトップおよび急上昇項目を取得します。 |
get_related_topics | 関連する Google Trends トピックのトップおよび急上昇項目を取得します。 |
get_suggestions | クエリに対するオートコンプリート候補やトピック候補を取得します。 |
get_categories | cat を使用する前に、Google Trends のカテゴリ ID と名前を検索するか、ページ単位で取得します。 |
例:明示的なトレンド期間
get_trends は明示的な timeframe を受け付けます。再現性のある比較が必要な場合は、これを指定することをおすすめします。
{
"keyword": ["technical SEO audit", "AI SEO audit"],
"geo": "US",
"source": "google search",
"timeframe": "today 12-m",
"cat": 0
}
サポートされているプロバイダーの期間には、today 12-m や today 5-y などの標準期間、today 90-d や all などの相対期間、2021-01-01 2026-01-01 などの正確な日付範囲が含まれます。
Google Trends の値は正規化された関心度スコアです。0~100 の関心度の推移を、絶対的な検索ボリュームとして解釈しないでください。
CLI
Click CLI は、MCP サーバーよりもニュースを中心とした、より少ないコマンドセットを提供します。
uv run mcp-trendpulse-cli --help
現在の CLI コマンド:
brief-pack
keyword
location
top
topic
trending
brief-pack は、Demand Brief の作成に使用する、決定論的なトレンド/伸び率のエビデンステーブルを出力します。最終的な解釈と推奨事項は、人が作成するブリーフに委ねられます。
CLI と MCP のインターフェースでは、同じコマンドセットが提供されていないため、それぞれを分けて説明しています。
開発
お好みの Python 環境で開発用依存関係とともにプロジェクトをインストールしてから、ユニットテスト一式を実行します。
python -m pytest
デフォルトの pytest 設定では、ライブ統合テストは除外されます。
プロバイダーのライブテストを明示的に実行するには、次のコマンドを使用します。
python -m pytest tests/integration -m integration
ブラウザーを使用する統合テストを実行するには、Playwright Chromium がインストールされている必要があります。
Ruff のチェックを実行するには、次のコマンドを使用します。
ruff check .
MCP Inspector
MCP Inspector を使用して、GitHub から公開されているサーバーを実行します。
npx @modelcontextprotocol/inspector uvx --from git+https://github.com/AKzar1el/mcp-trendpulse.git mcp-trendpulse
ローカルのチェックアウトでは、次のコマンドを使用します。
npx @modelcontextprotocol/inspector uv run mcp-trendpulse
パッケージング
GitHub Actions のワークフローは、GitHub リリースが公開されると、PyPI Trusted Publishing を通じて Python ディストリビューションをビルドし、公開します。現在の安定版パッケージは uvx mcp-trendpulse で実行できます。GitHub の uvx --from ... 形式は、リポジトリの最新コードを意図的に使用する場合にのみ使ってください。
セキュリティに関する注意
記事の取得は外部ネットワークへの接続を伴う機能であり、信頼できない入力として扱われます。実装では HTTP(S) の接続先を検証し、プライベートアドレスやルーティングできない宛先を拒否し、リダイレクト先を確認して、レスポンスサイズを制限します。また、Playwright を使用する場合はブラウザールートの検証も適用されます。
TrendPulse をリモート環境にデプロイする場合は、これらの制御を維持し、アプリケーションのデフォルト設定だけに頼らず、デプロイ環境レベルでレート制限、リクエストのタイムアウト、可観測性、リソース制限を追加してください。
責任ある情報開示の手順については、SECURITY.md を参照してください。
ロードマップ
現在の本番運用準備における優先事項は次のとおりです。
- ドキュメント、パッケージメタデータ、生成された MCP マニフェストを、実際のツール構成と整合させます。
- CI、パッケージの検証、依存関係およびランタイムのカバレッジを、ユーザーが実際にインストールする内容に合わせます。
- プロバイダーの境界を維持し、MCP レイヤーを書き換えずに上流のソースを変更できるようにします。
- ローカルの stdio 動作を維持しながら、既存のステートレスな Streamable HTTP トランスポートを強化して運用します。
- 実際の導入状況と購入者の証拠に基づいて、ChatGPT/Codex 向けの既存の小規模なホスト型ツール構成を改善します。
- プロバイダーの認可を完了し、ホスト型サービスを DigestSEO アプリケーションおよび運用スタックと統合します。
- 管理対象サービスが本番運用可能になった後に限り、ホスト型 MCP を OpenAI プラグインとしてパッケージ化し、テストします。
ライセンス
MIT です。LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。