list_intent_topics next channel
Status: Modified (v2 rewrite;
query→namesubstring filter;is_techremoved;categoryadded;offsetadded) This tool is on the privatenextMCP channel for allow-listed orgs. When promoted, this file moves tomcp-tools/list-intent-topics.md.
List intent topics from the official HG Insights catalog (20,000+ topics). Returns each topic's hex ID, name, and category. Use the returned id values in company_intent (topic_ids param) or search_companies (intent.topics.ids filter).
Integration required: hginsights_v2__data_api
Cache schema version: 2 (differs from base — stale cached payloads from the public channel will not be served)
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Optional | — | Filter intent topics by name (case-insensitive literal substring match), e.g. 'security' or 'cloud'. This is a literal substring filter over catalog topic names — pass a single short keyword, NOT a natural-language phrase. A multi-word phrase that is not a literal substring of a topic name (e.g. 'cloud security infrastructure management') returns zero results. Omit to list the full catalog. |
limit | integer | Optional | — | Maximum number of topics to return (>= 1). Omit for the upstream default page size. |
offset | integer | Optional | — | Number of topics to skip for pagination (>= 0). Omit to start from the first record. |
Response Format
{
"count": 21137,
"data": [
{
"id": "A1B2C3D4E5F6…",
"name": "Cloud Security",
"category": "technology"
}
]
}
Output changes from base tool
Before:
{
"count": 120,
"totalAvailable": 4000,
"topics": [
{ "topic_id": "…", "topic_name": "Cloud Security", "is_tech_related": true }
]
}
After:
{
"count": 21137,
"data": [
{ "id": "…", "name": "Cloud Security", "category": "technology" }
]
}
- Read topics from
datainstead oftopics. - Use
idandnameinstead oftopic_idandtopic_name. is_tech_relatedandtotalAvailableare gone.countis the total number of matching topics (may exceed the returned rows); each row now carries acategory.
Example Usage
{
"tool": "list_intent_topics",
"parameters": {
"name": "kubernetes",
"limit": 10
}
}
Then pass the returned id to company_intent:
{
"tool": "company_intent",
"parameters": {
"company_domain": "cisco.com",
"topic_ids": ["A1B2C3D4E5F6…"]
}
}
Notes
- Results without a
namefilter are returned in reverse-alphabetical order, not by relevance. limitmust be >= 1 —limit=0is rejected client-side.- On
next,intent_categoryis removed — usesearch_companieswithintent.topics.idsandcompany_intentinstead.
Related Tools
company_intent— get intent signals for a company; acceptstopic_idsfrom here.search_companies— find companies showing intent for a topic viaintent.topics.ids.
Changelog
2026-07-30 — Breaking: inputs and response shape changed
Availability: live now on the private
nextMCP channel for allow-listed orgs. The public/api/mcpcontract is unchanged until the promotion PR lands.
Why this changed: list_intent_topics now mirrors the official HG Insights intent-topic catalog one-to-one, wrapping GET /v2/catalog/intent_topics and returning the catalog's own { count, data } shape. The old implementation looped POST /v2/intent/search client-side with hard caps and reshaped the result into a bespoke envelope.
Breaking changes
| Before | After | |
|---|---|---|
| Name filter | query (free-text, fuzzy, relevance-ranked) | name — case-insensitive literal substring match |
| Tech filter | is_tech (boolean) | removed — the catalog no longer classifies topics as tech/non-tech |
| Pagination | limit only | limit (>= 1) + offset (>= 0) |
Rename query → name in every call. Remove any is_tech argument. name is a literal substring filter, not a semantic/ranked search — pass a short keyword, never a natural-language phrase. Use offset with limit to page.
Output: read topics from data instead of topics; use id and name instead of topic_id and topic_name; is_tech_related and totalAvailable are gone; count is the total number of matching topics and each row now carries a category.