Unofficial Google Trends MCP Server
Неофициальный MCP-сервер для Google Trends
⚠️ Неофициальный проект. Не связан с Google, не одобрен и не поддерживается Google. У Google Trends нет общедоступного API, поэтому этот сервер читает те же публично доступные конечные точки, которые использует сайт trends.google.com (через trendspy) — а это значит, что Google может в любой момент ограничить скорость или сломать его без предупреждения. Используйте на свой страх и риск и прочитайте Ограничения, прежде чем полагаться на него.
Сервер Model Context Protocol, который даёт ИИ-ассистентам — Claude, ChatGPT, Cursor или любому MCP-клиенту — доступ к данным Google Trends: интерес к поиску с течением времени, разбивка по регионам, трендовые запросы и идеи ключевых слов.
Работает как удалённый MCP-сервер (streamable HTTP), предназначенный для Google Cloud Run — вы размещаете его в своём проекте Google Cloud и подключаете к своему ИИ-ассистенту. Также работает локально через stdio.
Подключение к вашему ИИ-ассистенту
После развёртывания (см. Настройка) у вас будет URL конечной точки вида https://<ваш-сервис>.run.app/<секрет>/mcp. Все инструменты доступны только для чтения.
Claude (веб/десктоп): Настройки → Connectors → Add custom connector → вставьте URL. Работает на тарифах Pro, Max, Team и Enterprise.
ChatGPT (веб): включите Developer mode (Настройки → Apps → Advanced settings), затем Настройки → Apps → Create, вставьте URL как конечную точку MCP-сервера, выберите No authentication (контроль доступа — это секрет в URL), нажмите Scan tools → Create. Пользовательские MCP-коннекторы требуют платного тарифа; на Pro коннекторы ограничены инструментами только для чтения — а у этого сервера только такие, так что всё работает.
Claude Code / Cursor / другие MCP-клиенты: подойдёт любой клиент, поддерживающий удалённый MCP через streamable HTTP, например claude mcp add --transport http google-trends <URL>. Для локальных/stdio-настроек см. docs/setup-advanced.md.
Related MCP server: youtube-trends-mcp
Как это работает
AI assistant (Claude · ChatGPT · Cursor · any MCP client)
│ MCP over streamable HTTP, at https://<cloud-run-url>/<secret>/mcp
▼
server.py — FastMCP tool layer (stateless, JSON responses)
│ TrendsBackend interface (swappable, see backends/)
▼
backends/trendspy_backend.py
│ 1. TTL cache — identical queries answered from memory
│ (12 h series · 15 min trending · 24 h autocomplete)
│ 2. Circuit breaker — after a 429: cooldown, fail fast with
│ a clear "retry in Ns" message (no hammering Google)
│ 3. One upstream call at a time, ≥3 s apart
▼
Google's public endpoints
├─ trends.google.com (unofficial, same as the website uses)
└─ suggestqueries.google.com (Autocomplete, for keyword_ideas)Контроль доступа — это случайный секретный сегмент пути в URL (генерируется при развёртывании, хранится в gitignored-файле .mcp_secret) — используется потому, что большинство интерфейсов пользовательских коннекторов чат-клиентов (Claude, ChatGPT) не могут отправлять заголовки аутентификации. Сервис Cloud Run намеренно ограничен одним экземпляром: один экземпляр = один IP и один общий кэш, что делает ограничение скорости Google предсказуемым. Он масштабируется до нуля в простое, так что хостинг практически бесплатен при личном использовании.
Инструменты
Инструмент | Что делает |
| Относительный интерес к поиску (0–100) для до 5 терминов — основной график Trends |
| Где термин ищут чаще всего (страна / регион / город / DMA) |
| Топовые и растущие связанные поисковые запросы ⚠️ ограничены квотой Google, обычно не работает |
| Топовые и растущие связанные темы ⚠️ то же ограничение |
| Исследование ключевых слов через Google Autocomplete — надёжная альтернатива related_queries |
| Живая лента «Trending now» для страны |
| Уточнение темы (например, |
| Поиск ID категорий Trends |
| Поиск геокодов |
| Проверка здоровья + активный бэкенд |
Бэкенды данных
Слой данных заменяемый (см. backends/):
trendspy(по умолчанию) — использует trendspy, который общается с теми же неофициальными конечными точками, что и сайт Trends. Бесплатно, без API-ключа, но с ограничением скорости на IP и может сломаться, если Google изменит свои конечные точки.official(заглушка) — для официального API Trends от Google (альфа), который доступен по заявке. Подключитеbackends/official_backend.py, как только Google предоставит доступ вашему проекту, затем установитеTRENDS_BACKEND=official. Контракт MCP-инструментов остаётся идентичным.
⚠️ Значения из Google Trends — это относительный интерес к поиску (0–100 в рамках каждого запроса), а не абсолютные объёмы поиска.
Настройка
Два руководства, выбирайте по скорости:
Руководство для начинающих — никогда не пользовались терминалом или Google Cloud? Полное пошаговое руководство с нуля, ~15 минут.
Продвинутое руководство — опытный пользователь? Клонируйте →
./deploy.sh→ подключите; плюс локальный режим stdio, справочник по конфигурации и заметки по архитектуре.
Развёртывание в Cloud Run (краткая версия)
gcloud auth login
./deploy.sh YOUR_PROJECT_ID europe-west1Скрипт включает необходимые API, собирает контейнер с помощью Cloud Build, развёртывает с масштабированием до нуля (≈ бесплатно при низком использовании) и выводит вашу MCP-конечную точку:
https://google-trends-mcp-xxxxx.a.run.app/<secret>/mcpСлучайный сегмент пути <секрет> — это токен доступа: сервис технически публичен, но недоступен без полного URL. Держите его в тайне и повторно запустите развёртывание с новым секретом для его ротации.
Подключите своего ИИ-ассистента
См. Подключение к вашему ИИ-ассистенту выше для Claude и ChatGPT. Claude Code:
claude mcp add --transport http google-trends https://google-trends-mcp-xxxxx.a.run.app/<secret>/mcpЛокальный запуск
pip install -r requirements.txt
python server.py
# MCP endpoint at http://localhost:8080/mcpКонфигурация
Переменная окружения | По умолчанию | Назначение |
|
| Порт прослушивания (Cloud Run задаёт его) |
| (нет) | Секретный сегмент пути; конечная точка становится |
|
|
|
|
| Секунды между вызовами вышестоящего Trends |
| (нет) | Необязательный исходящий прокси (помогает при 429 с IP дата-центров) |
Ограничения и известные проблемы
Прочитайте это, прежде чем полагаться на сервер — это структурные ограничения, а не баги:
Неофициальный источник данных. Не существует публичного API Google Trends (официальный API Google — альфа и только по приглашениям). Этот сервер использует собственные конечные точки сайта, которые Google может изменить или заблокировать в любой момент. Если Google что-то изменит, сервер перестанет работать, пока trendspy не догонит — именно это случилось со старой библиотекой pytrends в 2025 году.
related_queriesиrelated_topicsфактически мертвы. Google устанавливает почти нулевую квоту на эти две конечные точки «виджетов» для автоматизированных (не браузерных) клиентов. Лимит привязан к отпечатку клиента, а не к IP — прокси, VPN и локальный запуск не помогают. Ожидайте, что эти инструменты чаще всего будут падать при первом вызове; сообщение об ошибке объясняет это и указывает наkeyword_ideas(Google Autocomplete), который является надёжной альтернативой для исследования ключевых слов.Ограничение скорости на всё остальное. Рабочие конечные точки (интерес с течением времени, по регионам, тренды) также ограничены по скорости на IP. Всплески запросов вызывают HTTP 429. Меры сервера (ниже) делают это редким при обычном использовании, но интенсивные автоматические запросы упрутся в стену.
Относительные значения, а не объёмы. Все числа Trends — это 0–100 в рамках каждого запроса (100 = пик для данного набора терминов/периода/гео). Это не абсолютные объёмы поиска и они не сопоставимы между разными запросами.
Компромисс со свежестью. Результаты кэшируются (12 ч для данных серий, 15 мин для трендов, 24 ч для автодополнения), чтобы оставаться в рамках ограничений скорости — вы можете видеть слегка устаревшие данные по замыслу.
Один экземпляр. Развёртывается с
--max-instances 1, поэтому это для личного/небольшого командного использования, а не для высоконагруженного продакшн-трафика.
Ограничения скорости и как сервер спроектирован вокруг них
Google ограничивает скорость неофициальных конечных точек Trends. Сервер смягчает это по слоям:
TTL-кэш — идентичные запросы обслуживаются из памяти (~12 ч для данных серий, 15 мин для трендов, 24 ч для автодополнения) и никогда не обращаются к Google дважды.
Интервалы + сериализация — один вызов вышестоящего сервиса за раз, с паузой
TRENDS_REQUEST_DELAY(по умолчанию 3 с) между вызовами.Повтор + автоматический выключатель — одна мягкая попытка при 429, затем период охлаждения (120 с), в течение которого новые запросы быстро завершаются с понятным сообщением «повторите через N секунд» вместо долбёжки Google. Кэшированные запросы продолжают работать во время охлаждения.
Правила использования передаются ИИ-клиенту через MCP-инструкции: группируйте до 5 терминов в один вызов
interest_over_time, планируйте вызовы вместо их разброса, никогда не повторяйте автоматически ошибку ограничения скорости.Реальность
related_queries/related_topics: Google сократил квоту на эти две конечные точки виджетов до почти нуля для автоматизированных (не браузерных) клиентов — это привязано к отпечатку, поэтому прокси и смена IP не помогают. Ожидайте их падения; ошибка объясняет это. Используйтеkeyword_ideas(Google Autocomplete) для исследования ключевых слов — это быстро, надёжно и не привязано к квоте Trends.
--max-instances 1 в скрипте развёртывания намерен: один экземпляр = один IP и один общий кэш = предсказуемое ограничение скорости.
Советы пользователям
Просите сравнения за один раз («сравни A vs B vs C в PT за 12 месяцев» → один вызов API), а не по одному термину. Повторные недавние вопросы бесплатны (кэш). Если вы получили сообщение об охлаждении, просто подождите указанные секунды — не спамьте повторами. Для вопросов «что люди ищут вокруг X» просите идеи ключевых слов, а не связанные запросы.
Заметки по безопасности
Всё в этом репозитории общее — нет учётных данных, ключей, ID проектов или личных данных. Две вещи остаются локальными на вашей машине и никогда не должны быть закоммичены:
.mcp_secret— случайная строка в вашем URL конечной точки. Это единственное, что мешает посторонним вызывать ваш развёрнутый сервер, поэтому относитесь к ней как к паролю.deploy.shгенерирует её при первом запуске и хранит здесь, чтобы повторные развёртывания использовали тот же URL. Она в gitignore. (Она не связана с GitHub — это не токен GitHub и у неё нет доступа к вашему аккаунту.)ID вашего проекта Google Cloud — передаётся как аргумент командной строки в
deploy.sh, никогда не записывается ни в один файл в репозитории.
Для ротации секрета (например, если URL утёк): удалите .mcp_secret, повторно запустите ./deploy.sh <PROJECT_ID> и обновите URL в настройках коннектора вашего ИИ-ассистента. Старый URL перестанет работать немедленно.
Перед первым пушем убедитесь, что ничего чувствительного не в индексации:
git status --short # .mcp_secret and .env must NOT appear
git check-ignore -v .mcp_secretОтказ от ответственности
Неофициальный общественный проект; не связан с Google, не одобрен и не поддерживается Google. «Google Trends» и «Google» — товарные знаки Google LLC, используемые здесь только для описания того, к чему подключается программное обеспечение. Данные Trends получаются через публично доступные конечные точки; вы несёте ответственность за использование в соответствии с условиями обслуживания Google и на свой страх и риск. Никаких гарантий любого рода — конечные точки могут перестать работать в любой момент.
Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables retrieval and analysis of Google Trends data for any search term over the last 12 months. Provides structured timeline data with relative interest scores that can be filtered by geography and category.
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to query YouTube search trends, including rising topics, growth metrics, and historical search demand, using natural language.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access Google Trends data for comparing keywords, discovering trending searches, and analyzing regional interest through natural language.2MIT
- AlicenseBqualityDmaintenanceEnables Claude to query Google Trends data such as keyword interest, related queries, and regional popularity, with robust proxy rotation to bypass Google's anti-bot measures.5411MIT
Related MCP Connectors
Trend data from Google Trends, YouTube, TikTok, Reddit, Amazon, Wikipedia, npm, Steam and more
Trend data from Google, TikTok, Amazon, Reddit, YouTube, Steam, npm and more as JSON
Spot keyword demand rising or fading across search and social. Free key at trendsapi.ai
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/goncaloaguer/unofficial-google-trends-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server