---
name: gentic-research
description: "Give your AI agent live access to Reddit, Google Trends, and web search. Mine sentiment, compare keyword interest, find press and competitors, and replay every run — all through the Model Context Protocol."
license: MIT
metadata:
  author: gentic
  version: "1.0.0"
---

# Gentic Research

Give your AI agent live access to consumer conversations, search trends, and the open web. Mine Reddit for sentiment, pull Google Trends interest curves, run web searches, and store every run for later — all through the Model Context Protocol.

## When to apply

- User wants to investigate consumer sentiment, problems, or discussions around a topic, product, or category.
- User asks to compare keyword interest over time, across regions, or spot emerging trends.
- User wants to search the open web for current news, competitors, reviews, sentiment, or press coverage.
- User wants to replay or retrieve a previous research run by run_id, or list recent runs.
- User is building a research brief and needs qualitative (Reddit), quantitative (Google Trends), and live web signals in one pass.

## Tools

| Tool | Description | Cost |
|------|-------------|------|
| `get_research_results` | Retrieve stored research results across sources (Reddit, web). Pass a run_id to get full results from a specific search, or omit it to list recent research runs with metadata. | Free |
| `google_trends` | Get Google Trends data for keywords — interest over time, related queries, and interest by region. Use this to identify trending topics, compare keyword popularity, and spot emerging market opportunities. Returns trend data and stores results for later retrieval. | 10¢ / call |
| `save_research_note` | Save research findings — either scoped to a specific idea (pass `idea_slug`) or as org-level industry knowledge that any specialist might pull from later (omit `idea_slug`). Use the org-level form when the synthesis is general (e.g. "meta ad best practices for skincare brands") and the user expects future agents working on different brands to find it. Writes the markdown body to S3 (canonical, editable artifact) AND inserts a row in `startup_results` (idea-scoped) or `org_research_notes` (org-level). Idea-scoped notes show up in `get_startup_results` (filter by tool_name='startup_save_research_note') and count toward `list_ideas.result_count`. Append-only — to revise, save a new note. **Auto-ingests into the wiki** in the background (~60s) — the response carries `wiki_view_url` so you can tell the user where to read the rendered wiki once ingest completes. Idea-scoped saves ingest under the idea's wiki; org-level saves ingest under the org wiki. Save itself is free; auto-ingest bills $0.25 separately as `wiki_ingest_auto`. | Free |
| `search_reddit` | Search Reddit for consumer discussions, problems, and sentiment around a product category or topic. Returns structured posts with title, body, score, subreddit, and URL. Results are stored for later retrieval. Billed per result. | 5¢ / result (min 5¢) |
| `search_web` | Search the web (Google) via Serper.dev for current information — news, competitors, reviews, sentiment, press coverage. Returns ranked organic results with title, URL, snippet, and date, plus an answer box / knowledge graph summary when available. Results are stored for later retrieval. Billed at a flat rate per call. | 5¢ / call |

## Workflow

### 1. Pick the right tool for the question

Qualitative 'what are people saying / complaining about' questions → `search_reddit`. Quantitative 'how popular is X / is X growing' questions → `google_trends`. Live web lookups — news, competitors, reviews, press coverage — → `search_web`. Retrieval or replay → `get_research_results`. When multiple angles are useful, run the calls in parallel.

### 2. Search the open web with `search_web` (5¢/call)

`search_web` runs a Google search via Serper.dev and returns ranked organic results (title, URL, snippet, date) plus the answer box / knowledge graph summary when available. Use it for current news, competitor lookups, review sentiment, or press coverage — anything that needs live open-web signal. Results are stored and can be replayed later with `get_research_results`.

### 3. Write descriptive Reddit queries and tune `limit` carefully

`search_reddit` rewards specificity. 'hair loss treatment side effects' beats 'hair loss'. If the user names a community, pass up to 5 subreddits via `subreddits`; otherwise search globally. Use `sort=top` + `timeFilter=month` for signal, `sort=new` for recency. **Every Reddit result costs 5¢** — default `limit=25` is a good starting point (≈$1.25), bump to 50 for broad scans (≈$2.50), drop to 10 for targeted intelligence. Mention the cost to the user when running >25 results.

### 4. Compare keywords on Google Trends

`google_trends` works with a single keyword, but it shines with 2–5 keywords compared side by side — that's when you get relative interest curves instead of a flat absolute number. Default `timeRange=12m`, widen to `5y` for long-term shifts. Pass `includeRegions=true` when the user cares about geography.

### 5. Save the run_id

Every `search_reddit`, `google_trends`, and `search_web` call returns a `run_id`. Capture it. Later the agent (or a human) can call `get_research_results` with that id to retrieve the exact same data for free — useful for citations, briefs, or feeding another MCP server.

### 6. Save findings as a research note with `save_research_note` (free)

**Critical disambiguation.** When the user says "save this research" / "save these findings" / "save that note" after running `search_web`, `search_reddit`, or `google_trends`, they mean **synthesize the findings into a markdown note and call `save_research_note`** — they do NOT mean "the run_ids are already stored." Auto-stored run_ids are raw search rows; a research note is your synthesis (themes, strategy, recommendations, keyword tiers, action items) the user will read again.

Pass `idea_slug` when there's an active idea in context — the note attaches to that idea, surfaces in `get_startup_results`, and auto-ingests under the idea's wiki. Omit `idea_slug` for general industry knowledge that future specialists working on different brands should pull from later (e.g. "meta ad best practices for skincare brands") — it lands at org level (`orgs/{org}/research-notes/...`) and auto-ingests under the org wiki.

Consider calling `save_research_note` whenever the synthesis represents a meaningful next-step the user will revisit — and never substitute "your run_ids are saved" for an actual note. Save itself is free; auto-ingest into the wiki bills $0.25 separately as `wiki_ingest_auto`. The response carries `wiki_view_url` — share it so the user can read the rendered wiki once ingest completes.

### 7. Present results clearly

Don't dump raw JSON. For Reddit: group posts by theme, render a ranked table (title · subreddit · score · link), and quote verbatim user language — that's the whole point of Reddit research. For Google Trends: lead with the overall pattern (flat / rising / seasonal / comparative winner), then call out **rising related queries** as leading indicators. Always end with one concrete next step the user can take (another search, a chained MCP call, a brief).

### 8. Chain with other Gentic servers

The agentic win is composition: turn Reddit pain points into creative briefs via Gentic Creative, turn Google Trends winners into campaign keywords for Gentic Meta, or pipe either into Gentic Data for structured storage. The MCP surface is the same across all of them.

## Notes

- All runs are organization-scoped and persisted in MotherDuck — users only see their own runs.
- Billing: `search_reddit` is 5¢ per result (25 results ≈ $1.25), `search_web` is a flat 5¢ per call. Mention Reddit cost when running large pulls. `google_trends` and `get_research_results` are free.
- Reddit is routed through ScrapingBee so it works from cloud IPs. Subreddits that return 403/404 are silently skipped instead of failing the whole call.
- Rate limit: 100 requests per minute per API key. Contact support@gentic.co for higher limits.

## Tool details

- `get_research_results` — Retrieve stored research results across sources (Reddit, web). Pass a run_id to get full results from a specific search, or omit it to list recent research runs with metadata.
  - `run_id` (string) — Specific research run ID to retrieve. Omit to list recent runs.
  - `source` (string, enum: `reddit` | `web`) — Filter listing to a single source. Omit to list across all sources.
  - `limit` (number) — Max results to return. Defaults to 25.
- `google_trends` — Get Google Trends data for keywords — interest over time, related queries, and interest by region. Use this to identify trending topics, compare keyword popularity, and spot emerging market opportunities. Returns trend data and stores results for later retrieval.
  - `keywords` (array of string, required) — Keywords to analyze (1-5). Multiple keywords are compared against each other, e.g. ['minoxidil', 'finasteride', 'hair transplant'].
  - `geo` (string) — Country code to scope results, e.g. 'US', 'GB', 'CA'. Omit for worldwide.
  - `timeRange` (string, enum: `3m` | `6m` | `12m` | `5y`) — Time range for trend data. Defaults to '12m' (past 12 months).
  - `includeRelatedQueries` (boolean) — Include top and rising related queries. Defaults to true.
  - `includeRegions` (boolean) — Include interest by region/country. Defaults to false.
  - `idea_slug` (string) — Optional idea slug. When provided, the response includes a `next_step_hint` nudging you to synthesize these findings into a research note via `startup_save_research_note` so the synthesis is queryable + auto-ingests into the wiki.
- `save_research_note` — Save research findings — either scoped to a specific idea (pass `idea_slug`) or as org-level industry knowledge that any specialist might pull from later (omit `idea_slug`). Use the org-level form when the synthesis is general (e.g. "meta ad best practices for skincare brands") and the user expects future agents working on different brands to find it. Writes the markdown body to S3 (canonical, editable artifact) AND inserts a row in `startup_results` (idea-scoped) or `org_research_notes` (org-level). Idea-scoped notes show up in `get_startup_results` (filter by tool_name='startup_save_research_note') and count toward `list_ideas.result_count`. Append-only — to revise, save a new note. **Auto-ingests into the wiki** in the background (~60s) — the response carries `wiki_view_url` so you can tell the user where to read the rendered wiki once ingest completes. Idea-scoped saves ingest under the idea's wiki; org-level saves ingest under the org wiki. Save itself is free; auto-ingest bills $0.25 separately as `wiki_ingest_auto`.
  - `idea_slug` (string) — Idea this note is scoped to. Omit to save as org-level industry knowledge any future specialist can pull from (e.g. cross-brand best practices). When provided, the note is attached to that idea and discoverable via `get_startup_results` filtered to it.
  - `title` (string, required) — Short title for the note — used as the S3 filename slug and the row's title. Pick something specific (e.g. 'Rhody Wild supplier deep-dive') so notes are easy to find later.
  - `markdown` (string, required) — Note body as markdown. Stored verbatim — feel free to use headings, lists, blockquotes for lift-able quotes, etc.
  - `sources` (array of string) — Optional list of source URLs cited in the note (max 50, each ≤2000 chars). Echoed back in get_startup_results.
- `search_reddit` — Search Reddit for consumer discussions, problems, and sentiment around a product category or topic. Returns structured posts with title, body, score, subreddit, and URL. Results are stored for later retrieval. Billed per result.
  - `query` (string, required) — Search query — be descriptive for better results, e.g. 'hair loss treatment side effects' rather than 'hair loss'
  - `subreddits` (array of string) — Filter to specific subreddits (max 5), e.g. ['tressless', 'HaircareScience']. Omit for global search.
  - `sort` (string, enum: `relevance` | `hot` | `new` | `top` | `comments`) — Sort order. Defaults to 'relevance'.
  - `timeFilter` (string, enum: `hour` | `day` | `week` | `month` | `year` | `all`) — Time filter for results. Defaults to 'all'.
  - `limit` (number) — Number of results to return (1-100). Defaults to 25.
  - `idea_slug` (string) — Optional idea slug. When provided, the response includes a `next_step_hint` nudging you to synthesize these findings into a research note via `startup_save_research_note` so the synthesis is queryable + auto-ingests into the wiki.
- `search_web` — Search the web (Google) via Serper.dev for current information — news, competitors, reviews, sentiment, press coverage. Returns ranked organic results with title, URL, snippet, and date, plus an answer box / knowledge graph summary when available. Results are stored for later retrieval. Billed at a flat rate per call.
  - `query` (string, required) — Search query — be descriptive, e.g. 'iRESTORE laser cap reviews 2026' rather than 'iRESTORE'
  - `limit` (number) — Number of organic results to return (1-20). Defaults to 10.
  - `country` (string) — Country code for geo-targeting, e.g. 'us', 'gb', 'ca'. Defaults to 'us'.
  - `language` (string) — Language code, e.g. 'en', 'es'. Defaults to 'en'.
  - `timeRange` (string, enum: `day` | `week` | `month` | `year`) — Restrict to results published within this window. Omit for no time filter.
  - `idea_slug` (string) — Optional idea slug. When provided, the response includes a `next_step_hint` nudging you to synthesize these findings into a research note via `startup_save_research_note` so the synthesis is queryable + auto-ingests into the wiki.

---

_This SKILL.md is generated from the live Gentic MCP manifest. Tool names, descriptions, and pricing are always current. Connect Gentic Research at https://gentic.co/research._
