Integrations
Claude calls get_context after Trends MCP is added on claude.ai, Desktop, or Claude Code. The proving call is a conversation row, not a trending board.
Claude pulls posts, videos, stories, and repos through Trends MCP get_context after the connector is added. claude.ai uses OAuth at https://www.trendsmcp.ai/mcp with no API key in the connector. Desktop uses npx mcp-remote against https://api.trendsmcp.ai/mcp with a Bearer key. The homepage fetched 2026-11-12 still tells Claude Code to add the www host and sign in with /mcp. llms.txt and Trends MCP for Claude Code from the same morning still add the api host with a Bearer header. Ask, using TrendsMCP, for a keyword plus one of News, YouTube, TikTok, Instagram, X, Reddit, Bluesky, Hacker News, Polymarket, or GitHub. Omit limit and YouTube still prints count 10 over window_days 7. Omit comments and only the first 2 videos carry a top_comments array. hashtag true billed 1 request when TikTok printed items []. The live MCP list in this session names get_context and does not name get_top_posts.
Host setup for the browser and Desktop lives on Trends MCP for Claude. The terminal add lives on Trends MCP for Claude Code. Those pages prove the connect with get_top_trends. This page is the conversation-shaped call those guides never name.
claude.ai: Settings, Customize, Connectors, Add custom connector.
https://www.trendsmcp.ai/mcpThat www URL is intentional. Claude handles OAuth. No API key belongs in the connector. Deep link: https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Trends%20MCP&connectorUrl=https%3A%2F%2Fwww.trendsmcp.ai%2Fmcp. Start a new chat after consent. An old thread will not see a connector added mid-conversation.
Desktop talks to the api host. User, Settings, Developer, Edit Config, inside 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" }
}
Mac path: ~/Library/Application Support/Claude/claude_desktop_config.json. Windows path: %APPDATA%\Claude\claude_desktop_config.json. Key from the account page, format tmcp_live_. Fully quit Desktop after saving. A window reload is not enough.
llms-full.txt fetched 2026-11-12 inlines the Bearer string in args and drops the env map. The dedicated Claude page keeps Authorization:${AUTH_HEADER} plus AUTH_HEADER. Both hit the same api host. Do not paste Cursor's url plus transport http object into this file. Cursor Agent uses that shape on get_context in Cursor. Pasting it into Desktop is the wrong shape.
Ask with "using TrendsMCP" so Claude routes to the server instead of a web search. The proving prompt is a context call, not a board call.
get_context(source="YouTube", keyword="nintendo switch 2", limit=5)
get_context(source="News,GitHub", keyword="nintendo switch 2", limit=2)
get_top_trends with type YouTube Trending still ranks a live chart. That is a different tool. Do not send a board type string into get_context. Do not send source google search into get_context. REST source google search on keyword nintendo switch 2 returned 400 invalid_source, message Unknown source 'google search'. Valid: News, YouTube, TikTok, Instagram, X, Reddit, Bluesky, Hacker News, Polymarket, GitHub.
Store reviews are a third tool. get_reviews in Claude takes App Store, Google Play, and Amazon. Those names are invalid_source here.
The homepage fetched 2026-11-12 tells Claude Code operators to run this add, then type /mcp to sign in:
claude mcp add --transport http --scope user trends-mcp https://www.trendsmcp.ai/mcp
The same homepage groups Claude Code with Claude and ChatGPT as sign-in clients on https://www.trendsmcp.ai/mcp. Cursor and VS Code stay on the api host with a Bearer key.
llms.txt last updated 2026-11-12 still publishes the other recipe:
claude mcp add --transport http trends-mcp https://api.trendsmcp.ai/mcp --header "Authorization: Bearer YOUR_API_KEY"
The dedicated Claude Code page repeats that api-host line and says not to paste https://www.trendsmcp.ai/mcp into the CLI, because www is OAuth for claude.ai and a www add 401s. This run did not execute claude mcp add. It recorded both published commands. Match the recipe to the binary that is actually open. A Desktop npx block does not install the CLI. A claude.ai connector does not install the CLI.
CLAUDE.md can name get_context, the ten conversation sources, comments 0 when replies are not needed, and a cap of one source then stop. It should not name this morning's video ids. Conversation rows turn over. A frozen YouTube id in CLAUDE.md becomes a stale architecture note.
Nightly conversation tracking belongs on REST, not a CLI loop that only runs when someone is in the terminal. POST https://api.trendsmcp.ai/api with the same Bearer key and mode get_context. Wrapping claude in GitHub Actions just to pull posts is a roundabout way to hit that URL.
A 2026-11-12 MCP get_context call that sent source YouTube and keyword nintendo switch 2 with no limit, days, or comments field printed window_days 7, count 10, and requests_charged 1. Rank 1 was YouTube id 4dgTl1ZVvIg, title "NEW Nintendo Switch 2 System Update Explained! + Switch 2 Game News!", published 2026-11-11T13:54:50Z, 56,319 views, 1,018 likes, 258 comments. Channel name Sunbro Nation. REST with the same body printed the same defaults and the same rank-1 id.
limit 1 is a shorter list, not a different tool. REST mode context with limit 1 returned that same Sunbro Nation row. Top-level count is the sum of items across sources, not the per-source cap.
The first two videos carried top_comments. Videos 3 through 10 carried []. Rank 1's first reply was from @SunbroNation with 24 likes, published 2026-11-11T13:55:05Z. Rank 2 was id w7bArnQy4oo, title "TOP 20 Games Worth Buying a Nintendo Switch 2 For!", 10,838 views, also with 3 replies. That split is the default comments 2 behavior, not a broken Claude connect.
Do not ask Claude to page this list. offset was not part of this pull. Lower limit if a shorter list is needed. One YouTube call already billed.
The MCP schema says comments is "Top comments for the first N items of each source, 0 to 5. Default 2." The 2026-11-12 YouTube pulls matched that wording, not "N replies on every row."
Omit comments and videos 1 and 2 carried 3 top_comments objects each. MCP comments 0 with limit 1 left rank 1's array empty, including on id 4dgTl1ZVvIg. REST comments 6 with limit 6 filled ranks 1 through 5 and left rank 6 empty. Each of those first five videos carried 3 replies. The server clamped to 5 items. It did not 400. It also did not invent extra replies on a thin row.
OpenAPI 3.1 at https://www.trendsmcp.ai/openapi.json, fetched 2026-11-12, now has GetContextRequest. Properties on that schema are days, hashtag, keyword, limit, mode, and source. comments is missing. REST still accepted comments 6. A generated client that only emits the OpenAPI oneOf will never send it. Claude that reads the live MCP tool list will.
News, GitHub, and Polymarket rows in the source all pull left top_comments empty. The schema limits comments to YouTube, TikTok, Instagram, X, Reddit, Bluesky, and Hacker News. Set comments 0 when the job is titles and engagement only.
llms.txt, docs.md, and data-catalog.md last updated 2026-11-12 all name the option. The OpenAPI request object still skips it. HTML /docs grepped 10 hits for get_context and 0 for GetContextRequest.
The MCP tool description says all equals 10 sources and costs 10. Valid names: News, YouTube, TikTok, Instagram, X, Reddit, Bluesky, Hacker News, Polymarket, GitHub. A 2026-11-12 REST call with source all, keyword nintendo switch 2, limit 1, and comments 0 printed ten sources objects, top-level count 5, and requests_charged 6.
YouTube, News, Bluesky, Hacker News, and GitHub each returned 1 item. Polymarket returned count 0, error null, and the note markets are not limited to the window; they are open events. That empty market object still counted toward the 6 charged. TikTok, Instagram, X, and Reddit returned source unavailable and were not billed.
News rank 1 was a Nintendo Official Site cluster, title "The Legend of Zelda: Ocarina of Time is now available - News - Nintendo Official Site", published 2026-11-05T17:45:37Z, outlet_count 16, article_count 18. GitHub rank 1 was zortos293/Lichii, 8,600 stars, 1,385 forks, language C++, kind repo. Bluesky rank 1 was https://bsky.app/profile/nintendooamerica.bsky.social/post/3n22eyblwn225, 140 likes. Hacker News rank 1 was id 50431971, title "Making a €40 USB-C hub work as a Nintendo Switch 2 dock", score 7.
A six-name comma list also succeeded. MCP source YouTube,TikTok,Reddit,News,GitHub,X with limit 1 returned HTTP 200, count 3, and requests_charged 3. YouTube, News, and GitHub answered. TikTok, Reddit, and X did not. The get_context page from 2026-10-26 still says six names return 400 too_many_sources. That error did not fire on this pull. docs.md error table fetched 2026-11-12 still omits too_many_sources. Treat five as a stale cap, not the live one.
hashtag true tells TikTok and Instagram to treat the keyword as one exact tag and return that platform's own top posts. Other sources still search the phrase. Default is false. MCP get_context with source TikTok, keyword fitness, hashtag true, and limit 1 returned envelope statusCode 502, window_days 7, count 0, items [], and requests_charged 1. Source-level error was source unavailable. The note was TikTok's top videos for #fitness, in TikTok's order; days does not filter them. REST with Instagram booktok printed the same empty shape, same charge, same "days does not filter" note.
An empty items array is still an answer. Failed 400s are free. This 502 billed. Do not ask Claude to retry hashtag calls in a loop. One call already spent the request. Switch to a keyword search on YouTube or News, or stop.
REST still serves the dropped posts mode. POST https://api.trendsmcp.ai/api with mode get_top_posts, source tiktok, keyword fitness, and limit 1 returned HTTP 200, count 1, and https://www.tiktok.com/@austin_swaggerson/video/7704063077385325837, posted 2026-11-03, 2,200,000 plays, 207,200 likes. Claude that reads the live MCP list will not offer that call. The existing get-top-posts-in-claude page still tells Claude to call it. HTML /docs still contains one leftover get_top_posts comment describing that posts array.
Omit REST source and the message is source is required: one or more of News, YouTube, TikTok, Instagram, X, Reddit, Bluesky, Hacker News, Polymarket, GitHub (comma-separated). Omit keyword and the message is keyword is required: any name or phrase. Those 400s are free.
The MCP tool list in this session advertised get_time_series, get_growth, get_top_trends, get_context, get_reviews, and get_usage. Six tools. Five of them bill. get_usage is free. get_top_posts is absent.
A garbage REST mode getcontext returned envelope statusCode 400, error invalid_mode, and valid_modes get_context, get_growth, get_reviews, get_time_series, get_top_trends. The aliases object named aliases for get_time_series, get_growth, get_top_trends, and get_reviews. It omitted get_context, even though mode context had just returned the Sunbro Nation row. OpenAPI maps GetContextRequest now. It still has no GetReviewsRequest, and the 200 example set still omits a reviews payload. The mode discriminator mapping lists get_context, get_growth, get_time_series, and get_top_trends only.
Nightly conversation tracking belongs on REST, not a Claude loop that only runs when the chat is open. Connecting is free. Calling is not. get_usage at the start of this run printed Business 4,701 of 25,000 used, then 4,716, reset 2026-12-01. buy_credits_url on that payload still uses the apex account billing tab:
https://trendsmcp.ai/account?tab=billing
Site links on this page stay on www.
Free plan 100 requests a month. Starter $19 for 1,000. Pro $49 for 5,000. Business $199 for 25,000. source all billed 6 this morning because six data types answered. Looping hashtag retries against a 502 finishes the free plan before the Project instruction is written.
FAQ