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.

Rumoro

REMOTE · MCP.RUMORO.DEV

Track what people say about your product on Reddit, X, Hacker News, GitHub and more

Available components

+4 this week 92 Trust /100

Last scanned (23 hours ago)

Scores higher than 99% of remote servers

Reachable. Last reached 4 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 Security94
Transport & Reachability100
Schema Quality & AI Usability79
  • 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 11971 tokens (~202/item across 59 items; 57 tools + 2 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 Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 91% 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 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 59 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
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.

  • 4 Nov 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.

  • 2 Nov 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.

  • 31 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.

  • 29 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.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 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 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Oct 26 +1

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

  • 20 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 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 4 Nov 2026 · Probed https://mcp.rumoro.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.rumoro.dev CN=YR1,O=Let's Encrypt,C=US 28 Sept 2026 27 Dec 2026 RSA 2048 SHA256-RSA 5667cd66f08a49dfe7c68404d4d31c9c496
SANs: mcp.rumoro.dev
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.rumoro.dev. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
rumoro.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
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="rumoro-mcp", resource_metadata="https://mcp.rumoro.dev/.well-known/oauth-protected-resource"

Bearer realm="rumoro-mcp", resource_metadata="https://mcp.rumoro.dev/.well-known/oauth-protected-resource"
Header Value
strict-transport-security max-age=63072000
content-security-policy frame-ancestors 'self'; base-uri 'self'; object-src 'none'
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), browsing-topics=()

Protected resource metadata

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

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

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.rumoro.dev/mcp Verified 200
http (plaintext) http://mcp.rumoro.dev/mcp HTTPS enforced 308 https://mcp.rumoro.dev/mcp
MCP tools · 57 exposed · ~11,815 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_keyword ~973

Creates a keyword to track. kind is "brand" (default), "competitor" or "topic". platforms limits where it runs, all by default. New posts with the term are matched, classified and delivered. To narrow a common word, set `matching` (requiredTerms with requiredMode any or all, excludedTerms with a `*` wildcard at either end, excludedAuthors, caseSensitive). Rejected posts are never stored or billed. `context` is one sentence for this keyword's classifier, such as "Basil is our deploy tool, not the herb." `cap` ({ mentions: N }) sets a monthly limit on matches. A capped keyword stops matching until the 1st (UTC) or a higher cap, and is still charged daily. `groupId` picks a group from list_groups, otherwise the default group. A term can exist once per group. `reviewSources` adds review pages, each as a url (App Store or Google Play app, Trustpilot page, Google Maps place or maps.app.goo.gl link) or a platform (appstore, googleplay, trustpilot, googlemaps) and id. App stores also take countries (two-letter, default us), and Google Play a language (default en). Every review becomes a mention, pages are read daily, and the last 30 days (up to 100 reviews) arrive free at once. `feeds` reads RSS or Atom feeds, each as { url }: a feed's address, or a page's (a forum, a community, a blog) whose advertised feed is used; an address with no feed is refused. An item is a mention when it holds the term, feeds are read every hour, and the newest 10 matching items of the last 30 days arrive at once, billed like any mention. `platforms: []` makes a reviews-only or feeds-only keyword. `comments` ({ enabled: true, maxPerPost: N }, off by default) reads the comments under its relevant mentions from 30 minutes after each post while its platform's conversations last, at most maxPerPost (default 20) per mention, $0.008 per comment delivered; list them with list_mention_comments.

NameTypeReqDescription
cap––Monthly limit on matched mentions. Omit or null means none.
commentsobject–Comments under this keyword's mentions; omitted fields stay as they are (on create: off, 20 per mention).
context––Up to 300 characters the classifier reads for this keyword only, in addition to the company profile or the group's description. Say what the term means for you and what to ignore, for example "Basil…
feedsarray–RSS or Atom feeds this keyword reads, at most 20, each { url }: a feed's address, or a page's (a forum, a community, a blog), whose advertised feed is used, else a usual address such as /feed or /rss…
groupIdstring–The group to put it in (grp_...). Without it, the workspace's default group is used. Each group can hold a term only once.
kindstring–brand is for your own names, competitor for a rival's, and topic for your market. Share of voice and segments use it.
matchingobject–Fields you leave out stay as they are. An empty list clears a field.
platforms––The platforms to search for the term. Leave it out or send null for all platforms. An empty list searches nowhere, for a keyword that only collects reviews and so needs reviewSources.
reviewSourcesarray–Review pages for this keyword, at most 10 (App Store and Google Play apps, Trustpilot pages, Google Maps places). Every new review on them is a mention, whatever it says. Pages are read daily, per co…
termstringyesThe word or phrase to monitor. It matches as a whole phrase, ignoring case.

No output schema declared.

No examples provided.

create_alert ~282

Creates an alert. mode "instant" sends each matching mention as it arrives. "hourly" sends a digest of the previous UTC hour at five past, skips hours with no mention above the minimum, and takes no schedule and no email channel (only Slack, Telegram and webhooks). "daily" sends one digest at schedule.hour in schedule.timezone. "weekly" sends one a week on schedule.weekday, from 0 for Sunday to 6 for Saturday. filter can use keywordIds, platforms, minRelevance, minConfidence, sentiments, intents, excludeAuthors, minFollowers, tags and linkHosts (hosts a post links to, including subdomains). Without minRelevance only relevant mentions (40 and up) are sent, and 0 sends every scored match, noise included. channelIds come from list_channels.

NameTypeReqDescription
channelIdsarray–Where to send, as ids from GET /v1/channels.
enabledboolean––
event––Custom webhook event name. Null keeps the mode's default.
filterobject––
modestring––
namestringyes–
scheduleobject–Daily and weekly alerts need it, and weekly ones need schedule.weekday too. Hourly alerts send every UTC hour, ignore a time or zone, and reject a weekday.

No output schema declared.

No examples provided.

create_group ~276

Creates a keyword group with a name that is unique in the workspace. You can add externalId, your own unique id such as a client id. You can also add context, a company description saying who the business is, what it sells and to whom. The classifier reads it instead of the whole workspace profile, guidelines and competitors included, for this group's keywords, so put any group rule in that text. An agency can make one group per client with the client's description, so each client's mentions are scored for that client. Then pass the group's id as groupId to add_keyword.

NameTypeReqDescription
context––Up to 4000 characters the classifier treats as "the company" for this group's keywords. It fully replaces the workspace profile, including its relevance guidelines and competitors. Describe the busin…
externalId––An id from your own system, such as a client id. Must be unique in the workspace. Find the group with GET /v1/groups?externalId=.
namestringyesThe group's name, such as a client, campaign or product. Must be unique in the workspace.

No output schema declared.

No examples provided.

create_segment ~93

Saves an audience segment with a name and a filter. The filter can use platforms, tags, follower range, minimum mentions or negative mentions, intents, keyword kinds the person did or did not mention, first seen within N days, and linkHosts they linked to. Members are worked out on each read, not stored.

NameTypeReqDescription
descriptionstring––
filterobject––
namestringyes–

No output schema declared.

No examples provided.

create_view ~166

Saves a view with a name and a filter. The filter uses the fields of search_mentions, such as keywords or keyword kinds, platforms, status, relevant, sentiments, intents, languages, author tags, follower range, replies, link hosts, automated and free text. A list matches any value, a `not` list matches none, and all conditions are joined by AND. anyOf adds OR with groups of such conditions, at least one of which must match. Nothing is stored ahead of time, so the view shows whatever matches when read.

NameTypeReqDescription
descriptionstring–The view's purpose, shown below its name.
filterobject–The view's filter. Empty means all mentions.
namestringyesMust be unique in the workspace, ignoring case.

No output schema declared.

No examples provided.

delete_activity ~60

Deletes an outreach activity that was logged by mistake. The person keeps the same owner and stage.

NameTypeReqDescription
activityIdstringyesThe activity's id (act_...) from list_activities
idstringyesThe person's id (aut_...)

No output schema declared.

No examples provided.

delete_alert ~55

Deletes an alert. Its channels remain and other alerts can use them. This cannot be undone. To keep the alert, disable it with update_alert enabled=false instead.

NameTypeReqDescription
idstringyesThe alert's id (feed_...)

No output schema declared.

No examples provided.

delete_group ~56

Deletes a keyword group and all of its keywords, each as delete_keyword would, mentions included. The default group cannot be deleted. The answer says how many keywords were deleted.

NameTypeReqDescription
idstringyesThe group's id (grp_...)

No output schema declared.

No examples provided.

delete_keyword ~81

Stops monitoring a keyword and deletes its mentions, but keeps a post that another keyword also matched. Alerts that named it drop it, and an alert that named only this keyword is disabled instead of widening to all keywords. This cannot be undone. Muting with update_keyword muted=true keeps the mentions.

NameTypeReqDescription
idstringyesThe keyword's id (kw_...)

No output schema declared.

No examples provided.

delete_segment ~39

Deletes a saved segment. The people in it are not changed.

NameTypeReqDescription
idstringyesThe segment's id (seg_...) from list_segments

No output schema declared.

No examples provided.

delete_view ~32

Deletes a saved view and leaves its mentions untouched.

NameTypeReqDescription
idstringyesThe view's id (vw_...)

No output schema declared.

No examples provided.

dismiss_attention ~47

Moves an attention item (att_... from list_attention) out of the open list for as long as its condition lasts.

NameTypeReqDescription
idstringyesThe attention item's id (att_...)

No output schema declared.

No examples provided.

duplicate_keyword ~238

Creates a new keyword with an existing keyword's settings. Give the new term, or the same term with another groupId, since a group tracks a term once. It copies the kind, platforms, context, every matching rule, the monthly mention cap and the comments setting. Review pages and feeds are copied only when listed in include (reviewSources, feeds), because two keywords on one page collect and bill every review twice. The copy is a new keyword: $5 a month, and its last 30 days come in at once.

NameTypeReqDescription
groupIdstring–The copy's group (grp_...). Omitted, it joins the original's group.
idstringyesThe keyword to copy (kw_...).
includearray–Also copy these: reviewSources (its review pages) and feeds (its RSS or Atom feeds). Off by default, because two keywords on one page or feed collect, and bill, every review or item twice.
termstringyesThe copy's term. The original's term is allowed only in another group (groupId), since a group tracks a term once.

No output schema declared.

No examples provided.

get_alert ~44

Fetches an alert by id. Includes delivery stats as well as its filter, mode, schedule and channels.

NameTypeReqDescription
idstringyesThe alert's id (feed_...)

No output schema declared.

No examples provided.

get_analytics_breakdown ~383

Returns a table grouped by `by`. That is platform, keyword, sentiment, intent, status (open, ignored, done), hour (weekday and hour in timezone, to see when people post) or person (the most active authors, with followers). Each row has matched, relevant, its percentage of the period, a sentiment split and, with compare=true, the same row for the period just before. The period works as in get_analytics_summary. Up to 50 rows, the one with the most matches first.

NameTypeReqDescription
bystringyesHow to group the rows. platform, keyword, sentiment (unclassified included), intent (a mention can have several), status (open, ignored, done), hour (weekday and hour in `timezone`), person (the auth…
compareboolean–true adds the equally long period just before as `previous`.
fromstring–Start date in `timezone`, as YYYY-MM-DD. That day is included.
keywordIdsarray–Keeps these keyword ids only. Repeat the parameter or separate values with commas. Leave it out for all keywords.
platformsarray–Keeps these platforms only. Repeat the parameter or separate values with commas. Leave it out for all platforms.
rangestring–A preset period up to today, 30d by default. Ignored when you send from or to.
timezonestring–The IANA time zone used to split days, such as America/New_York. Defaults to UTC. The zone's offset at the end of the period is used for the whole period.
tostring–End date in `timezone`, as YYYY-MM-DD, included. Defaults to today.

No output schema declared.

No examples provided.

get_analytics_series ~376

Counts matched, relevant and sentiment mentions per day or week (bucket, days by default up to 90 days). Returns one "total" series, or splits by="platform" or by="keyword" (top 20, rest as "other"). Period options match get_analytics_summary. compare=true adds `previous`, the prior period, aligned by index.

NameTypeReqDescription
bucketstring–The size of each point. hour for periods up to 14 days, day, week (starting Monday) or month. By default days up to 90 days and weeks beyond.
bystring–Splits the data into a series for each platform, each keyword or each sentiment (positive, neutral, negative, unclassified). By keyword you get the top 20 by matches, with the rest combined as "other…
compareboolean–true adds the equally long period just before as `previous`.
fromstring–Start date in `timezone`, as YYYY-MM-DD. That day is included.
keywordIdsarray–Keeps these keyword ids only. Repeat the parameter or separate values with commas. Leave it out for all keywords.
platformsarray–Keeps these platforms only. Repeat the parameter or separate values with commas. Leave it out for all platforms.
rangestring–A preset period up to today, 30d by default. Ignored when you send from or to.
timezonestring–The IANA time zone used to split days, such as America/New_York. Defaults to UTC. The zone's offset at the end of the period is used for the whole period.
tostring–End date in `timezone`, as YYYY-MM-DD, included. Defaults to today.

No output schema declared.

No examples provided.

get_analytics_summary ~329

Returns summary counts for a period. Covers matched and relevant mentions, unique posts and people, sentiment, buying intent, questions, reach and triage. Reach sums followers where known. Triage gives open, ignored and done counts, mentions waiting over 24h, handled rate and median time to done. Set the period with range (7d, 30d, 90d or 365d, ending today) or from and to (YYYY-MM-DD). keywordIds and platforms take lists. timezone (IANA, default UTC) sets day boundaries. compare=true adds the prior period as `previous`. Dates are publish dates.

NameTypeReqDescription
compareboolean–true adds the equally long period just before as `previous`.
fromstring–Start date in `timezone`, as YYYY-MM-DD. That day is included.
keywordIdsarray–Keeps these keyword ids only. Repeat the parameter or separate values with commas. Leave it out for all keywords.
platformsarray–Keeps these platforms only. Repeat the parameter or separate values with commas. Leave it out for all platforms.
rangestring–A preset period up to today, 30d by default. Ignored when you send from or to.
timezonestring–The IANA time zone used to split days, such as America/New_York. Defaults to UTC. The zone's offset at the end of the period is used for the whole period.
tostring–End date in `timezone`, as YYYY-MM-DD, included. Defaults to today.

No output schema declared.

No examples provided.

get_company ~54

Returns the company profile the classifier reads, with name, description, use cases, own accounts and the context text built from them for relevance scoring. A group with its own description replaces that text for its keywords (see list_groups).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_filters ~63

Returns the workspace noise rules that run before any mention is stored, for every keyword. They exclude terms, authors and GitHub repositories, and allow or block subreddits. Rejected posts are never classified, sent or billed. Keywords add their own `matching` rules.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_group ~34

Returns a keyword group by id, with its number of keywords.

NameTypeReqDescription
idstringyesThe group's id (grp_...)

No output schema declared.

No examples provided.

get_keyword ~61

Fetches a keyword by id. Returns its setup (term, kind, platforms, matching rules, context, monthly cap, pausedForCap), its stats and how polling goes on each platform.

NameTypeReqDescription
idstringyesThe keyword's id (kw_...)

No output schema declared.

No examples provided.

get_keyword_health ~258

Checks whether a keyword earns its cost, over range 7d, 30d or 90d (default 30d). Returns a status with plain-word reasons. noisy is 20+ scored matches with under 30% relevant, quiet is 7+ days old with nothing relevant, new is under 7 days old, and the rest are healthy, capped or paused. Also returns matches, relevant and noise share by platform and week, cost, the words and authors behind the noise, and suggestions. To apply one, pass its `patch` and the keyword id to update_keyword (lists replace the whole list). Its `effect` shows the noise and relevant matches and the cents the matcher's rules say it would have removed in the period. ai=true adds a model-written context (cached a day, 20 calls an hour per workspace). Read only, never billed, cached 5 minutes.

NameTypeReqDescription
aiboolean–true also asks a language model to rewrite the context. False by default.
idstringyesThe keyword's id (kw_...)
rangestring–How far back from today to read. 7d, 30d (the default) or 90d.

No output schema declared.

No examples provided.

get_mention ~44

Fetches one mention, classification included (relevance, sentiment, intents, confidence, uncertain, note).

NameTypeReqDescription
idstringyesThe mention's id (mm_...)

No output schema declared.

No examples provided.

get_mention_stats ~96

Returns mention counts for the past N days (7 by default), by platform and by sentiment. You can limit it to one platform or keyword. Mentions without a score are counted under the sentiment "unclassified".

NameTypeReqDescription
keywordIdstring–Counts only the mentions of this keyword id
platformstring–Counts only this platform's mentions
sinceDaysinteger–How many days back to count

No output schema declared.

No examples provided.

get_person ~107

Returns one person from your audience with their counts, your tags, notes and mute, and their outreach status (owner, stage, last contacted). It also has their public profile where the platform shows one, with bio, company, location, website and linked accounts. profile.email is always null here. GitHub authors are looked up the same day, and profile is null until then.

NameTypeReqDescription
idstringyesThe aut_... id from list_people, or author.id on a mention

No output schema declared.

No examples provided.

get_reviews_report ~316

Reports on the reviews your keywords collect from the App Store, Google Play, Trustpilot and Google over a period. Includes totals (reviews, average stars, star distribution, replies, open 1 and 2 star reviews), tags from unhappy reviews, and each review page's average stars per day or week (bucket). Two keywords matching one review count it once. Period options match get_analytics_summary, and compare=true adds the prior period.

NameTypeReqDescription
bucketstring–The step of each series, day or week. Days by default for periods up to 90 days.
compareboolean–true adds the equally long period just before as `previous`.
fromstring–Start date in `timezone`, as YYYY-MM-DD. That day is included.
keywordIdsarray–Keeps these keyword ids only. Repeat the parameter or separate values with commas. Leave it out for all keywords.
platformsarray–Keeps these platforms only. Repeat the parameter or separate values with commas. Leave it out for all platforms.
rangestring–A preset period up to today, 30d by default. Ignored when you send from or to.
timezonestring–The IANA time zone used to split days, such as America/New_York. Defaults to UTC. The zone's offset at the end of the period is used for the whole period.
tostring–End date in `timezone`, as YYYY-MM-DD, included. Defaults to today.

No output schema declared.

No examples provided.

get_share_of_voice ~271

Compares your brand with competitors. Returns each keyword with matches in the period, with matched, relevant, negative and buy-intent counts and its percentage of all brand and competitor matches. Topics are counted but not part of the split. The period works as in get_analytics_summary. compare=true adds each keyword's matches for the period just before.

NameTypeReqDescription
compareboolean–true adds the equally long period just before as `previous`.
fromstring–Start date in `timezone`, as YYYY-MM-DD. That day is included.
keywordIdsarray–Keeps these keyword ids only. Repeat the parameter or separate values with commas. Leave it out for all keywords.
platformsarray–Keeps these platforms only. Repeat the parameter or separate values with commas. Leave it out for all platforms.
rangestring–A preset period up to today, 30d by default. Ignored when you send from or to.
timezonestring–The IANA time zone used to split days, such as America/New_York. Defaults to UTC. The zone's offset at the end of the period is used for the whole period.
tostring–End date in `timezone`, as YYYY-MM-DD, included. Defaults to today.

No output schema declared.

No examples provided.

get_usage ~75

Shows whether tracking is stopped or the balance is low, with the prepaid balance (ledger, pending mention charges, effective), daily spend and days left, running and balance-paused keywords, and matches today and over 30 days. Pricing is $0.008 per matched mention and $5 a month per active keyword, charged daily.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_usage_breakdown ~373

Usage and charges for a period in US cents at list price, grouped by one `by` per call. keyword (default) gives days charged, mentions billed and totalCents per keyword, with deleted keywords marked keyword.removed=true. platform and day also work. Pick a trailing `range` (7d, 30d or 90d, default 30d) or a calendar `month` (YYYY-MM), which matches a bill or a per-client margin. Every call includes totals (keyword-days, matched and billed mentions, list-price total, actual ledger debits). Rows are paged (limit, offset, total). Use it for "what did keyword X cost". get_usage tells how much is left, and get_keyword has each keyword's month-to-date cost as stats.cost.

NameTypeReqDescription
bystring–How to group the rows. day gives one row per UTC day, then platform, keyword (the default, used to work out margins), or group (the cost of a client or campaign).
limitinteger–How many rows to return, from 1 to 500, 100 by default. Only by=keyword can need more than one page, since a period has at most 90 days and there are only a dozen platforms.
monthstring–A calendar month (YYYY-MM, UTC) to read instead of a range. It covers the month's first to last day, or up to today for the current month. A future month returns 400.
offsetinteger–How many rows to skip.
rangestring–How many UTC days back from today to read. One of 7d, 30d or 90d, 30d by default. Ignored when you send `month`.

No output schema declared.

No examples provided.

list_activities ~97

Shows who on the team has contacted a person, latest first. Each entry has the member, the channel, the time and a note. Channels are email, x, linkedin, bluesky, reddit, github, call, meeting and other. Look at this and the outreach owner before contacting someone, so teammates don't double up.

NameTypeReqDescription
idstringyesThe aut_... id from list_people, or author.id on a mention

No output schema declared.

No examples provided.

list_alerts ~37

Returns every alert with its filter, mode, schedule and channels. The mode is instant, or hourly, daily or weekly for a digest.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_attention ~160

Lists items that need a person, latest first. Kinds are mention.spike (mentions jumped in the last hour), sentiment.negative_spike (24-hour negative share jumped), keyword.noisy (turned noisy) and channel.failing (recent sends all failed). Checks run hourly, and items resolve when the condition ends. Open items by default, and status "all" adds the history. Items have a one-line title, numbers in data, and data.url to the dashboard.

NameTypeReqDescription
cursorstring–The nextCursor of the previous call.
kindsarray–Keeps these kinds only.
limitinteger–Number of items, 50 if omitted.
statusstring–Which items to list. Defaults to open.

No output schema declared.

No examples provided.

list_channels ~40

Lists alert destinations (Slack channels, Telegram chats, email lists, webhooks). Connect Telegram chats in the dashboard under Settings, Integrations. The API can't.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_groups ~89

Lists the workspace's keyword groups, the default first. Groups organize keywords, for example by client, campaign or product. Every keyword is in one group, a group can hold a term once, and get_usage_breakdown with by=group shows each group's cost. externalId finds the group with your own id.

NameTypeReqDescription
externalIdstring–Filters to the one group whose externalId matches exactly.

No output schema declared.

No examples provided.

list_keywords ~364

Lists the workspace's keywords with stats, polling status, matching rules and context, plus `total`. With no arguments you get all keywords, latest first. q searches the term and context. You can filter by kind, status (active, muted by someone, paused for balance, noisy when the noise brake paused it, or capped at its monthly mention cap), platform or groupId, order with sort, and page with limit and offset.

NameTypeReqDescription
groupIdarray–Keeps keywords in these groups only (grp_...). Repeat the parameter or separate values with commas.
kindarray–Keeps keywords of these kinds only (brand, competitor, topic). Repeat the parameter or separate values with commas.
limitinteger–How many to return, from 1 to 500. Leave it out to get all keywords after `offset`.
offsetinteger–How many keywords to skip.
platformarray–Keeps keywords that run on one of these platforms. That means the term is searched there, which is every platform when platforms is null. For appstore and googleplay it means an app from that store i…
qstring–Case-insensitive search in the term and context.
sortstring–newest puts the latest created first and oldest the earliest. term sorts A to Z. mentions puts the most matches first and relevant the most relevant matches. recent puts the most matches of the past…
statusarray–Keeps keywords in these states only (active, muted, paused, capped). Repeat the parameter or separate values with commas.

No output schema declared.

No examples provided.

list_ledger ~116

Shows the prepaid balance's history, latest first. Entries cover the welcome credit, top-ups, refunds, adjustments, and the daily keyword-day and mention debits. Debits carry their UTC settlement day and cumulative units. Cursor pages, limit up to 100. Funds are added on the dashboard's billing page or with POST /v1/billing/top-ups.

NameTypeReqDescription
cursorstring–The cursor of the previous page. Do not parse it.
limitinteger–How many to return, 25 by default.

No output schema declared.

No examples provided.

list_members ~45

Lists workspace members with their role (owner, admin, member), email and user id. Use the user id for assigneeId in update_mention and ownerId in update_person.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_mention_comments ~108

The comments under a mention's post, newest first, whether or not each names your keyword, with a light sentiment and intent read and mentionId when a comment is itself one of your mentions. Filled for new relevant mentions of keywords with comments on, from 30 minutes after the post.

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 ~642

Lists the authors of mentions of your keywords. Each has name, profile, platform, how many posts matched and how many scored relevant, sentiment split, first and last seen, and outreach status (owner, stage, last contacted). You can filter by platform or name, find one person by handle or profile link (handle), and filter by outreach stage (stages), owner (ownerIds, or "none" for no owner) or automated (bots whose posts are mostly machine-made). Sort by mentions or by recency. To read what one person said, use search_mentions with personId.

NameTypeReqDescription
automatedboolean–true keeps people whose matched posts are mostly machine-made, such as bots. false keeps the others
handlestring–Looks up one person by an account, given as a handle (@sam, u/sam) or a profile or post link (https://x.com/sam). The match is exact but ignores case. Add platform to pick one platform
intentsarray–Has a mention tagged with one of these intents
keywordKindsarray–Keeps people who mentioned a keyword of one of these kinds (brand, competitor, topic)
limitinteger––
linkHostsarray–Keeps people with a mention that links to one of these hosts or its subdomains, so slack.com also matches api.slack.com
maxFollowersinteger––
minFollowersinteger–Keeps people with this many followers or more. Unknown counts are left out
minMentionsinteger–Minimum number of matched mentions
minNegativeinteger–Minimum number of negative mentions
mutedboolean–true keeps muted people and false people who are not muted. Leave it out for everyone
neverKeywordKindsarray–Excludes people who mentioned these keyword kinds
newSinceDaysinteger–Keeps people first seen in the past this many days
offsetinteger–How many people to skip, for paging
ownerIdsarray–Keeps people owned by one of these members, by user id. Use "none" for people without an owner
platformstring–Only people with a profile on this platform
platformsarray–Keeps people with an account on one of these platforms
qstring–Searches the display name, handle and profile link
segmentIdstring–Adds a saved segment's filter (from list_segments) to the other filters
sinceinteger–Keeps people whose first matched mention is at this time or later, as ISO 8601 or epoch ms. Use it to find new voices
sortstring–"mentions" puts the most matches first, "recent" the most recently seen, "reach" the most followers, and "new" people seen for the first time most recently
stagesarray–Only people in one of these outreach stages
tagstring–Keeps people with this tag
tagsarray–Keeps people with one of these tags

No output schema declared.

No examples provided.

list_segments ~65

Lists your saved audience segments, which are named people filters such as "Large accounts" or "Open to switching", with the current number of people in each. Also returns presets you can save with create_segment. To see who is in a segment, pass its id to list_people.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_views ~48

Lists your saved views, which are named mention filters such as "Bug reports" or "Waiting on us". Pass a view's id as viewId to search_mentions to get exactly what it shows.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

log_activity ~219

Logs that someone on the team contacted a person, for example by email, direct message or call. A not_contacted person moves to contacted, and a person with no owner gets the contacting member as owner. A later stage or an existing owner stays, and update_person changes them. memberId falls back to the signed-in user. Called with an API key and no memberId, it logs an activity without a member and sets no owner. Returns the new activity and the updated person.

NameTypeReqDescription
channelstringyesHow the person was contacted.
idstringyesThe aut_... id from list_people, or author.id on a mention
memberIdstring–The user id of the member who reached out. Defaults to the signed-in member. With an API key and no value, the activity has no member.
notestring–A short summary of what was sent or said.
occurredAtinteger–Defaults to now. Otherwise send the contact time as ISO 8601 or epoch ms.

No output schema declared.

No examples provided.

merge_people ~79

Tells your workspace that two accounts are the same individual by merging account `id` into person `into`. Their mentions, tags and notes are combined, and the merged account appears among the person's platforms.

NameTypeReqDescription
idstringyesThe account to merge (aut_...)
intostringyesThe person to merge it into (aut_...)

No output schema declared.

No examples provided.

mute_authors ~143

Adds authors to an alert's muted list and keeps the rest of the filter. Entries can be profile or post links, @handles, u/names, Bluesky DIDs or display names. Links are stored as the author's profile. Authors already on the list are skipped, and entries that don't name a person are refused.

NameTypeReqDescription
authorsarrayyesA profile link (x.com/name, linkedin.com/in/name, reddit.com/user/name), post link, handle (@name, u/name), Bluesky DID or display name. Links are stored as the author's profile. A bare name or handl…
idstringyesThe alert's id

No output schema declared.

No examples provided.

search_mentions ~1,888

Searches the workspace's mentions. You can filter by keyword, platform, status (open, ignored, done), relevant, minimum relevance, minimum confidence (0 to 1), sentiment, intent, text (q, in the post or the author's name) and time range (ISO 8601). You can also filter by one person (personId from list_people), assignee (assigneeId), author followers (minFollowers, maxFollowers), engagement counts from the platform (minLikes, minReposts, minReplies, minQuotes, minViews, minBookmarks, where posts without that count are left out), review stars (ratings, or notRatings to exclude some), author tags (tags, any of them), linked hosts (linkHosts, a host or its subdomains), replies or not (isReply), and machine-made posts (automated true or false). alertId applies an alert's whole filter, giving the mentions it would send. viewId applies a saved view from list_views on top of the rest. keywordKinds filters by the kind of keyword that matched (brand, competitor, topic), and groupIds or notGroupIds by the keyword's group (ids from list_groups). All filters are joined by AND. For OR, anyOf takes up to 10 groups of the same conditions, each an object whose conditions are joined by AND, and keeps a mention when one group matches as well as the rest. For example anyOf=[{platforms:["github"],intents:["bug_report"]},{sentiments:["negative"]}]. Snoozed mentions are hidden unless snoozed=true. sort is "newest" (the default) or "priority", an attention score built from relevance, author reach, intent and age that covers only the past 30 days of matches and comes on each mention as `priority`. Returns 10 mentions by default, up to 100 with limit. Each mention contains post, author, classification and triage.

NameTypeReqDescription
alertIdstring–Adds an alert rule's filter (an id from GET /v1/alerts) to the other filters. You get the mentions the rule would send, useful for a preview or an export in feed form. An unknown id returns 404.
anyOfarray–Up to 10 OR'd groups (at least 1). A mention must meet every condition of some group, plus all other conditions, so the filter reads (other conditions) AND (group 1 OR group 2 ...). Groups take view…
assigneeIdstring–Member user id. Returns only mentions assigned to them.
automatedboolean–true keeps mentions that look machine-made, such as bot accounts, scheduled or template posts and AI-written text. false keeps the others, including mentions scored before this flag existed. Leave it…
excludeAuthorsarray–Leaves out these authors, given as display names, handles or profile links. Repeat the parameter or send one value with commas.
groupIdsarray–Keeps matches of keywords in these groups only (grp_...). Repeat the parameter or separate values with commas.
includeMutedboolean–true also returns mentions by muted people, which are hidden by default.
intentstring–Returns only mentions with this tag. One of bug_report, buy_intent, churn_intent, comparison, complaint, event, feedback, hiring, industry_insight, launch, praise, pricing, promotional, question and…
intentsarray–Keeps mentions tagged with one of these intents or topics.
isReplyboolean–true keeps replies and comments, meaning posts that answer another post. false keeps posts that are not replies. Leave it out for both.
keywordIdstring–Only this keyword's matches.
keywordIdsarray–Keeps matches of these keywords only.
keywordKindsarray–Keeps matches of keywords of these kinds only (brand, competitor, topic). Repeat the parameter or separate values with commas.
kindstring–Only posts (post) or only comments (comment: replies, comments and answers). repository (GitHub repository events) is accepted and matches nothing, since Rumoro does not collect them. Omitted: all.
languagesarray–Sends only posts in these languages, as ISO 639-1 codes such as en, es or de. Posts with an unknown language are left out.
limitinteger–How many mentions to return, from 1 to 100. The default is 10, so narrow the filters before you ask for more.
linkHostsarray–Keeps posts that link to one of these hosts or its subdomains, so slack.com also matches api.slack.com. Repeat the parameter or separate values with commas.
maxFollowersinteger–Keeps posts by authors with this many followers or fewer. Unknown counts are left out.
minBookmarksinteger–Keeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out.
minConfidencenumber–Minimum classifier confidence, 0 to 1. Mentions with no confidence are dropped.
minFollowersinteger–Sends only posts by authors with this many followers or more. Unknown counts are left out.
minLikesinteger–Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out.
minQuotesinteger–Keeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out.
minRelevanceinteger–Keeps mentions with this relevance score or higher. Unscored mentions are left out.
minRepliesinteger–Keeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out.
minRepostsinteger–Keeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out.
minViewsinteger–Keeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out.
notGroupIdsarray–Hides matches from keywords that belong to these groups.
notIntentsarray–Intent or topic tags to exclude.
notKeywordIdsarray–Keyword ids to exclude.
notLanguagesarray–Leaves out posts in these languages. Posts with an unknown language are kept.
notLinkHostsarray–Leaves out posts that link to these hosts or their subdomains.
notPlatformsarray–Platforms to exclude.
notRatingsarray–Star ratings (1 to 5) to hide, such as notRatings=5. Other posts are unaffected.
notSentimentsarray–Leaves out these sentiments. Mentions not scored yet are kept.
notTagsarray–Leaves out authors your workspace gave one of these tags.
personIdstring–Keeps mentions by this person (an id from /v1/people), including merged accounts. Turns on includeMuted.
platformstring–Only this platform's posts.
platformsarray–Keeps posts from these platforms only.
qstring–Searches post text and author names.
ratingsarray–Keeps reviews with one of these star ratings, from 1 to 5. Use ratings=1,2 for the unhappy ones. Posts that are not reviews are left out.
relevantboolean–true keeps mentions the classifier scored relevant. false keeps the others, including unscored ones.
sentimentstring–Keeps mentions with this sentiment only.
sentimentsarray–Keeps mentions with these sentiments only.
sinceinteger–Keeps posts published at this time or later, as ISO 8601 or epoch ms.
snoozedboolean–true shows only snoozed mentions, which are otherwise hidden until they wake.
sortstring–newest orders by match time, latest first. priority orders by attention score, highest first, and only covers the past 30 days of matches. Older ones are still available with newest. A cursor only wo…
statusstring–Keeps mentions with this status only. Leave it out for all statuses.
tagsarray–Keeps authors your workspace gave one of these tags, matched exactly and by case. Repeat the parameter or separate values with commas.
untilinteger–Keeps posts published at this time or earlier, as ISO 8601 or epoch ms.
viewIdstring–Adds a saved view's filter (an id from GET /v1/views) to the other filters, with every condition joined by AND. You get exactly what the view shows. An unknown id returns 404.

No output schema declared.

No examples provided.

split_person ~48

Reverses a merge, so the account is a separate person again in your workspace.

NameTypeReqDescription
idstringyesThe aut_... id from list_people, or author.id on a mention

No output schema declared.

No examples provided.

unmute_authors ~120

Takes authors off an alert's muted list and keeps the rest of the filter. Each entry can be the stored value or a link to the person's profile or posts. Authors not on the list are skipped.

NameTypeReqDescription
authorsarrayyesA profile link (x.com/name, linkedin.com/in/name, reddit.com/user/name), post link, handle (@name, u/name), Bluesky DID or display name. Links are stored as the author's profile. A bare name or handl…
idstringyesThe alert's id

No output schema declared.

No examples provided.

update_alert ~117

Changes an alert's name, enabled, mode, schedule, filter or channelIds. filter and channelIds are replaced in full.

NameTypeReqDescription
channelIdsarray–Sets the full new list.
enabledboolean––
event–––
filterobject–Sets the full new filter.
idstringyesThe alert's id
modestring––
namestring––
schedule––For daily and weekly alerts. An hourly alert ignores it, but refuses a weekday.

No output schema declared.

No examples provided.

update_company ~192

Changes the company profile (name, description, useCases, accounts) or sets the classifier context yourself. Profile changes rebuild the context, and a context you set applies until the next profile change. The context affects relevance scores more than anything else, so keep it accurate and specific. It does not apply to keywords in a group with its own description, which you change with update_group. Fields you leave out stay as they are.

NameTypeReqDescription
accountsobject––
competitorsarray–Sets the full new list. An empty list clears it.
contextstring–Replaces the built context until the next profile change.
descriptionstring––
guidelines––Rules for the classifier in your own words. Null removes them.
namestring––
useCasesarray–Sets the full new list.
website––The company's website. Null removes it.

No output schema declared.

No examples provided.

update_filters ~180

Changes the workspace filters. These are excludedTerms (`*` at either end is a wildcard), excludedAuthors (links, handles or names), excludedRepos (owner/name or a github.com link), subreddits.only (allowed subreddits, and when set, excluded is ignored) and subreddits.excluded. Every list is optional. A list you leave out stays as it is, and an empty list clears it. New mentions follow the change within a minute.

NameTypeReqDescription
excludedAuthorsarray–Sets a new list. An empty list clears it.
excludedReposarray–Sets a new list. An empty list clears it.
excludedTermsarray–Sets a new list. An empty list clears it.
subredditsobject–Applies to Reddit only. A list you leave out stays as it is.

No output schema declared.

No examples provided.

Install

How do I install the Rumoro MCP server?

Rumoro is a hosted endpoint at https://mcp.rumoro.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.rumoro.dev

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

What is the Rumoro MCP server?

Rumoro is an MCP server listed in the public MCP registry as dev.rumoro/mcp. Track what people say about your product on Reddit, X, Hacker News, GitHub and more. This page covers its hosted endpoint (https://mcp.rumoro.dev/mcp).

Is the Rumoro MCP server safe to use?

Rumoro scores 92 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 Rumoro MCP server expose?

Rumoro exposes 57 tools: list_segments, create_segment, update_segment, delete_segment, list_views, and 52 more. Their descriptions and schemas cost roughly 11,815 tokens of context every time the server is loaded.

Does the Rumoro MCP server require authentication?

Yes. Rumoro 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 Rumoro MCP server still maintained?

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