Concepts
Core concepts behind SnitchFeed — listeners, queries, mentions, fit score, intent, intent tags, analytics, and more.
Understanding these concepts will help you get the most out of the MCP integration and the SnitchFeed dashboard.
Listener
A listener is the top-level monitoring unit. It groups one or more keyword queries under a single topic and gives that topic a name, color, and AI intent description.
Examples: "Brand Mentions", "Competitor: Acme", "Pain Points in our category".
Each listener has:
| Field | Description |
|---|---|
name | Display label shown in the dashboard and returned by tools |
status | active (running) or paused (suspended, no new mentions collected) |
color | Hex color for visual organization in the dashboard |
intent | Natural language description of the ideal post this listener should match — used to calibrate AI fit scoring |
negative_intent | Description of what irrelevant posts look like — used to push down fit scores for noise |
A listener must always have at least one active query. Deleting all queries requires deleting the listener itself.
Query (Listener Query)
A query is a keyword rule that lives inside a listener. One listener can have multiple queries, which lets you monitor different keyword variations or platform-specific rules under the same topic.
Each query defines:
| Field | Description |
|---|---|
query_text | Boolean keyword expression — see Query Grammar |
platforms | Which platforms this query runs on: reddit, twitter, linkedin, bluesky |
whole_word | Match whole words only (default: false) |
case_sensitive | Case-sensitive matching (default: false) |
included_subreddits | Reddit: only scan these subreddits |
excluded_subreddits | Reddit: skip these subreddits |
linkedin_author_job_title | LinkedIn: filter by author job title keyword |
linkedin_author_company | LinkedIn: filter by author company keyword |
linkedin_post_type | LinkedIn: any, person, or company |
twitter_minimum_likes | Twitter: only include posts with at least this many likes |
Queries are not shared across listeners — each belongs to exactly one listener.
Query Grammar
Query text uses a boolean expression language:
| Operator | Example | Meaning |
|---|---|---|
AND | pricing AND saas | Both terms must match |
OR | SnitchFeed OR snitchfeed.com | Either term must match |
NOT | saas NOT enterprise | Excludes matches |
| Parentheses | (saas OR b2b) AND churn | Grouping |
- Bare words match case-insensitively:
react - Quoted strings match exactly:
"React Native" - At least one positive (non-NOT) term is required per query
- LinkedIn queries cannot use
{ }brace expansion,*wildcards,+as AND, or-as NOT
Use the snitchfeed_get_query_grammar tool for the full reference including term limits.
Mention
A mention is a social post or comment that matched one of your active listener queries. Mentions are the core output of SnitchFeed.
Each mention includes:
- platform — where it was found (
reddit,twitter,linkedin,bluesky) - datePublished — when the post was originally published on the platform
- content — normalized object with:
url,text,author,title,subreddit,parentPost(Reddit comments), and engagement metrics - matched keywords — which query terms triggered the match
- AI analysis —
aiSentiment,aiFitScore,aiIntentTags,aiLanguage,aiIntentSummary - seen — whether the mention has been viewed in the dashboard
Fit Score
Fit score is an AI-assigned relevance score (0–1) that reflects how closely a mention matches the listener's intent description. It answers: "Is this the kind of post we actually care about?"
| Bucket | Score range | Meaning |
|---|---|---|
high | ≥ 0.7 | Strong match for the listener's target audience or topic |
medium | 0.5–0.7 | Partial match — may be worth reviewing |
low | < 0.5 | Weak match — likely noise |
Fit score is calibrated by the listener's intent and negative_intent fields. A listener without intent set will produce less differentiated scores. To improve scoring, set the intent to a specific plain-language description of the ideal post — for example: "SaaS founders actively evaluating social listening tools for their GTM stack."
Intent and Negative Intent
Intent is a free-text field on a listener describing what the ideal matching post or person looks like. The AI uses it to raise fit scores for on-target mentions.
Negative intent is the inverse: a description of posts that should score low even if they keyword-match — for example, "spam, promotional posts, or generic discussions not related to tooling decisions."
Both fields are optional but significantly improve the signal-to-noise ratio in high-volume listeners.
Intent Tags
Intent tags (also called intent signals) are AI-assigned labels on each mention describing its commercial or contextual signal. Multiple tags can apply to a single mention. Use them for filtering, analytics breakdowns, and routing.
| Tag | What it means |
|---|---|
buying_intent | Author is actively evaluating or searching for a product/service to adopt |
recommendation_request | Author is explicitly asking others to recommend tools, vendors, or solutions |
comparison | Author is comparing multiple products or approaches side-by-side |
seeking_alternative | Author is dissatisfied with a current solution and wants to replace it |
content_opportunity | Mention contains a question or discussion that could inspire educational or marketing content |
pain_point | Author is expressing frustration, inefficiency, or a workflow blocker |
competitor_complaint | Author is criticizing a specific competing product or company |
competitor_mention | A competitor is referenced, regardless of sentiment |
feature_request | Author is asking for missing functionality or an integration |
praise | Author is expressing satisfaction or endorsement |
hiring | Mention involves hiring, recruiting, or team expansion |
brand_mention | The monitored organization's own brand or product name appears explicitly |
promotional | Author is actively promoting or marketing a product (launch, affiliate, offer, etc.) |
Sentiment
Sentiment is the AI-detected emotional tone of a mention:
| Value | Score range |
|---|---|
positive | ≥ 0.6 |
neutral | 0.4–0.6 |
negative | < 0.4 |
Sentiment reflects the tone of the post, not its relevance. A high-fit mention can be negative (a competitor complaint) or positive (praise for your product).
Platform
SnitchFeed monitors four social platforms:
| Platform | What is monitored |
|---|---|
reddit | Posts and comments across public subreddits |
twitter | Public tweets (X/Twitter) |
linkedin | Public LinkedIn posts |
bluesky | Public Bluesky posts |
Each listener query can be scoped to any combination of platforms. Platform-specific filters apply only to their respective platforms.
Analytics
Analytics are aggregated metrics computed over your mention data. You choose:
- Metric —
mentions(count),unique_authors,avg_sentiment,avg_fit_score - Group by — dimension to aggregate across:
day,platform,keyword,sentiment,fitScore,subreddit,language,listener, or intent tag - Breakdown — optional second axis, e.g. daily mentions broken down by platform
- Filters — date range, platform, sentiment, fit score bucket, listener, intent tags, keywords
Analytics answer questions like "How many high-fit mentions did we get last month?" or "Which platform is driving the most buying intent signals?"
Analytics Report
An analytics report is a saved, named analytics query that appears in the SnitchFeed dashboard. Reports run immediately on creation and cache results for 15 minutes, auto-refreshing after that.
Report IDs persist across sessions and can be retrieved with snitchfeed_list_analytics_reports. Use reports for recurring metrics you want visible in the dashboard without re-running queries each time.