Integrations

get_context in ChatGPT

ChatGPT calls get_context after Trends MCP is added as a plugin on chatgpt.com. The proving call is a conversation row, not a trending board.

Live data as of 2026-11-13

ChatGPT pulls posts, videos, stories, and repos through Trends MCP get_context after the plugin is added on chatgpt.com. The homepage fetched 2026-11-13 tells operators to open Plugins, pick Add custom MCP server, paste https://www.trendsmcp.ai/mcp, choose OAuth, create the plugin, install it, and type @ to pick Trends MCP. llms-full.txt from the same morning matches that www host and OAuth recipe. The dedicated Trends MCP for ChatGPT page, last updated 2026-08-19, still tells operators to add https://api.trendsmcp.ai/mcp with a Bearer key under Settings, Connectors. 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. MCP hashtag true on TikTok fitness billed 1 request when items was [].

Plugins still want www OAuth, not a Bearer key

Host setup for ChatGPT lives on Trends MCP for ChatGPT. That page, last updated 2026-08-19, still proves the connect with get_trends, get_growth, and get_top_trends, and it still publishes the api host plus a Bearer header. This page is the conversation-shaped call that guide never names, against the recipe the homepage publishes today.

The homepage fetched 2026-11-13, under Add to ChatGPT, prints these steps:

  1. Click Add to ChatGPT. In Plugins, select +, then Add custom MCP server.
  2. Name it Trends MCP, paste the server URL, and choose OAuth. Accept the warning and select Create as a plugin.
  3. Install it and sign in to Trends MCP. In a chat, type @ and pick Trends MCP.

The URL on that card is https://www.trendsmcp.ai/mcp. The same homepage groups ChatGPT with Claude as a sign-in client on that www host. Cursor and VS Code stay on the api host with a Bearer key. llms.txt last updated 2026-11-13 repeats the split: "MCP, sign in (Claude, ChatGPT): https://www.trendsmcp.ai/mcp. No key to paste."

OpenAI's custom MCP server guide, fetched 2026-11-13 from https://developers.openai.com/api/docs/guides/custom-mcp-server, matches the homepage path. Access is ChatGPT on the web. The add flow is ChatGPT Plugins, the plus button, Add custom MCP server, a public HTTPS URL, then authentication. The listed auth options are OAuth, no authentication, and mixed OAuth or no authentication. Create as a plugin. Install it. Type @ in the prompt box and select the installed plugin. This run did not click Add to ChatGPT and did not complete OAuth in a ChatGPT tab. It recorded the published steps.

The dedicated ChatGPT page still says Settings, Connectors, Add custom connector, Server URL https://api.trendsmcp.ai/mcp, and Authorization: Bearer YOUR_API_KEY. That is the Cursor shape. It is also the shape OpenAI's plugin form does not list. Do not paste Cursor's url plus headers object into the ChatGPT plugin dialog. get_context in Cursor uses that JSON. Pasting it into Plugins is the wrong host.

Do not paste Claude Desktop's npx mcp-remote block either. get_context in Claude keeps that file on Desktop. A ChatGPT plugin is not a claude_desktop_config.json edit.

Homepage copy fetched 2026-11-13 also says the plugin works in ChatGPT on the web, and that on Business and Enterprise a workspace admin can turn custom servers off. That is OpenAI's workspace, not the Trends MCP Business plan. Confirm the workspace allowlist includes www.trendsmcp.ai before blaming a missing tool list on the API key field that the current plugin form does not show.

Name get_context after the @ mention

OpenAI's guide says custom MCP plugins are used by typing @ and picking the installed plugin. The homepage repeats that @ step. A ChatGPT Project instruction 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 a Project file becomes a stale architecture note.

Ask with "using TrendsMCP" so ChatGPT routes to the server instead of a web search or a remembered headline from training data. 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 takes App Store, Google Play, and Amazon. Those names are invalid_source here.

The dedicated ChatGPT page still tells the model to call get_trends and get_ranked_trends. The live MCP 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. get_ranked_trends is absent.

Nightly conversation tracking belongs on REST, not a ChatGPT loop that only runs when the chat is open. POST https://api.trendsmcp.ai/api with a Bearer key and mode get_context. Wrapping a ChatGPT thread in a shared link just to pull posts is a roundabout way to hit that URL, and it still spends the connector owner's meter.

Omit limit and YouTube still prints 10

A 2026-11-13 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 ixI_d1vo-18, title "$40 Switch 2 Games! Nintendo's Black Friday Is Finally Good", published 2026-11-13T02:27:26Z, 3,631 views, 159 likes, 17 comments. Channel name SwitchForce. REST with mode context, limit 1, and comments 0 printed the same rank-1 id and emptied top_comments.

limit 1 is a shorter list, not a different tool. 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 @markv2997 with 4 likes, published 2026-11-13T03:14:55Z. Rank 2 was id NAYwZDKY7ww, title "Switch 2 Jailbreak BLOCKED?! Nintendo Found Another Way", 23,120 views, also with 3 replies. That split is the default comments 2 behavior, not a broken ChatGPT plugin.

Do not ask ChatGPT 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 product page at get_context still carries a 2026-10-26 body. The default 10-row YouTube window matched today. The five-source cap on that page did not.

comments fills the first N items

The MCP schema says comments is "Top comments for the first N items of each source, 0 to 5. Default 2." The 2026-11-13 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 ixI_d1vo-18. 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. Rank 6 was id CkKDtSH9G3I, title "16 Nintendo Switch 2 Games Everyone MUST PLAY!", with top_comments []. 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-13, 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. ChatGPT 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-13 all name the option. The OpenAPI request object still skips it. HTML /docs grepped 10 hits for get_context and 0 for GetContextRequest.

source=all is ten conversation names

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-13 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 Gaming Age cluster, title "The Legend of Zelda: Ocarina of Time review for Nintendo Switch 2", published 2026-11-10T14:59:40Z, outlet_count 8, article_count 8. GitHub rank 1 was NotRexed/Hookshot, 8,953 stars, 823 forks, language C++, kind repo. Bluesky rank 1 was https://bsky.app/profile/nintendooamerica.bsky.social/post/3n22eyblwn225, 165 likes. Hacker News rank 1 was id 50431971, title "Making a €40 USB-C hub work as a Nintendo Switch 2 dock", score 152.

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-13 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 window_days 7, count 0, items [], and requests_charged 1. Source-level error was null. The note was TikTok's top videos for #fitness, in TikTok's order; days does not filter them. REST with Instagram booktok printed envelope statusCode 502, the same empty items, the same charge, and Instagram's top posts for #booktok, in Instagram's order; days does not filter them.

An empty items array is still an answer. Failed 400s are free. These hashtag calls billed. Do not ask ChatGPT 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 for some tags. POST https://api.trendsmcp.ai/api with mode get_top_posts, source tiktok, keyword fitness, and limit 1 returned envelope statusCode 404, error no_data, message No top posts found for #fitness on tiktok. The same mode with keyword booktok returned HTTP 200, count 1, and https://www.tiktok.com/@rottentomatoes/video/7704716431157513486, posted 2026-11-05, 877,700 plays, 67,600 likes. ChatGPT that reads the live MCP list will not offer that call. 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.

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 SwitchForce 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.

Connecting is free. Calling is not. get_usage at the start of this run printed Business 5,365 of 25,000 used, then 5,379, 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 an empty TikTok list finishes the free plan before the Project instruction is written.

Common questions

On chatgpt.com, open Plugins, select +, then Add custom MCP server. Name it Trends MCP, paste https://www.trendsmcp.ai/mcp, choose OAuth, create the plugin, install it, and type @ to pick it. Ask, using TrendsMCP, for get_context with a keyword and a source such as YouTube, News, or GitHub. Omit limit and YouTube still printed count 10 over window_days 7 on 2026-11-13.
The homepage and llms-full.txt fetched 2026-11-13 both put ChatGPT on https://www.trendsmcp.ai/mcp with OAuth and no key in the plugin form. The dedicated Trends MCP for ChatGPT page, last updated 2026-08-19, still publishes https://api.trendsmcp.ai/mcp with a Bearer key under Settings, Connectors. This run recorded both recipes and did not click Add to ChatGPT. Match the recipe to the UI that is actually open, then prove the connect with a context call.
Items that receive a top_comments array, not replies per item. Omit comments on YouTube and the first 2 of 10 videos carried 3 replies each on 2026-11-13. REST comments 6 filled the first 5 videos and left rank 6 empty. OpenAPI GetContextRequest still omits the field, and REST accepted it anyway.
On the live MCP list, yes as the documented path. The 2026-11-13 session named get_context and did not name get_top_posts. hashtag=true on TikTok keyword fitness returned count 0, items [], and requests_charged 1. REST Instagram keyword booktok returned envelope statusCode 502 with the same empty billed shape, while REST mode get_top_posts still returned a posts array for TikTok booktok the same morning.
Yes on 2026-11-13. MCP source YouTube,TikTok,Reddit,News,GitHub,X with limit 1 returned HTTP 200 and requests_charged 3. REST source all with limit 1 printed ten source objects and requests_charged 6. The older get_context page still says a sixth name returns too_many_sources, and that 400 did not fire on this pull.