Google Search Console integration for Model Context Protocol (MCP)
Mentio is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Social listening for agents: brand mentions across 16 platforms, scored for relevance and intent
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http mentio-mcp https://mcp.mentio.dev/mcp
# 2 — ask your agent for something these tools do
# list_segments, create_segment, update_segment and 54 more
Mentio costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http mentio-mcp https://mcp.mentio.dev/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
57 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Your saved audience segments (named filters such as "Influencers" or "Switch prospects"), each with the number of people in it right now, plus presets you can save with create_segment. Pass a segment id to list_people to see its members. With groupId, the segments saved in that keyword group, counted over its own people.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Save an audience segment: a name plus a filter (platforms, tags, follower range, minimum mentions or negatives, intents seen, keyword kinds mentioned or never mentioned, first seen within N days, linkHosts they have shared a link to). Evaluated on every read, never materialized. With groupId the segment belongs to that keyword group and is only listed there.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| description | string | no | — |
| filter | object | no | — |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Rename, describe or refilter a saved segment. filter replaces the whole filter. A segment saved in a keyword group is found with that groupId.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | — |
| description | string | no | — |
| filter | object | no | Replaces the whole filter. |
| id | string | yes | Segment id (seg_...) |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Delete a saved segment. Nobody in it is affected. A segment saved in a keyword group is found with that groupId.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Segment id (seg_...), from list_segments |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Your saved views (named filters over mentions such as "Negative about us" or "Needs a reply"). Pass a view id as viewId to search_mentions to read exactly what it selects.
No parameter schema on file.
Save a view: a name plus a filter in the vocabulary of search_mentions (keywords or keyword kinds, platforms, status, relevant, sentiments, intents, languages, author tags, follower range, replies, link hosts, automated, free text), lists any-of, not lists none-of, every condition ANDed, plus anyOf for OR: groups of those conditions, at least one of which must hold. Nothing is materialized: the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Unique per workspace, case-insensitive. |
| description | string | no | What the view is for, shown under its name. |
| filter | object | no | The filter; empty selects every mention. |
Rename, describe or refilter a saved view. filter replaces the whole filter.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | — |
| description | string | no | — |
| filter | object | no | Replaces the whole filter. |
| id | string | yes | View id (vw_...) |
Delete a saved view. No mention is affected.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | View id (vw_...) |
The keyword groups of the workspace, the default first: how keywords are grouped (a customer, a campaign, a product). A term may be tracked once per group; every keyword belongs to one; get_usage_breakdown by=group says what each cost. externalId finds the group carrying your own id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| externalId | string | no | Only the group carrying exactly this externalId. |
One keyword group by id, with how many keywords it holds.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Group id (grp_...) |
Create a keyword group: a name (unique per workspace), optionally your own id for it (externalId, unique too, a customer id say), and optionally its own company description (context: who the business is, what it sells, for whom), which the classifier reads in place of the whole workspace profile (guidelines and competitors included) for this group's keywords, so a rule for the group goes in that t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | The group's name: a customer, a campaign, a product. Unique per workspace. |
| externalId | no | Your own id for the group (a customer id, say). Unique per workspace; find the group by it with GET /v1/groups?externalId=. | |
| context | no | What the classifier reads as "the company" for this group's keywords, in place of the WHOLE workspace profile, its relevance guidelines and competitor list included (at most 4000 characters): who the |
Rename a keyword group, change your id for it (externalId, null clears) or its company description (context, null clears: the workspace profile applies again; new mentions are judged with it at once). The default group can be renamed but takes no description: it is the workspace itself and reads the company profile (update_company).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | The group's name: a customer, a campaign, a product. Unique per workspace. |
| externalId | no | Replaces your id for the group; null clears it. | |
| context | no | Replaces the group's company description; null clears it (the workspace profile applies again). New mentions are judged with it at once; old ones are not rescored. Not on the default group (400 defaul | |
| id | string | yes | Group id (grp_...) |
Delete a keyword group and EVERY keyword in it (each as delete_keyword does: its mentions go with it). The default group cannot be deleted. Says how many keywords went.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Group id (grp_...) |
Search tracked mentions for your organization. Filter by keyword, platform, status (open, ignored, done), relevant, minimum relevance, minimum confidence (0 to 1), sentiment, intent, free text (q, the post text or the author name), time range (ISO 8601), one person (personId from list_people), assignee (assigneeId), author reach (minFollowers, maxFollowers), engagement the platform reported (minLi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| keywordId | string | no | Only matches of this keyword. |
| platform | string | no | Only posts from this platform. |
| status | string | no | Only mentions in this status. Omit for every status. |
| relevant | boolean | no | true: only mentions the classifier scored relevant; false: only the rest (unclassified included). |
| sentiment | string | no | Only this sentiment. |
| intent | string | no | Only mentions carrying this intent or topic tag (buy_intent, question, complaint, praise, comparison, churn_intent, bug_report, pricing, hiring, event, promotional, testimonial, industry_insight, laun |
| automated | boolean | no | true: only mentions that read as machine-made (a bot account, a scheduled or templated post, AI-written text); false: only the rest, mentions judged before this existed included. Omitted: everything. |
| personId | string | no | Only this person (an id from /v1/people), merged accounts included. Implies includeMuted. |
| includeMuted | boolean | no | true: include mentions by people you muted, hidden by default: muted for the workspace, or for the mention's own keyword group. |
| includeDuplicates | boolean | no | true: list cross-posts (a mention whose duplicateOf is set) as mentions of their own. By default each is listed only in its original's duplicates. |
| assigneeId | string | no | Only mentions assigned to this workspace member (user id). |
| snoozed | boolean | no | true: only mentions currently snoozed. Otherwise snoozed mentions stay out until they wake. |
| excludeAuthors | array | no | Hide these authors: display names, handles or profile URLs. Repeatable, or one comma-separated value. |
| minRelevance | integer | no | Only mentions scored at least this; unclassified ones are excluded. |
| minConfidence | number | no | Only mentions whose classifier confidence is at least this, 0 to 1. Mentions without a confidence are excluded. |
| minFollowers | integer | no | Only authors with at least this many followers. Unknown reach never passes. |
| maxFollowers | integer | no | Only authors with at most this many followers. Unknown reach never passes. |
| kind | string | no | Only posts (post), only comments (comment) or only GitHub repository events (repository). Omitted: all. |
| isReply | boolean | no | true: only replies and comments (posts answering another post); false: only top-level posts. Omitted: both. |
| alertId | string | no | Apply an alert rule's filter (an id from GET /v1/alerts) on top of the other filters: the same mentions the rule would send, for a feed-shaped export or a preview. Unknown ids are a 404. |
Fetch a single mention by id, including its classification (relevance, sentiment, intents, confidence, uncertain, note).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Mention id (mention match id, mm_...) |
The comments under a mention's post, newest first: the whole thread, whether or not each comment names the keyword, each with its author, text, time, engagement, a light sentiment and intent read, and mentionId when the comment is itself one of your mentions. Filled from 30 minutes after the post and read again while its platform's conversations last (a day on Reddit, Hacker News and Bluesky, a we
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | nextCursor from the previous page. |
| limit | integer | no | Page size, 1 to 100. |
| id | string | yes | Mention id (mm_...) |
The one write on a mention: status "ignored" (not interesting) or "done" (handled), "open" to put it back; assign it to a workspace member (assigneeId, null to unassign); snooze it out of the feed until an ISO 8601 instant (snoozedUntil, null to wake it); leave an internal note (note, null to clear); or correct the classifier with relevant (true or false: your verdict, which sets relevance to 10
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | string | no | ignored or done to handle it; open to put it back. |
| assigneeId | no | A workspace member (user id), or null to unassign. | |
| snoozedUntil | no | ISO 8601 (or epoch ms) until which the mention leaves the feed; null wakes it. | |
| note | no | Internal note; null or empty clears it. | |
| relevant | boolean/null | no | Your verdict on relevance, correcting the classifier: true sets relevance to 100 and puts a filtered mention back in the relevant feed, false sets it to 0 and takes it out; null withdraws the verdict |
| sentiment | no | Your corrected sentiment; null withdraws the correction and restores the classifier's. | |
| id | string | yes | Mention id (mm_...) |
Start tracking a keyword. kind is "brand" (default), "competitor" or "topic". platforms optionally restricts it to some platforms (default: every platform). New mentions containing the term will be matched, classified and delivered. A multi-word term also matches a post holding its words close together (any order, plurals and spellings like non-profit/nonprofit); such a post is kept and billed onl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| term | string | yes | The word or phrase to track, case-insensitive. A multi-word term matches as the phrase or as its words close together (see matching.exactPhrase); wrap it in double quotes for the exact phrase only. |
| kind | string | no | brand: your own names. competitor: theirs. topic: the space. Drives share of voice and segments. |
| platforms | no | Platforms to search the term on; omit or null for every platform. [] searches it nowhere: a keyword that only collects reviews or reads feeds, which then needs reviewSources or feeds. | |
| context | no | A sentence the classifier reads for this keyword only, on top of the company profile or the group's own description (at most 300 characters): what the term means here, what to ignore. "Arc is our brow | |
| matching | object | no | Omitted fields are untouched; an empty list clears one. |
| cap | no | A mention cap per day, week or month (per, default month); omit or null for none. | |
| comments | object | no | Comments under this keyword's mentions; omitted fields are untouched (on create: off, 20 per post). |
| groupId | string | no | The group to track it in (grp_...); omit for the workspace's default group. A term may be tracked once per group. |
| reviewSources | array | no | Review pages this keyword collects, at most 10: App Store and Google Play apps, Trustpilot pages, Google Maps places. Every new review of one is a mention of the keyword, whatever its text says. Polle |
| feeds | array | no | RSS or Atom feeds this keyword reads, at most 20, each { url }: a feed's URL, or a page's (a forum, a community, a blog), in which case the feed the page advertises is used, else a usual address such |
Change a keyword: rename it (term: the new term is tracked from now on, with no look-back; the keyword keeps its id, its settings and what the old term found), the platforms it is tracked on (platforms: a list, or null for every platform), mute or unmute it, reclassify it (kind), set its classifier context (null clears), or its matching rules (matching: each field optional, an empty list clears on
| Parameter | Type | Required | Notes |
|---|---|---|---|
| term | string | no | Renames the keyword: the new term is tracked from now on, with no look-back, and the keyword keeps its id, its settings and the mentions the old term found. Wrap it in double quotes for the exact phra |
| kind | string | no | Reclassify it as brand, competitor or topic. |
| muted | boolean | no | A muted keyword stops polling and matching; its mentions stay. |
| platforms | no | Replaces the platform list; null means every platform, [] none (reviews only, when the keyword has reviewSources). | |
| context | no | A sentence the classifier reads for this keyword only, on top of the company profile or the group's own description (at most 300 characters): what the term means here, what to ignore. "Arc is our brow | |
| matching | object | no | Omitted fields are untouched; an empty list clears one. |
| cap | no | Replaces the mention cap and its period (per, default month); null removes it. A cap above the current period's count resumes a capped keyword at once, one at or under it pauses it. | |
| comments | object | no | Comments under this keyword's mentions; omitted fields are untouched (on create: off, 20 per post). |
| groupId | string | no | Moves the keyword to this group (grp_...). A 409 when that group already tracks the term. |
| reviewSources | array | no | Replaces the list of apps whose reviews this keyword collects; [] disconnects them all (their reviews stay). An app or country added here gets the free 30-day look-back; one already listed keeps its p |
| feeds | array | no | Replaces the feeds this keyword reads; [] disconnects them all (their mentions stay). A feed added here is checked now and brings its newest 10 matching items of the last 30 days; one already listed k |
| id | string | yes | Keyword id |
Create a new keyword with an existing one's settings: give the new term (or the same term with another groupId, since a term is tracked once per group). It copies the kind, platforms, context, every matching rule, the monthly mention cap and the comments setting; review apps and feeds only when listed in include (reviewSources, feeds), since two keywords on one app collect and bill every review tw
| Parameter | Type | Required | Notes |
|---|---|---|---|
| term | string | yes | The term of the copy. The same term as the original only in another group (groupId): a term is tracked once per group. Wrap it in double quotes for the exact phrase only. |
| groupId | string | no | The group of the copy (grp_...); omit for the original's group. |
| include | array | no | Also copy these: reviewSources (its review apps) and feeds (its RSS or Atom feeds). Off by default, since two keywords on one app or feed collect, and bill, every review or item twice. |
| id | string | yes | The keyword to copy (kw_...) |
Headline counts for a window: matched and relevant mentions, distinct posts and people, sentiment split, buying intent and questions, estimated reach (followers of the people whose count is known), and triage (open, ignored, done, waiting over 24h, handled rate, median time to done). Window: range 7d|30d|90d|365d ending today, or from/to as YYYY-MM-DD; keywordIds and platforms are lists; timezone
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | Preset window ending today. Ignored when from or to is given. Default 30d. |
| from | string | no | First day, YYYY-MM-DD, inclusive, in timezone. |
| to | string | no | Last day, YYYY-MM-DD, inclusive, in timezone. Default today. |
| keywordIds | array | no | Only these keyword ids. Repeatable, or comma-separated; omit for every keyword. |
| platforms | array | no | Only these platforms. Repeatable, or comma-separated; omit for every platform. |
| compare | boolean | no | true adds the period of the same length right before the window as previous. |
| timezone | string | no | IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window. |
Mentions over time: one point per day or week (bucket; default day up to 90 days) with matched, relevant and sentiment counts, as a single "total" series or split with by="platform" or by="keyword" (top 20, the rest as "other"). Same window parameters as get_analytics_summary; compare=true adds previous, the period right before, points aligned by index.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | Preset window ending today. Ignored when from or to is given. Default 30d. |
| from | string | no | First day, YYYY-MM-DD, inclusive, in timezone. |
| to | string | no | Last day, YYYY-MM-DD, inclusive, in timezone. Default today. |
| keywordIds | array | no | Only these keyword ids. Repeatable, or comma-separated; omit for every keyword. |
| platforms | array | no | Only these platforms. Repeatable, or comma-separated; omit for every platform. |
| compare | boolean | no | true adds the period of the same length right before the window as previous. |
| timezone | string | no | IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window. |
| bucket | string | no | Point granularity: hour (windows of at most 14 days), day, week (Monday start) or month. Default: day up to 90 days, week beyond. |
| by | string | no | Split into one series per platform, per keyword (the top 20 by matched, the rest folded into "other") or per sentiment (positive, neutral, negative, unclassified). Omit for one total series. |
One table grouped by a dimension by: platform, keyword, sentiment, intent, status (open, ignored, done), hour (weekday and hour of day in timezone, for "when do people talk"), person (who posted most, with followers), or subreddit (Reddit posts only: which subreddits your mentions come from). Each row has matched, relevant, share of the window in percent, a sentiment split and, with compare=true
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | Preset window ending today. Ignored when from or to is given. Default 30d. |
| from | string | no | First day, YYYY-MM-DD, inclusive, in timezone. |
| to | string | no | Last day, YYYY-MM-DD, inclusive, in timezone. Default today. |
| keywordIds | array | no | Only these keyword ids. Repeatable, or comma-separated; omit for every keyword. |
| platforms | array | no | Only these platforms. Repeatable, or comma-separated; omit for every platform. |
| compare | boolean | no | true adds the period of the same length right before the window as previous. |
| timezone | string | no | IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window. |
| by | string | yes | The dimension to group by: platform, keyword, sentiment (unclassified included), intent (a mention can carry several), status (open, ignored, done), hour (weekday and hour of day in timezone), perso |
Brand against competitors: every keyword matched in the window with matched, relevant, negative and buy-intent counts and its share of brand plus competitor matches in percent (topics are counted but stay out of the split). Same window parameters as get_analytics_summary; compare=true adds the previous period's matched per keyword.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | Preset window ending today. Ignored when from or to is given. Default 30d. |
| from | string | no | First day, YYYY-MM-DD, inclusive, in timezone. |
| to | string | no | Last day, YYYY-MM-DD, inclusive, in timezone. Default today. |
| keywordIds | array | no | Only these keyword ids. Repeatable, or comma-separated; omit for every keyword. |
| platforms | array | no | Only these platforms. Repeatable, or comma-separated; omit for every platform. |
| compare | boolean | no | true adds the period of the same length right before the window as previous. |
| timezone | string | no | IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window. |
The reviews report: App Store, Google Play, Trustpilot and Google reviews the keywords collect, over a window. Totals (reviews, average stars, 1-5 distribution, replies, open 1-2 star reviews), the tags on the unhappy reviews, and one row per review page with its average stars per day or week (bucket). A review matched by two keywords counts once. Same window parameters as get_analytics_summary; c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | Preset window ending today. Ignored when from or to is given. Default 30d. |
| from | string | no | First day, YYYY-MM-DD, inclusive, in timezone. |
| to | string | no | Last day, YYYY-MM-DD, inclusive, in timezone. Default today. |
| keywordIds | array | no | Only these keyword ids. Repeatable, or comma-separated; omit for every keyword. |
| platforms | array | no | Only these platforms. Repeatable, or comma-separated; omit for every platform. |
| compare | boolean | no | true adds the period of the same length right before the window as previous. |
| timezone | string | no | IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window. |
| bucket | string | no | Series bucket: day (default up to 90 days) or week. |
List alert rules: what each watches (filter), whether it fires instantly or as an hourly, daily or weekly digest (mode, schedule), and which channels it sends to.
No parameter schema on file.
One alert rule by id: its filter, mode and schedule, channels and delivery stats.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Alert id (feed_...) |
Delete an alert rule. Its channels stay and can serve other rules. Irreversible; disabling it (update_alert enabled=false) keeps the rule.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Alert id (feed_...) |
List the channels alerts can be sent to: Slack channels, Telegram chats, email address lists, webhooks. Telegram chats connect from the dashboard (Settings, Integrations), not through the API.
No parameter schema on file.
What needs a person right now, newest first: a keyword whose mentions spiked in the last hour (mention.spike), whose negative share of the last 24 hours jumped (sentiment.negative_spike), that turned noisy (keyword.noisy), or a channel whose last sends all failed (channel.failing). Detected once an hour; items resolve on their own when the condition is gone. Open items by default; status "all" rea
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | string | no | open (default), resolved, dismissed, or all. |
| kinds | array | no | Only these kinds. |
| limit | integer | no | Items to return, 50 by default. |
| cursor | string | no | nextCursor from the previous call. |
Dismiss an attention item (att_... from list_attention): it leaves the open list and does not come back while its condition lasts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Attention item id (att_...) |
Create an alert rule. mode "instant" sends each matching mention as it happens; "hourly" sends one digest every UTC hour (five minutes past) for the previous hour, nothing when it had no mention over the floor, takes no schedule and no email channel (Slack, Telegram, webhook); "daily" sends one digest at schedule.hour in schedule.timezone; "weekly" sends one a week on schedule.weekday (0 Sunday to
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| enabled | boolean | no | — |
| mode | string | no | — |
| filter | object | no | — |
| schedule | object | no | Required for daily and weekly alerts (weekly ones also need schedule.weekday). Hourly alerts take none: they send every UTC hour, so a time of day and a zone are ignored and a weekday is refused. |
| event | no | Custom event name for webhook payloads; null for the mode default. | |
| channelIds | array | no | Channel ids from GET /v1/channels. |
Change an alert: name, enabled, mode, schedule, filter (replaces the whole filter) or channelIds (replaces the whole list).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | — |
| enabled | boolean | no | — |
| mode | string | no | — |
| filter | object | no | Replaces the whole filter. |
| schedule | no | Daily and weekly alerts. Ignored on an hourly one, except a weekday, which is refused. | |
| event | no | — | |
| channelIds | array | no | Replaces the whole list. |
| id | string | yes | Rule id |
Mute authors on an alert without touching the rest of its filter. Accepts profile or post links, @handles, u/names, Bluesky DIDs or display names; a link is stored as the author's profile. Already muted authors are skipped; an entry that names no person is rejected.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| authors | array | yes | Profile or post links (x.com/name, linkedin.com/in/name, reddit.com/user/name, a post URL), handles (@name, u/name), Bluesky DIDs or display names. A link is stored as the author's profile; a plain na |
| id | string | yes | Rule id |
Unmute authors on an alert without touching the rest of its filter. Name each by the stored entry or any link to that profile or its posts; authors that are not muted are ignored.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| authors | array | yes | Profile or post links (x.com/name, linkedin.com/in/name, reddit.com/user/name, a post URL), handles (@name, u/name), Bluesky DIDs or display names. A link is stored as the author's profile; a plain na |
| id | string | yes | Rule id |
The tracked keywords of your organization with their stats, poll health, matching rules and context, plus total. Without arguments: every keyword, newest first. Search the term and context (q), narrow by kind, status (active, muted by a person, paused by the wallet, noisy: paused by the noise brake, capped at its monthly mention cap), platform or group (groupId), order (sort) and page (limit, of
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | no | Text to find in the term or in the keyword's context, case-insensitive. |
| groupId | array | no | Only keywords in any of these groups (grp_...). Repeatable, or comma-separated. |
| kind | array | no | Only these kinds: brand, competitor, topic. Repeatable, or comma-separated. |
| status | array | no | Only keywords in these states: active, muted, paused, capped. Repeatable, or comma-separated. |
| platform | array | no | Only keywords tracked on any of these platforms: its term searched there (every platform when its platforms are null), or for appstore and googleplay, an app of that store among its reviewSources. Rep |
| sort | string | no | newest: created most recently first. oldest: the reverse. term: A to Z. mentions: most matches first. relevant: most relevant matches first. recent: most matches in the last 7 days first. lastMention: |
| limit | integer | no | Page size, 1 to 500. Omit for every keyword after offset. |
| offset | integer | no | Skip this many keywords. |
One keyword by id: term, kind, platforms, matching rules, context, its monthly mention cap and whether it is at it (pausedForCap), stats (mentions, relevant, last 7 days, this month, your feedback) and poll health per platform.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Keyword id (kw_...) |
Is a keyword worth what it costs, and what would fix it. Over a trailing window (range 7d, 30d or 90d; default 30d): a status (healthy; noisy = 20 or more scored matches and under 30% relevant; quiet = 7 days or older with nothing relevant; capped; paused; new = under 7 days old) with reasons in plain words, matches, relevant, noise share by platform and week, what it cost, the words and authors o
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Keyword id (kw_...) |
| range | string | no | Trailing window ending today: 7d, 30d (default) or 90d. |
| ai | boolean | no | true: also ask a language model for a rewritten context. Default false. |
Stop tracking a keyword and delete its mentions (a post also matched by another keyword stays). Alert rules that named it stop naming it; a rule that named only this keyword is disabled rather than widened to every keyword. Irreversible; muting (update_keyword muted=true) keeps the mentions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Keyword id (kw_...) |
The workspace this credential acts on, how it authenticated (an API key or an OAuth sign-in), whether it may write, and the person behind it when there is one. Call it once at the start of a session to name the workspace and know whether write tools are available.
No parameter schema on file.
The people in the workspace with their role (owner, admin, member), email and user id. The user id is the value update_mention assigneeId and update_person ownerId take.
No parameter schema on file.
The prepaid balance (ledger, pending mention charges, effective), the daily burn and the days it buys, how many keywords run and how many the wallet paused, the matches recorded today and over 30 days, and whether tracking is stopped or the balance is low. Every matched mention bills $0.008 and every active keyword $5 a month, charged daily.
No parameter schema on file.
What the workspace consumed and was charged over a window, in USD cents at list price, grouped by ONE dimension per call: by = keyword (the default: days charged, mentions billed, totalCents per keyword, a deleted keyword kept with keyword.removed=true), platform, or day. range (7d, 30d, 90d; default 30d) reads a trailing window ending today; month (YYYY-MM) reads one calendar month, the sha
| Parameter | Type | Required | Notes |
|---|---|---|---|
| by | string | no | The dimension to group by: day (one row per UTC day of the window), platform, keyword (default: the row a margin is computed from), or group (what a customer or a campaign cost). |
| range | string | no | Trailing window of UTC days ending today: 7d, 30d, 90d (default 30d). Ignored when month is given. |
| month | string | no | A calendar month (YYYY-MM, UTC) instead of a trailing window: from its first day to its last, or to today for the running month. A future month is a 400. |
| from | string | no | First UTC day of a custom window, YYYY-MM-DD, inclusive; with to (default today). At most 366 days. Wins over range and month. |
| to | string | no | Last UTC day of a custom window, YYYY-MM-DD, inclusive; never after today. Needs from. |
| keywordIds | array | no | Only these keywords (kw_...), deleted ones included. Repeatable, or comma-separated. |
| groupIds | array | no | Only these groups (grp_...): a keyword-day by the group it was metered under, a mention or a comment by its keyword's group as it is now. Repeatable, or comma-separated. |
| platforms | array | no | Only these platforms. A keyword-day belongs to no platform, so with this filter the keyword line reads 0 and only mentions and comments count. Repeatable, or comma-separated. |
| limit | integer | no | Rows per page, 1 to 500 (default 100). Only by=keyword can outgrow a page; a window has at most 90 days and a dozen platforms. |
| offset | integer | no | Skip this many rows. |
Every movement of the prepaid balance, newest first: the welcome credit, top-ups, refunds, the daily keyword-day and mention debits, adjustments. A debit row carries the UTC day it settled and the cumulative units behind it. Cursor paged (limit up to 100). Adding funds is a checkout on the dashboard's billing page or POST /v1/billing/top-ups on the REST API.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Opaque cursor from a previous page. |
| limit | integer | no | Page size (default 25). |
The workspace filters: noise rules applied to every keyword before a mention is stored (excluded terms and authors, excluded GitHub repositories, the subreddits Reddit posts may or may not come from). A post they reject is never classified, delivered or billed. Per-keyword rules live on each keyword (matching).
No parameter schema on file.
Change the workspace filters: excludedTerms (a * at an end is a wildcard), excludedAuthors (links, handles, names), excludedRepos (owner/name or a github.com link), subreddits.only (an allowlist; when set, excluded is ignored) and subreddits.excluded. Each list optional; an omitted list is untouched, an empty one clears it. Takes effect on new mentions within a minute.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| excludedTerms | array | no | Replaces the list; [] clears it. |
| excludedAuthors | array | no | Replaces the list; [] clears it. |
| excludedRepos | array | no | Replaces the list; [] clears it. |
| subreddits | object | no | Reddit only; an omitted list is untouched. |
Read what the classifier knows about the company: name, description, use cases, own accounts, and the composed context it reads to judge relevance (for keywords in a group that carries its own description, the group's text replaces it; see list_groups).
No parameter schema on file.
Update the company profile (name, description, useCases, accounts) or override the classifier context directly. Profile edits recompose the context; an explicit context wins until the next profile edit. The context is the single biggest lever on relevance scoring, so keep it accurate and specific; it does not reach keywords in a group with its own description (update_group for those). Omitted fiel
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | — |
| description | string | no | — |
| useCases | array | no | Replaces the whole list. |
| accounts | object | no | — |
| website | no | The company website; null clears it. | |
| competitors | array | no | Replaces the whole list; [] clears it. |
| guidelines | no | Free-text rules for the classifier; null clears them. | |
| context | string | no | Overrides the composed context until the next profile edit. |
The people who wrote mentions matching your keywords: name, profile, platform, how many of their posts matched (and how many scored relevant), their sentiment split, when they were first and last seen, and where your outreach stands (owner, stage, last contacted). Filter by platform or name, find one person by handle or profile link (handle), outreach stage (stages), owner (ownerIds, "none" for un
| Parameter | Type | Required | Notes |
|---|---|---|---|
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
| platform | string | no | Only people with an account on this platform |
| q | string | no | Match the display name or the profile handle/url |
| handle | string | no | Find one person by an account: a handle (@jane, u/jane) or a profile or post link (https://x.com/jane). Exact, case-insensitive; add platform to pick one platform |
| tag | string | no | Only people carrying this tag |
| muted | boolean | no | true: only muted people; false: only unmuted; omit: everyone |
| since | integer | no | Only people whose first matched mention is at or after this instant (ISO 8601, or epoch ms): new voices |
| sort | string | no | "mentions": most matches first; "recent": last seen first; "reach": most followers first; "new": first seen most recently first |
| segmentId | string | no | A saved segment (from list_segments) applied on top of the other filters |
| platforms | array | no | People with an account on any of these platforms |
| tags | array | no | People carrying any of these tags |
| minFollowers | integer | no | At least this many followers (unknown reach never matches) |
| maxFollowers | integer | no | — |
| minMentions | integer | no | At least this many matched mentions |
| minNegative | integer | no | At least this many negative mentions |
| intents | array | no | At least one mention carrying any of these intents |
| keywordKinds | array | no | Mentioned a keyword of any of these kinds (brand, competitor, topic) |
| neverKeywordKinds | array | no | Never mentioned a keyword of these kinds |
| newSinceDays | integer | no | First seen within this many days |
| automated | boolean | no | true: only people whose matched posts are mostly machine-made (bot accounts); false: only the rest |
One person from the audience, with their counts, tags, notes and mute for your organization, their outreach (owner, stage, last contacted), plus their public profile (bio, company, location, website and linked accounts) where the platform lists it. GitHub authors are looked up today; profile is null until then. With groupId, the person as that keyword group sees them. Email addresses are not retur
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Audience author id (aut_...), from list_people or a mention's authorId |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Annotate a person for your organization: replace their tags, set notes, mute/unmute them, or set the outreach owner (ownerId, a member user id; null clears) and stage. Muting hides their posts from the feed and from every channel; ingest and billing are unchanged. With groupId the annotations are that keyword group's own: muted hides the person from the mentions of that group's keywords only (feed
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tags | array | no | Replaces the whole list. |
| notes | string | no | — |
| muted | boolean | no | true hides their posts from the feed, the alerts and the digests; false shows them again. Without groupId, for every keyword of the workspace; with groupId, for the mentions of that group's keywords o |
| ownerId | no | The member who owns the contact (user id); null clears. | |
| stage | string | no | Where your workspace stands with the person: not_contacted, contacted, replied, in_talks, customer or not_a_fit. |
| id | string | yes | Audience author id (aut_...) |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Declare that two accounts are the same person, for your organization only: fold account id into person into. Their mentions, tags and notes combine; the folded account shows under the person's platforms. With groupId the merge holds in that keyword group only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The account to fold in (aut_...) |
| into | string | yes | The person to fold it into (aut_...) |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Undo a merge: the account becomes its own person again for your organization. A merge made in a keyword group is undone with that groupId.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Audience author id (aut_...), from list_people or a mention's authorId |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
The outreach log on one person, newest first: every logged contact with who reached out, the channel (email, x, linkedin, bluesky, reddit, github, call, meeting, other), when, and a short note. Check it, and the person's outreach owner, before reaching out so two teammates never contact the same person without knowing. With groupId, the log that keyword group keeps on them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Audience author id (aut_...), from list_people or a mention's authorId |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Record that someone reached out to a person: an email, a DM, a call. The first contact claims an unowned person for whoever reached out and moves not_contacted to contacted; an existing owner and a later stage are kept (set them with update_person). memberId defaults to the signed-in user; with an API key and no memberId the activity is unattributed and claims nobody. Returns the activity and the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| channel | string | yes | How they were reached: email, x, linkedin, bluesky, reddit, github, call, meeting or other. |
| note | string | no | What was sent or said, briefly. |
| occurredAt | integer | no | When the contact happened (ISO 8601, or epoch ms). Defaults to now. |
| memberId | string | no | The member who reached out (user id). Defaults to the signed-in member; an API key that omits it logs an unattributed activity. |
| id | string | yes | Person id (aut_...), from list_people or a mention's authorId |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Delete an outreach activity logged by mistake. The person's owner and stage stay as they are. An activity logged in a keyword group is found with that groupId.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Person id (aut_...) |
| activityId | string | yes | Activity id (act_...), from list_activities |
| groupId | string | no | Scope to one keyword group (grp_...): only people who mentioned that group's keywords, with that group's own tags, notes, mute, merges, activities and segments. Omit for the whole workspace. |
Mention counts for the last N days (default 7), grouped by platform and by sentiment, optionally filtered to one platform or keyword. Unclassified mentions appear under sentiment "unclassified".
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sinceDays | integer | no | Look-back window in days |
| platform | string | no | Only count mentions from this platform |
| keywordId | string | no | Only count mentions matching this keyword id |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Mentio or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Mentio can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.