Give Windsurf live trend data across Google, TikTok, YouTube, Reddit, Amazon, and 8 more sources. Paste one snippet into your Windsurf MCP config and start querying real-time trend data in your AI sessions immediately.
Updated 2026-08-19
Trends MCP is the shared trend server. Windsurf Cascade is a client that reaches it over remote HTTP. That client must use serverUrl set to https://api.trendsmcp.ai/mcp with Authorization: Bearer YOUR_API_KEY. Cursor’s url plus transport pair is the wrong shape here and is the most common paste error. Once Cascade can see the tools, it can call get_trends for weekly history, get_growth for multi-window percent change, and get_top_trends for a live feed. The free plan is 100 requests per month. Starter is $19 per month. Windsurf is the right host when the output should be a long Cascade artifact (a brief, a comparison, a rewritten spec) rather than a tight in-file patch.
Windsurf stores MCP servers in ~/.codeium/windsurf/mcp_config.json on Mac and Linux, and in %USERPROFILE%\.codeium\windsurf\mcp_config.json on Windows. The Command Palette entry Windsurf: Configure MCP Servers opens the same file. Cascade’s MCP panel also exposes Configure / Add custom server. All three paths must write serverUrl, not url.
"trends-mcp": {
"serverUrl": "https://api.trendsmcp.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
The hostname is api.trendsmcp.ai. Claude.ai Connectors use OAuth on https://www.trendsmcp.ai/mcp and that www URL must not be “fixed” into this file. Windsurf is a Bearer client. After saving, reload Cascade or restart Windsurf so the tool list refreshes. A snippet copied from Cursor setup will look almost right and still fail discovery because Cursor requires transport: "http" on a url field. The docs Connect guide shows both shapes on purpose.
Keys follow the tmcp_liv… format from email signup. A 401 after a correct-looking JSON almost always means the Bearer prefix was dropped or the key was left as the placeholder string.
Cascade is built for multi-file reasoning and written deliverables. Trend work that should leave a markdown brief, a table of growth windows, and a recommended next experiment fits Cascade better than a chat sidebar that forgets the memo. Editors who already live in Windsurf for codegen can keep demand checks in the same Cascade thread that is about to draft the PR description.
Cursor remains the better host when the next step is a surgical Agent edit on a single function. VS Code is the better host when .vscode/mcp.json is the team standard. ChatGPT and Perplexity are better when there is no repo open at all. The data does not change across those clients. Trends MCP serves the same series and feeds. The client only changes how the model is allowed to continue after the JSON returns.
Cascade is a weak scheduler. A Monday 07:00 alert belongs in n8n or Make on REST get_time_series / get_growth. Leaving Windsurf open overnight hoping Cascade will poll a feed wastes quota and still needs a human to read the pane.
A durable Cascade pattern starts with discovery, then ranking, then history. First call get_top_trends with an exact feed type such as TikTok Trending Hashtags or Google Trends. That call needs no keyword and counts per feed page. Second, pick two or three surviving names and call get_growth with percent_growth set to ["3M", "6M"] and a comma-separated source list such as google search, reddit, youtube. Extra windows in that array do not multiply the request count; extra sources do. Third, call get_trends only for the one topic that will be cited with a curve.
REST users outside Windsurf should send mode: "get_time_series" for the history tool. Inside Cascade the MCP name stays get_trends. Prompts should say “using TrendsMCP” so Cascade does not substitute a web-search summary of last week’s blog posts. Feed type strings are case-sensitive. TikTok Trending Hashtags works. tiktok hashtags does not.
Amazon and Google Shopping sources help ecommerce briefs. npm and GitHub trending feeds help developer-tool briefs. Steam helps game studios. Cascade can mix them in one session because they share auth. Mixing them in one call is the trap: get_trends takes one source per request. get_growth may take a comma-separated source list. Plan the loop on that difference so a 12-source “compare everything” prompt does not burn 12 history calls.
Trends MCP stays first: one account, one Bearer token on the api host, three tools. Windsurf, Cursor, and VS Code are adapters. Windsurf’s adapter is serverUrl plus the Codeium path under .codeium/windsurf/. Cursor’s adapter is url plus transport under ~/.cursor/mcp.json. VS Code’s adapter is type: "http" under .vscode/mcp.json. None of those files is a second product. They are how each editor stores the same remote.
Claude Desktop still uses a local npx mcp-remote process and an AUTH_HEADER env var. That block does not belong in mcp_config.json. Claude.ai OAuth does not belong there either. Operators who keep four editors open should treat the key as a secret and the JSON as disposable boilerplate.
The free 100 requests last a month. Starter at $19 per month lifts that to 1,000. A Cascade “research everything on TikTok this morning” prompt that pages get_top_trends with high limit values can exhaust Free before noon. Cap limit (default 25, max 200) and avoid offset paging unless the brief needs it. Each page is a request.
Cascade will happily invent source labels. google search is valid. Google Trends is a live feed type for get_top_trends, not a get_trends source. Swapping them yields invalid_source or a confused empty answer. Reddit keywords are subreddit names without r/. npm names are case-sensitive. The data sources page is the checklist to paste into a Cascade rule if the team keeps hitting 400s.
Do not commit mcp_config.json with a live key. Windows path expansion for %USERPROFILE% fails if the JSON is copied into a Unix-only snippet in a wiki. Restart after header edits. 429 means the monthly cap, not a Windsurf bug. History is weekly over about five years, which is enough for a memo and the wrong grain for minute-by-minute trading.
Windsurf is a strong written-research host for the shared Trends MCP server. It is a poor cron, a poor secret store, and a poor place to paste Cursor JSON unchanged.
Tools for this workflow
get_trendsInside Windsurf Cascade, pull weekly history for a market, product, or technology before Cascade writes a memo or a patch around that bet.
get_trends(keyword='agentic ai', source='google search', data_mode='weekly')get_growthAsk Cascade whether agentic AI interest is growing on Google, Reddit, and YouTube. get_growth returns structured percent change in one message.
get_growth(keyword='agentic ai', source='google search, reddit, youtube', percent_growth=['3M', '6M'])get_ranked_trendsHave Cascade assemble a ranked research document from live feeds, then tighten the list with get_growth on the topics that survive the first pass.
get_ranked_trends(source='google search', sort='wow_pct_change', limit=20)get_top_trendsIn any Windsurf session, ask what is breaking on TikTok or Google Trends without supplying a keyword.
get_top_trends(type='TikTok Trending Hashtags', limit=20)FAQ