Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Mentio

REMOTE · MCP.MENTIO.DEV

Social listening for agents: brand mentions across 16 platforms, scored for relevance and intent

Available components

+3 this week 87 Trust /100

Last scanned (5 hours ago)

Scores higher than 94% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Marketing and SEO

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security81
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
  • HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
  • HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
  • The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
Schema Quality & AI Usability77
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 15416 tokens (~237/item across 65 items; 61 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 93% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 63 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
What we tested

Checks we ran (12)

  • TLS certificate
  • Authorization
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Checks we could not complete (1)

These are gaps on our side, not findings about this hosted endpoint. We only credit what we can confirm, so a category made up entirely of them scores 0.

  • HTTPS in Endpoint SecurityHTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Stability: 0.97 → pass security
  • 4 Nov 26 −1
    • Stability: pass → 0.97 functional
  • 3 Nov 26 +1
    • Stability: 0.97 → pass security
  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://mcp.mentio.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mentio.dev CN=WE1,O=Google Trust Services,C=US 28 Oct 2026 26 Jan 2027 ECDSA 256 ECDSA-SHA256 7f3a09f2aa59afb41350c2812266e0fc
SANs: mentio.dev, mcp.mentio.dev, *.mcp.mentio.dev
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of mcp.mentio.dev. — Secure

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
dev. DS published 60074 8 Verified
mentio.dev. DS published 2371 13 Verified
mcp.mentio.dev. Verified address RRset verified with the apex keys
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="mentio-mcp", resource_metadata="https://mcp.mentio.dev/.well-known/oauth-protected-resource"

Bearer realm="mentio-mcp", resource_metadata="https://mcp.mentio.dev/.well-known/oauth-protected-resource"

Protected resource metadata

Document https://mcp.mentio.dev/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://mcp.mentio.dev/mcp
Authorisation server https://app.mentio.dev

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.mentio.dev/mcp Verified 200
http (plaintext) http://mcp.mentio.dev/mcp Inconclusive 405
MCP tools · 61 exposed · ~15,149 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_feeds ~255

Connect RSS or Atom feeds to the workspace, up to 100 at a time (the workspace reads at most 500): each url is a feed's address, or a page's (a forum, a community, a blog) whose advertised feed is used. Every keyword reading workspace feeds then gets the feed's items holding its term, polled every hour; reading a feed is free, its matches bill like any mention. Each { url } is checked on its own and reported added, already (the workspace reads it) or failed with an error code: feed_unreadable (no feed found, or the site blocks automated readers), feed_login_required (a members-only forum: send it again as { url, auth: { type: "cookie", value } } with the person's own sign-in, stored encrypted and read for this workspace alone), feed_login_expired, feed_limit_reached. The first 8 added bring each keyword the newest 10 matching items of the last 30 days.

NameTypeReqDescription
feedsarrayyesUp to 100 feeds, each { url } or { url, auth } for a members-only one. Each is checked on its own: one that fails never stops the others.

No output schema declared.

No examples provided.

add_keyword ~1,602

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 only when the classifier scores it relevant. Wrap the term in double quotes, or set matching.exactPhrase, for the exact phrase only. Prefer short terms people actually write ("fundraising agency") over sentences ("looking for a fundraising agency"). For a common word, narrow it with `matching` (requiredTerms with requiredMode any|all, requiredGroups: combinations where the post must hold every term of at least one, as [["weather","alert*"],["tsunami"]], so one keyword replaces a search per line, excludedTerms, a `*` wildcard at an end of any rule term, excludedAuthors, caseSensitive, exactPhrase, subreddits: { only, excluded } to keep its Reddit posts to some subreddits or out of some): a post the rules reject is never stored or billed. `context` is one sentence the classifier reads for this keyword only ("Arc is our browser; ignore the geometry word"). `cap` ({ mentions: N, per: "day" | "week" | "month" }, per defaults to month) is a ceiling on its matched mentions per UTC day, week (from Monday) or month: at the cap it stops matching until the next period starts or until the cap is raised, while its daily keyword charge continues. A daily cap keeps mentions coming every day with a fixed ceiling on spend (N × $0.008 a day at most, plus the keyword). `groupId` puts it in a keyword group (list_groups; default: the workspace's default group); a term may be tracked once per group, so two groups may track the same term as two keywords. `reviewSources` collects reviews: pass each page's link (url: an App Store or Google Play app, a Trustpilot page, a Google Maps place or its maps.…

NameTypeReqDescription
cap––A mention cap per day, week or month (per, default month); omit or null for none.
commentsobject–Comments under this keyword's mentions; omitted fields are untouched (on create: off, 20 per post).
context––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 bro…
displayobject–Which of this keyword's mentions you see, by language and country; each list is replaced when sent, kept when omitted. Hidden mentions are still billed.
feedsarray–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…
groupIdstring–The group to track it in (grp_...); omit for the workspace's default group. A term may be tracked once per group.
kindstring–brand: your own names. competitor: theirs. topic: the space. Drives share of voice and segments.
matchingobject–Omitted fields are untouched; an empty list clears one.
platforms––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.
readsWorkspaceFeedsboolean–Whether the keyword also reads the workspace's feeds (GET /v1/feeds); default true. A new keyword reading them gets the look-back of the 8 most recently connected.
reviewSourcesarray–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. Poll…
termstringyesThe 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.

No output schema declared.

No examples provided.

create_alert ~293

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 6 Saturday). filter narrows by keywordIds, platforms, minRelevance (the relevance floor: absent sends relevant mentions only, 40 and up; 0 sends every scored match, noise included), minConfidence, sentiments, intents, excludeAuthors, minFollowers, tags, linkHosts (the hosts a post links to, a host or any subdomain of it). channelIds come from list_channels.

NameTypeReqDescription
channelIdsarray–Channel ids from GET /v1/channels.
enabledboolean––
event––Custom event name for webhook payloads; null for the mode default.
filterobject––
modestring––
namestringyes–
scheduleobject–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.

No output schema declared.

No examples provided.

create_group ~279

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 text. One group per customer with its description is how a reseller gets each customer judged as itself. Then pass its id as groupId to add_keyword.

NameTypeReqDescription
context––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…
externalId––Your own id for the group (a customer id, say). Unique per workspace; find the group by it with GET /v1/groups?externalId=.
namestringyesThe group's name: a customer, a campaign, a product. Unique per workspace.

No output schema declared.

No examples provided.

create_segment ~152

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.

NameTypeReqDescription
descriptionstring––
filterobject––
groupIdstring–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.
namestringyes–

No output schema declared.

No examples provided.

create_view ~157

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 countries, author tags, follower range, replies, link hosts, automated, organization, 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 view selects whatever matches when it is read.

NameTypeReqDescription
descriptionstring–What the view is for, shown under its name.
filterobject–The filter; empty selects every mention.
namestringyesUnique per workspace, case-insensitive.

No output schema declared.

No examples provided.

delete_activity ~118

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.

NameTypeReqDescription
activityIdstringyesActivity id (act_...), from list_activities
groupIdstring–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.
idstringyesPerson id (aut_...)

No output schema declared.

No examples provided.

delete_alert ~50

Delete an alert rule. Its channels stay and can serve other rules. Irreversible; disabling it (update_alert enabled=false) keeps the rule.

NameTypeReqDescription
idstringyesAlert id (feed_...)

No output schema declared.

No examples provided.

delete_feed ~58

Stop the workspace reading a feed (fd_..., from list_feeds). Its mentions stay; keywords that name the same feed in their own feeds keep reading it.

NameTypeReqDescription
idstringyesFeed id (fd_...), from list_feeds

No output schema declared.

No examples provided.

delete_group ~55

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.

NameTypeReqDescription
idstringyesGroup id (grp_...)

No output schema declared.

No examples provided.

delete_keyword ~79

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.

NameTypeReqDescription
idstringyesKeyword id (kw_...)

No output schema declared.

No examples provided.

delete_segment ~97

Delete a saved segment. Nobody in it is affected. A segment saved in a keyword group is found with that groupId.

NameTypeReqDescription
groupIdstring–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.
idstringyesSegment id (seg_...), from list_segments

No output schema declared.

No examples provided.

delete_view ~30

Delete a saved view. No mention is affected.

NameTypeReqDescription
idstringyesView id (vw_...)

No output schema declared.

No examples provided.

dismiss_attention ~49

Dismiss an attention item (att_... from list_attention): it leaves the open list and does not come back while its condition lasts.

NameTypeReqDescription
idstringyesAttention item id (att_...)

No output schema declared.

No examples provided.

duplicate_keyword ~245

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 twice. It is a new keyword: $5 per month, and its last 30 days come in at once.

NameTypeReqDescription
groupIdstring–The group of the copy (grp_...); omit for the original's group.
idstringyesThe keyword to copy (kw_...)
includearray–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.
termstringyesThe 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.

No output schema declared.

No examples provided.

get_alert ~38

One alert rule by id: its filter, mode and schedule, channels and delivery stats.

NameTypeReqDescription
idstringyesAlert id (feed_...)

No output schema declared.

No examples provided.

get_analytics_breakdown ~494

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), language (ISO 639-1), country (where the authors are, ISO 3166-1 alpha-2; "unknown" for posts nobody could place), 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, the same group in the period right before. Same window parameters as get_analytics_summary. At most 50 groups, most matched first.

NameTypeReqDescription
bystringyesThe 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`), pers…
compareboolean–true adds the period of the same length right before the window as `previous`.
fromstring–First day, YYYY-MM-DD, inclusive, in `timezone`.
keywordIdsarray–Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
platformsarray–Only these platforms. Repeatable, or comma-separated; omit for every platform.
rangestring–Preset window ending today. Ignored when from or to is given. Default 30d.
timezonestring–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.
tostring–Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.

No output schema declared.

No examples provided.

get_analytics_series ~363

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.

NameTypeReqDescription
bucketstring–Point granularity: hour (windows of at most 14 days), day, week (Monday start) or month. Default: day up to 90 days, week beyond.
bystring–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.
compareboolean–true adds the period of the same length right before the window as `previous`.
fromstring–First day, YYYY-MM-DD, inclusive, in `timezone`.
keywordIdsarray–Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
platformsarray–Only these platforms. Repeatable, or comma-separated; omit for every platform.
rangestring–Preset window ending today. Ignored when from or to is given. Default 30d.
timezonestring–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.
tostring–Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.

No output schema declared.

No examples provided.

get_analytics_summary ~315

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 (IANA) cuts the days, UTC by default; compare=true adds the same counts for the period right before as `previous`. Time axis is the publish date.

NameTypeReqDescription
compareboolean–true adds the period of the same length right before the window as `previous`.
fromstring–First day, YYYY-MM-DD, inclusive, in `timezone`.
keywordIdsarray–Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
platformsarray–Only these platforms. Repeatable, or comma-separated; omit for every platform.
rangestring–Preset window ending today. Ignored when from or to is given. Default 30d.
timezonestring–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.
tostring–Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.

No output schema declared.

No examples provided.

get_company ~58

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_filters ~71

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`).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_group ~33

One keyword group by id, with how many keywords it holds.

NameTypeReqDescription
idstringyesGroup id (grp_...)

No output schema declared.

No examples provided.

get_keyword ~74

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.

NameTypeReqDescription
idstringyesKeyword id (kw_...)

No output schema declared.

No examples provided.

get_keyword_health ~277

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 over-represented in its noise, and suggestions. Each suggestion has a `patch`: pass it to update_keyword with the keyword id to apply it (lists hold the whole new list), and an `effect` measured by running the matcher's rules over the window's posts (noise and relevant matches it would have removed, cents saved). ai=true adds a context rewritten by a language model (cached a day; 20 model calls an hour per workspace). Read only, never billed, cached 5 minutes.

NameTypeReqDescription
aiboolean–true: also ask a language model for a rewritten context. Default false.
idstringyesKeyword id (kw_...)
rangestring–Trailing window ending today: 7d, 30d (default) or 90d.

No output schema declared.

No examples provided.

get_mention ~49

Fetch a single mention by id, including its classification (relevance, sentiment, intents, confidence, uncertain, note).

NameTypeReqDescription
idstringyesMention id (mention match id, mm_...)

No output schema declared.

No examples provided.

get_mention_stats ~88

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

NameTypeReqDescription
keywordIdstring–Only count mentions matching this keyword id
platformstring–Only count mentions from this platform
sinceDaysinteger–Look-back window in days

No output schema declared.

No examples provided.

get_person ~185

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 returned over MCP: profile.email is always null (the dashboard and the REST API show it where the person published it).

NameTypeReqDescription
groupIdstring–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.
idstringyesAudience author id (aut_...), from list_people or a mention's authorId

No output schema declared.

No examples provided.

get_reviews_report ~302

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; compare=true adds the previous period.

NameTypeReqDescription
bucketstring–Series bucket: day (default up to 90 days) or week.
compareboolean–true adds the period of the same length right before the window as `previous`.
fromstring–First day, YYYY-MM-DD, inclusive, in `timezone`.
keywordIdsarray–Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
platformsarray–Only these platforms. Repeatable, or comma-separated; omit for every platform.
rangestring–Preset window ending today. Ignored when from or to is given. Default 30d.
timezonestring–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.
tostring–Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.

No output schema declared.

No examples provided.

get_share_of_voice ~248

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.

NameTypeReqDescription
compareboolean–true adds the period of the same length right before the window as `previous`.
fromstring–First day, YYYY-MM-DD, inclusive, in `timezone`.
keywordIdsarray–Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
platformsarray–Only these platforms. Repeatable, or comma-separated; omit for every platform.
rangestring–Preset window ending today. Ignored when from or to is given. Default 30d.
timezonestring–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.
tostring–Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.

No output schema declared.

No examples provided.

get_usage ~81

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_usage_breakdown ~636

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 shape a bill or a per-customer margin is reconciled against; `from`/`to` (YYYY-MM-DD) any window up to 366 days. `keywordIds`, `groupIds` and `platforms` narrow every number (a keyword-day has no platform, so a platform filter counts mentions and comments only). Every call also returns the window's totals (keyword-days, matched and billed mentions, list-price total, what the ledger actually debited). Rows are paged (limit, offset, total). Answer "what did keyword X cost" and "where does the money go" from it; get_usage answers "how much is left". Each keyword's running-month cost is also on get_keyword as stats.cost.

NameTypeReqDescription
bystring–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).
fromstring–First UTC day of a custom window, YYYY-MM-DD, inclusive; with `to` (default today). At most 366 days. Wins over `range` and `month`.
groupIdsarray–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.
keywordIdsarray–Only these keywords (kw_...), deleted ones included. Repeatable, or comma-separated.
limitinteger–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.
monthstring–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.
offsetinteger–Skip this many rows.
platformsarray–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.
rangestring–Trailing window of UTC days ending today: 7d, 30d, 90d (default 30d). Ignored when `month` is given.
tostring–Last UTC day of a custom window, YYYY-MM-DD, inclusive; never after today. Needs `from`.

No output schema declared.

No examples provided.

list_activities ~163

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.

NameTypeReqDescription
groupIdstring–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.
idstringyesAudience author id (aut_...), from list_people or a mention's authorId

No output schema declared.

No examples provided.

list_alerts ~44

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_attention ~178

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" reads the history. Each item has a one-line title, the facts in data, and data.url pointing at the dashboard.

NameTypeReqDescription
cursorstring–nextCursor from the previous call.
kindsarray–Only these kinds.
limitinteger–Items to return, 50 by default.
statusstring–open (default), resolved, dismissed, or all.

No output schema declared.

No examples provided.

list_channels ~47

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_feeds ~148

The RSS and Atom feeds the WORKSPACE reads (forums, communities, blogs): every keyword with readsWorkspaceFeeds (the default) gets an item of one of these feeds as a mention when the item holds its term, with its matching rules, billed like any mention. Each feed with when it was connected and how its hourly poll goes. q filters on address or title; limit and offset page, total counts.

NameTypeReqDescription
limitinteger–Feeds per page, at most 500; default 100.
offsetinteger–Feeds to skip, for the next page.
qstring–Only feeds whose address or title contains this text, case-insensitive.

No output schema declared.

No examples provided.

list_groups ~86

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.

NameTypeReqDescription
externalIdstring–Only the group carrying exactly this externalId.

No output schema declared.

No examples provided.

list_keywords ~346

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, offset).

NameTypeReqDescription
groupIdarray–Only keywords in any of these groups (grp_...). Repeatable, or comma-separated.
kindarray–Only these kinds: brand, competitor, topic. Repeatable, or comma-separated.
limitinteger–Page size, 1 to 500. Omit for every keyword after `offset`.
offsetinteger–Skip this many keywords.
platformarray–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. Re…
qstring–Text to find in the term or in the keyword's context, case-insensitive.
sortstring–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…
statusarray–Only keywords in these states: active, muted, paused, capped. Repeatable, or comma-separated.

No output schema declared.

No examples provided.

list_ledger ~117

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.

NameTypeReqDescription
cursorstring–Opaque cursor from a previous page.
limitinteger–Page size (default 25).

No output schema declared.

No examples provided.

list_members ~47

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_mention_comments ~176

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 week on GitHub, Stack Overflow and DEV, a month on YouTube) for relevant mentions whose keyword has comments enabled (add_keyword / update_keyword `comments`); empty otherwise. Page with cursor.

NameTypeReqDescription
cursorstring–nextCursor from the previous page.
idstringyesMention id (mm_...)
limitinteger–Page size, 1 to 100.

No output schema declared.

No examples provided.

list_people ~740

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 unowned) or automated (bot accounts, whose posts mostly read machine-made); sort by mentions or recency. With groupId, only the people who mentioned that keyword group's keywords, with that group's own counts, tags, notes, merges and outreach. Use search_mentions with authorId to read what one person said. Email addresses are not returned over MCP: profile.email is always null (the dashboard and the REST API show it where the person published it).

NameTypeReqDescription
automatedboolean–true: only people whose matched posts are mostly machine-made (bot accounts); false: only the rest
groupIdstring–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.
handlestring–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
intentsarray–At least one mention carrying any of these intents
keywordKindsarray–Mentioned a keyword of any of these kinds (brand, competitor, topic)
limitinteger––
linkHostsarray–At least one mention linking to any of these hosts, the host itself or a subdomain of it (octolens.com also matches blog.octolens.com)
maxFollowersinteger––
minFollowersinteger–At least this many followers (unknown reach never matches)
minMentionsinteger–At least this many matched mentions
minNegativeinteger–At least this many negative mentions
mutedboolean–true: only muted people; false: only unmuted; omit: everyone
neverKeywordKindsarray–Never mentioned a keyword of these kinds
newSinceDaysinteger–First seen within this many days
offsetinteger–Skip this many people (paging)
ownerIdsarray–People owned by any of these members (user ids); "none" for people nobody owns
platformstring–Only people with an account on this platform
platformsarray–People with an account on any of these platforms
qstring–Match the display name or the profile handle/url
segmentIdstring–A saved segment (from list_segments) applied on top of the other filters
sinceinteger–Only people whose first matched mention is at or after this instant (ISO 8601, or epoch ms): new voices
sortstring–"mentions": most matches first; "recent": last seen first; "reach": most followers first; "new": first seen most recently first
stagesarray–People at any of these outreach stages (not_contacted, contacted, replied, in_talks, customer, not_a_fit)
tagstring–Only people carrying this tag
tagsarray–People carrying any of these tags

No output schema declared.

No examples provided.

list_segments ~124

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.

NameTypeReqDescription
groupIdstring–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.

No output schema declared.

No examples provided.

list_views ~46

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

log_activity ~294

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 person as they now read. With groupId the activity, and the owner and stage it moves, are that keyword group's own.

NameTypeReqDescription
channelstringyesHow they were reached: email, x, linkedin, bluesky, reddit, github, call, meeting or other.
groupIdstring–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.
idstringyesPerson id (aut_...), from list_people or a mention's authorId
memberIdstring–The member who reached out (user id). Defaults to the signed-in member; an API key that omits it logs an unattributed activity.
notestring–What was sent or said, briefly.
occurredAtinteger–When the contact happened (ISO 8601, or epoch ms). Defaults to now.

No output schema declared.

No examples provided.

merge_people ~140

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.

NameTypeReqDescription
groupIdstring–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.
idstringyesThe account to fold in (aut_...)
intostringyesThe person to fold it into (aut_...)

No output schema declared.

No examples provided.

mute_authors ~143

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.

NameTypeReqDescription
authorsarrayyesProfile 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 n…
idstringyesRule id

No output schema declared.

No examples provided.

search_mentions ~2,437

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 (minLikes, minReposts, minReplies, minQuotes, minViews, minBookmarks; a post without the count never passes), review stars (ratings, or notRatings to leave some out), author tags (tags, any-of), the hosts a post links to (linkHosts, any-of, a host or any subdomain of it), Reddit subreddits (subreddits or notSubreddits, names without the r/), replies against top-level posts (isReply), posts against comments (kind: post or comment), whether the post reads as machine-made (automated=true for the bots, false for the rest), where the author is (countries, or notCountries to leave some out, lowercase ISO 3166-1 alpha-2 codes like in, us, de, as the classifier read the profile and the post; an unknown country passes notCountries), whether the author is a company or organization (organization=true for companies, brands and organizations, false for people), the language of the post (languages or notLanguages, ISO 639-1), an alert rule's whole filter (alertId, the same mentions the rule would send), a saved view's filter (viewId, from list_views, ANDed with the rest), the kind of keyword that matched (keywordKinds: brand, competitor, topic), or the keyword's group (groupIds, or notGroupIds to leave groups out; ids from list_groups). Every filter is ANDed; for OR, anyOf takes up to 10 groups of the same conditions (an object each, all its conditions ANDed) and keeps a mention when at least one group holds, on top of the rest: anyOf=[{platforms:["reddit"],sentiments:["negative"]},{intents:["buy_intent"]}]. Snoozed mentions are hidden unless snoozed=true. sort="newest" (default) or "priority…

NameTypeReqDescription
alertIdstring–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.
anyOfarray–OR across groups: a mention passes when it meets every condition of at least one group (1 to 10 groups). The other conditions still apply to every mention: the whole filter is (other conditions) AND…
assigneeIdstring–Only mentions assigned to this workspace member (user id).
automatedboolean–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.
countriesarray–Only posts whose author is in any of these countries (ISO 3166-1 alpha-2: us, in, de), as the classifier read the author's profile and the post. A post whose country is unknown never passes.
excludeAuthorsarray–Hide these authors: display names, handles or profile URLs. Repeatable, or one comma-separated value.
groupIdsarray–Only matches of keywords in any of these groups (grp_...). Repeatable, or comma-separated.
includeDuplicatesboolean–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.
includeHiddenboolean–true: include mentions their keyword's display lists hide (a language or country it does not show), hidden by default.
includeMutedboolean–true: include mentions by people you muted, hidden by default: muted for the workspace, or for the mention's own keyword group.
intentstring–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, lau…
intentsarray–Only mentions carrying any of these intent or topic tags.
isReplyboolean–true: only replies and comments (posts answering another post); false: only top-level posts. Omitted: both.
keywordIdstring–Only matches of this keyword.
keywordIdsarray–Only matches of any of these keywords.
keywordKindsarray–Only matches of keywords of any of these kinds: brand, competitor, topic. Repeatable, or comma-separated.
kindstring–Only posts (post), only comments (comment) or only GitHub repository events (repository). Omitted: all.
languagesarray–Only posts in any of these languages (ISO 639-1: en, es, de). A post whose language is unknown never passes.
limitinteger–How many mentions to return, 1 to 100. Default 10: narrow the filters before asking for more.
linkHostsarray–Only posts linking to any of these hosts, the host itself or a subdomain of it (octolens.com also matches blog.octolens.com). Repeatable, or comma-separated.
maxFollowersinteger–Only authors with at most this many followers. Unknown reach never passes.
minBookmarksinteger–Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.
minConfidencenumber–Only mentions whose classifier confidence is at least this, 0 to 1. Mentions without a confidence are excluded.
minFollowersinteger–Only authors with at least this many followers. Unknown reach never passes.
minLikesinteger–Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.
minQuotesinteger–Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.
minRelevanceinteger–Only mentions scored at least this; unclassified ones are excluded.
minRepliesinteger–Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.
minRepostsinteger–Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.
minViewsinteger–Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.
notCountriesarray–Never posts whose author is in these countries: notCountries=in. A post whose country is unknown still passes.
notGroupIdsarray–Never matches of keywords in these groups.
notIntentsarray–Never mentions carrying these intent or topic tags.
notKeywordIdsarray–Never matches of these keywords.
notLanguagesarray–Never posts in these languages. A post whose language is unknown still passes.
notLinkHostsarray–Never posts linking to these hosts, the host itself or a subdomain of it.
notPlatformsarray–Never posts from these platforms.
notRatingsarray–Never reviews with these star ratings (1 to 5): notRatings=5 hides the five star reviews. Posts that are not reviews still pass.
notSentimentsarray–Never these sentiments. A mention the classifier has not scored yet still passes.
notSubredditsarray–Never Reddit posts from these subreddits; posts from other platforms still pass.
notTagsarray–Never authors tagged with any of these, in the workspace's tags or those of the mention's own keyword group.
organizationboolean–true: only posts by companies, brands and organizations (a LinkedIn company page, a GitHub organization, a business account); false: only posts by people, mentions judged before this existed included…
personIdstring–Only this person (an id from /v1/people), merged accounts included. Implies includeMuted.
platformstring–Only posts from this platform.
platformsarray–Only posts from any of these platforms.
qstring–Substring search in the post text or the author's name.
ratingsarray–Only app store reviews with any of these star ratings (1 to 5): ratings=1,2 is the unhappy ones. Every other post fails it.
relevantboolean–true: only mentions the classifier scored relevant; false: only the rest (unclassified included).
sentimentstring–Only this sentiment.
sentimentsarray–Only these sentiments.
sinceinteger–Only posts published at or after this instant (ISO 8601, or epoch ms).
snoozedboolean–true: only mentions currently snoozed. Otherwise snoozed mentions stay out until they wake.
sortstring–newest: by match time, newest first. priority: by attention score, highest first; priority ranks the last 30 days of matches only, older ones stay reachable under newest. Cursors are specific to a so…
statusstring–Only mentions in this status. Omit for every status.
subredditsarray–Only Reddit posts from any of these subreddits: subreddits=SaaS,startups (names without the r/, any case). Every other post fails it. Repeatable, or comma-separated.
tagsarray–Only authors tagged with any of these (exact, case-sensitive), in the workspace's tags or those of the mention's own keyword group. Repeatable, or comma-separated.
untilinteger–Only posts published at or before this instant (ISO 8601, or epoch ms).
viewIdstring–Apply a saved view's filter (an id from GET /v1/views) on top of the other filters, every condition ANDed: exactly what the view selects. Unknown ids are a 404.

No output schema declared.

No examples provided.

split_person ~108

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.

NameTypeReqDescription
groupIdstring–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.
idstringyesAudience author id (aut_...), from list_people or a mention's authorId

No output schema declared.

No examples provided.

unmute_authors ~122

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.

NameTypeReqDescription
authorsarrayyesProfile 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 n…
idstringyesRule id

No output schema declared.

No examples provided.

Install

How do I install the Mentio MCP server?

Mentio is a hosted endpoint at https://mcp.mentio.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.mentio.dev

# add to Claude Code
claude mcp add --transport http dev-mentio-mcp 'https://mcp.mentio.dev/mcp'
Common questions

What is the Mentio MCP server?

Mentio is an MCP server listed in the public MCP registry as dev.mentio/mcp. Social listening for agents: brand mentions across 16 platforms, scored for relevance and intent. This page covers its hosted endpoint (https://mcp.mentio.dev/mcp).

Is the Mentio MCP server safe to use?

Mentio scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Mentio MCP server expose?

Mentio exposes 61 tools: list_segments, create_segment, update_segment, delete_segment, list_views, and 56 more. Their descriptions and schemas cost roughly 15,149 tokens of context every time the server is loaded.

Does the Mentio MCP server require authentication?

Yes. Mentio asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Mentio MCP server still maintained?

Mentio is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the Mentio MCP server?

VerifyMCP ran 12 checks on Mentio, covering TLS certificate, Authorization, HSTS header, DNSSEC and 8 more. One item could not be completed, a gap on our side rather than a finding about Mentio: HTTPS. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.