Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Trending topics, trajectories, audience insights and recommendations from TrendsAGI. Read-only.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://api.trendsagi.com/mcpRun this in your terminal
claude mcp add --transport http trendsagi https://api.trendsagi.com/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"trendsagi": {
"url": "https://api.trendsagi.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"trendsagi": {
"type": "http",
"url": "https://api.trendsagi.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://api.trendsagi.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account TrendsAGI, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 474 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.1.1) reached the registry 4 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, topo^alpin
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Real-time trend intelligence for your code and your AI agents: what is trending on social platforms right now, with measured volume, velocity and growth, AI insights on why each topic is moving, evidence-backed recommendations, crisis alerts and watchlists. Paid media and growth teams use it to target what is rising, time spend to the trend curve and brief creative on measured demand.
| Python client | TrendsAGIClient, a typed REST client |
| Command line | trendsagi, one command per API action, tables in a terminal and JSON in a pipe |
| Agent tools | TrendsAGITools for OpenAI, Claude, LangChain and WebMCP |
| Hosted MCP server | https://api.trendsagi.com/mcp for Claude, ChatGPT, Grok, Cursor and Gemini CLI |
| Cursor Agent SDK | A ready agent project in agent-sdk/: one connection file gives an Agent SDK agent every hosted tool |
| Browser agents (WebMCP) | Signed in to app.trendsagi.com, your browser's agent gets the same tools (webmcp/) |
| Local MCP server | trendsagi mcp, the same tools over stdio |
| Plugins | Claude, Grok, Cursor and Snowflake Cortex Code plugin in plugins/trendsagi, Gemini CLI extension at the repo root |
| Ad execution | Executors that preview, then apply, Google, Meta, TikTok and LinkedIn ad changes from your own infrastructure |
pip install trendsagi # client, agent tools and the trendsagi command
pip install "trendsagi[mcp]" # adds the local MCP server (Python 3.10+) pipx install trendsagi # just the command line, in its own environment npx trendsagi --help # or the same command line from npm (Node.js 18+)
Create an API key under Profile > API Keys at app.trendsagi.com and export it:
export TRENDSAGI_API_KEY="your_api_key"
import os
from trendsagi import TrendsAGIClient
client = TrendsAGIClient(api_key=os.environ["TRENDSAGI_API_KEY"])
trends = client.get_trends(category="Technology", sort_by="velocity", limit=5) for trend in trends.trends: print(trend.id, trend.name, trend.volume)
insight = client.get_ai_insights(trends.trends[0].id) if insight: print(insight.sentiment_summary, insight.key_themes)
trendsagi login # paste an API key; saved to ~/.config/trendsagi/config.json
trendsagi trends list --category Technology --sort velocity --limit 10 trendsagi insights get 123 # audience, sentiment and marketing angles trendsagi sql "SELECT category, count(*) FROM trends GROUP BY 1 ORDER BY 2 DESC" trendsagi recommendations list --priority high trendsagi watchlist add "oat milk" --threshold 50000 --email trendsagi api /api/integrations/delivery/health -q lookback_hours=24 # any endpoint
| Commands | What they do |
|---|---|
login, logout, whoami | Save, forget and check the API key |
trends list get analytics categories autocomplete | Trending topics with measured volume, velocity and growth |
insights get generate [--wait] status search | AI insights per trend |
recommendations list action feedback | Evidence-backed recommendations and their workflow status |
crisis list action | Crisis events: acknowledge, archive, reopen |
watchlist list add remove | Tracked keywords and categories, with alerts |
sql, schema | One read-only PostgreSQL SELECT over your data, and the tables it can read |
tools list call, find | The agent tools, and whether TrendsAGI can do a task |
webhooks, exports | Create, change, test and run webhooks and data exports |
ads providers resources preview apply report report-export | Connected ad platforms: trend-based changes and reports |
integrations availability status health value | Integration status and delivery health |
stream | Live trend updates as JSON lines |
usage, status, api | API usage, service status, and any endpoint without its own command |
Every command has --help. In a terminal, lists print as tables; piped or with --json they print JSON, so trendsagi trends list | jq works. The key comes from --api-key, then TRENDSAGI_API_KEY, then the saved login. Commands that delete something or change live ads ask first; pass --yes in scripts. Exit codes: 0 success, 1 API error, 2 invalid usage, 4 missing or rejected key.
The commands are declared once in src/trendsagi/cli_spec.json; a dependency-free Node.js build of the same CLI lives in npm/ and is published as trendsagi on npm. Guide: trendsagi.com/api-docs/integrations/cli.
The client calls any endpoint too: client.request("GET", "/api/integrations/delivery/health", params={"lookback_hours": 24}).
Add the hosted MCP server, sign in to TrendsAGI and approve the connection:
| Assistant | Setup |
|---|---|
| Claude | Open TrendsAGI in the Claude directory, or Settings > Connectors > Add custom connector with the URL below |
| Claude Code | claude mcp add --transport http trendsagi https://api.trendsagi.com/mcp, or /plugin marketplace add TrendsAGI/TrendsAGI then /plugin install trendsagi@trendsagi |
| ChatGPT | Add a custom connector with the URL below |
| Grok | Install the TrendsAGI plugin, or add the URL as a remote MCP server |
| Cursor | { "mcpServers": { "trendsagi": { "url": "https://api.trendsagi.com/mcp" } } } |
| Snowflake Cortex Code | cortex mcp add trendsagi https://api.trendsagi.com/mcp --type http, or cortex plugin install github:TrendsAGI/TrendsAGI/plugins/trendsagi |
| Gemini CLI | gemini extensions install https://github.com/TrendsAGI/TrendsAGI |
https://api.trendsagi.com/mcp
Then ask *"What is accelerating fastest in Technology this week, and who should I target with it?"* The hosted tools are read-only, and each call counts as one API request. Each connection gets its own key, listed as "AI connector: " under Profile > API Keys; delete it to disconnect. Clients without OAuth can send an API key as Authorization: Bearer . Guide: trendsagi.com/mcp.
Agent SDK defines agents as a folder of Markdown and TypeScript. Add TrendsAGI with one file and the agent gets the hosted MCP server's read-only tools by name:
// bot/mcp-connections/trendsagi.ts
import { defineConnection } from "@grok/agent-sdk/connections";
export default defineConnection({ url: "https://api.trendsagi.com/mcp", headers: { authorization: "Bearer ${TRENDSAGI_API_KEY}" }, // filled by Agent SDK, not JavaScript advertiseTools: true, effects: "read", });
agent-sdk run --dir . --message "What is rising fastest in Technology this week?"
agent-sdk/ is a complete project to copy: instructions, a trend-brief skill, hosting settings (egress to api.trendsagi.com, a TRENDSAGI_API_KEY secret) and smoke evals. Guide: trendsagi.com/api-docs/integrations/agent-sdk.
WebMCP lets a web page hand tools to the AI agent built into the browser (Chrome and Edge in origin trials, ChatGPT desktop, Brave Leo). While you are signed in to app.trendsagi.com, the app registers TrendsAGI's read-only tools with document.modelContext, so the agent uses them with your session: no connector or API key, and calls count as app use rather than API usage. trendsagi.com offers public tools (docs search, trend reports, plans and the free calculators) to every visitor.
To put TrendsAGI tools on your own site, register them in your page and run them on your server, which keeps the API key:
tools = TrendsAGITools(TrendsAGIClient(api_key=os.environ["TRENDSAGI_API_KEY"]))
tools.webmcp() # serve to your page: name, title, description, inputSchema, annotations tools.call("list_trends", args) # run the call your page forwards
webmcp/ has the browser module and a FastAPI server. Guide: trendsagi.com/webmcp.
One registry, every format. The tools are read-only by default; add_to_watchlist and update_recommendation appear only with allow_writes=True (or trendsagi mcp --allow-writes).
| Tool | What the agent gets |
|---|---|
list_trends | Trending topics by category or phrase, sorted by velocity, growth or volume |
list_trend_categories | Valid category names |
search_trend_insights | Trends and insights matching a theme |
get_trend / get_trend_analytics | One trend and its volume time series |
get_trend_ai_insights | Summary, key themes, sentiment, audience, marketing angles |
list_recommendations | Evidence-backed actions with a decision brief |
list_crisis_events | Reputation and crisis events for monitored topics |
list_watchlist / get_api_usage | Watched topics and remaining daily quota |
read_data_schema / execute_sql | Read-only SQL for questions that need filters, joins or aggregation |
find_capability | Whether TrendsAGI can do a task, and which tool or app page does it |
import json, os
from openai import OpenAI from trendsagi import TrendsAGIClient, TrendsAGITools
tools = TrendsAGITools(TrendsAGIClient(api_key=os.environ["TRENDSAGI_API_KEY"])) openai = OpenAI() messages = [{"role": "user", "content": "Find a fast-rising Technology trend and suggest a campaign angle."}]
while True: reply = openai.chat.completions.create(model="gpt-5-mini", messages=messages, tools=tools.openai()) message = reply.choices[0].message messages.append(message) if not message.tool_calls: print(message.content) break for call in message.tool_calls: result = tools.call(call.function.name, call.function.arguments) messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps(result)})
tools.anthropic() # Anthropic Messages API tools=
tools.openai_responses() # OpenAI Responses API tools= tools.langchain() # LangChain StructuredTools (pip install "trendsagi[langchain]") tools.webmcp() # WebMCP descriptors for document.modelContext.registerTool
With Claude, pass tools=tools.anthropic() and answer each tool_use block with {"type": "tool_result", "tool_use_id": block.id, "content": json.dumps(tools.call(block.name, block.input))}. tools.call never raises: errors come back as {"error": ...} so the model can read a rate limit or a bad argument and recover.
pip install "trendsagi[mcp]"
claude mcp add trendsagi --env TRENDSAGI_API_KEY=your_api_key -- trendsagi mcp
Or in any MCP client's JSON config (Claude Desktop, Cursor, VS Code):
{ "mcpServers": { "trendsagi": { "command": "trendsagi-mcp", "env": { "TRENDSAGI_API_KEY": "your_api_key" } } } }
For answers no single e
Only the beginning is shown; read the rest in the repo