Tools
All 55 MCP tools by area, with what each one does.
The server has 55 tools. Inputs, validation and responses match the REST API (see Conventions), with four differences. search_mentions returns { "data", "hasMore" } and no cursor, so an agent narrows its filters instead of paging. Delete tools return { "id", "deleted": true }. split_person returns { "id", "unlinked" }. log_activity returns the activity and the person.
A read key or OAuth grant lists only the read tools. Annotations (readOnlyHint, destructiveHint, idempotentHint) tell a client which calls to confirm with you. Wrong arguments return JSON-RPC error -32602 naming the first problem.
Mentions
| Tool | Access | What it does |
|---|---|---|
search_mentions | read | Find mentions by keyword, keyword kind or group, platform, status, relevance, confidence, sentiment, intent, language, text (q), time, person, assignee, followers, engagement, review stars, author tags, linked hosts, replies, bots (automated), an alert (alertId) or a saved view (viewId). not lists exclude and anyOf adds OR groups. Snoozed mentions stay hidden unless snoozed is true. sort is newest or priority (past 30 days). Returns 10 by default and up to 100 with limit. |
get_mention | read | Fetches one mention, classification included (relevance, sentiment, intents, confidence, uncertain, note). |
update_mention | write | Handle a mention with status (open, ignored, done), assigneeId, snoozedUntil and note, or correct the classifier with relevant and sentiment. null clears a field, and fields you leave out stay as they are. |
get_mention_stats | read | Returns mention counts for the past N days (7 by default), by platform and by sentiment. |
Keywords and filters
| Tool | Access | What it does |
|---|---|---|
list_keywords | read | Your keywords with stats, polling status, matching rules and context. Filter by text, kind, status, platform or group, in pages. |
get_keyword | read | A keyword by id with its settings, monthly cap (pausedForCap), stats and polling status per platform. |
get_keyword_health | read | Shows whether a keyword is worth its cost over range (7d, 30d, 90d). Returns a status with reasons, noise by platform and week, the cost, and suggestions with a patch you can pass to update_keyword. ai: true adds a rewritten context. |
add_keyword | write | Start monitoring a keyword with kind (brand, competitor, topic), platforms, matching rules, a classifier context, a monthly cap, a groupId and reviewSources (App Store, Google Play, Trustpilot, Google Maps). |
update_keyword | write | Change a keyword's platforms, mute, kind, context, matching rules, cap, group or review sources. Rules only affect new mentions. |
delete_keyword | write, destructive | Delete a keyword and its mentions. This cannot be undone, and muting keeps the mentions. |
get_filters | read | The noise filters every keyword goes through before a mention is stored. They cover excluded terms, authors and GitHub repositories, and allowed or blocked subreddits. |
update_filters | write | Change the workspace filters. A list you leave out stays as it is, and an empty list clears it. |
Groups
| Tool | Access | What it does |
|---|---|---|
list_groups | read | Lists the workspace's keyword groups, the default first. |
get_group | read | Returns a keyword group by id, with its number of keywords. |
create_group | write | Create a keyword group with a name, an optional externalId (your own id, such as a client's) and an optional context, a company description the classifier reads instead of the workspace profile for this group's keywords. |
update_group | write | Rename a group or change its externalId or context. null clears a field. The default group takes no context. |
delete_group | write, destructive | Delete a keyword group with all its keywords and their mentions. The default group cannot be deleted. |
Company
| Tool | Access | What it does |
|---|---|---|
get_company | read | What the classifier knows about the company, with the profile, own accounts and the context text it reads to score relevance. |
update_company | write | Change the company profile (name, description, useCases, accounts) or set the classifier context yourself. |
Workspace and usage
| Tool | Access | What it does |
|---|---|---|
whoami | read | Returns the workspace this credential works in, the kind of credential (an API key or an OAuth sign-in), whether it can write, and the signed-in user if there is one. |
list_members | read | Lists workspace members with their role (owner, admin, member), email and user id. |
get_usage | read | The prepaid balance, daily spend and days left, running and paused keywords, matches today and over 30 days, and whether tracking is stopped or the balance is low. |
get_usage_breakdown | read | Usage and charges in US cents over a range (7d, 30d, 90d) or a calendar month, grouped by keyword, group, platform or day, with totals. In pages. |
list_ledger | read | All changes to the prepaid balance, latest first. Welcome credit, top-ups, refunds, daily debits and adjustments, in pages. |
Analytics
Each of the five reads one period, set with range (7d, 30d, 90d, 365d) or with from and to. They also take keywordIds, platforms, timezone (IANA, UTC by default) and compare, which adds the period just before.
| Tool | Access | What it does |
|---|---|---|
get_analytics_summary | read | The main counts. Matched and relevant mentions, posts and people, sentiment, buying intent and questions, estimated reach, and triage. |
get_analytics_series | read | Counts per hour, day, week or month (bucket), as one series or split by platform, keyword or sentiment. |
get_analytics_breakdown | read | A table grouped by platform, keyword, sentiment, intent, status, hour, person or language, up to 50 rows. |
get_share_of_voice | read | Your brand compared with competitors. Each keyword's counts and its part of all brand and competitor matches. |
get_reviews_report | read | App Store, Google Play, Trustpilot and Google reviews. Totals, star distribution, tags of unhappy reviews, and average stars per review page over time. |
Alerts, channels and attention
Alerts explains alerts and channels, and Webhooks the payloads.
| Tool | Access | What it does |
|---|---|---|
list_alerts | read | All alerts with their filter, mode, schedule and channels. |
get_alert | read | Fetches an alert by id. |
create_alert | write | Create an alert. mode is instant, hourly (no email channel), daily at schedule.hour in schedule.timezone, or weekly on schedule.weekday. The filter can use keywords, platforms, relevance, sentiment, intent, authors, followers, tags or linked hosts. channelIds come from list_channels. |
update_alert | write | Changes an alert's name, enabled, mode, schedule, filter or channelIds. filter and channelIds are replaced in full. |
delete_alert | write, destructive | Delete an alert. Its channels remain. |
mute_authors | write | Adds authors to an alert's muted list and keeps the rest of the filter. |
unmute_authors | write | Takes authors off an alert's muted list and keeps the rest of the filter. |
list_channels | read | Lists alert destinations (Slack channels, Telegram chats, email lists, webhooks). |
list_attention | read | What someone should look at now. A mention spike, a jump in negative sentiment, a keyword that became noisy, or a failing channel. Open items by default. |
dismiss_attention | write | Moves an attention item (att_... from list_attention) out of the open list for as long as its condition lasts. |
People
| Tool | Access | What it does |
|---|---|---|
list_people | read | The authors of your mentions, with counts, sentiment and outreach. Filter by platform, name, handle, segment, stage, owner or bots, and sort by mentions or recency. |
get_person | read | A person with counts, tags, notes, outreach and public profile. profile.email is always null. |
update_person | write | Changes your workspace's details on a person. |
merge_people | write, destructive | Tells your workspace that two accounts are the same individual by merging account id into person into. |
split_person | write | Reverses a merge, so the account is a separate person again in your workspace. |
list_activities | read | The outreach log for one person, latest first, with who reached out, the channel, the time and a note. |
log_activity | write | Record that someone contacted a person. If the person has no owner, the first contact sets one and moves them to contacted. |
delete_activity | write, destructive | Deletes an outreach activity that was logged by mistake. |
Segments and views
| Tool | Access | What it does |
|---|---|---|
list_segments | read | Saved audience segments with their current size, plus presets for create_segment. |
create_segment | write | Save an audience segment with a name and a filter on platforms, tags, followers, mention counts, intents, keyword kinds, first seen or linked hosts. Members are worked out on each read. |
update_segment | write | Changes a saved segment's name, description or filter. |
delete_segment | write, destructive | Deletes a saved segment. |
list_views | read | Saved views, which are named mention filters. Pass an id as viewId to search_mentions. |
create_view | write | Save a view with a name and a search_mentions filter, including not lists and anyOf. It shows whatever matches when read. |
update_view | write | Changes a saved view's name, description or filter. |
delete_view | write, destructive | Deletes a saved view and leaves its mentions untouched. |