mentiondrop

AI-triaged brand, competitor and demand mentions from Reddit, Google News and search.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
72%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_competitor_signals' description lacks action verbin get_competitor_signals

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,519Tokens (tool definitions)
~728 BTypical response size
Moderate attention impact (1.19% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mentiondrop": {
      "url": "https://www.mentiondrop.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.mentiondrop.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_keywords

List every keyword this MentionDrop account monitors, with its id, role (own_brand, competitor, or industry), and active state. Call this first to discover the keyword ids and role names the other tools accept.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_keyword(keyword, role, context)

Start monitoring a new keyword for this account. Takes an optional role (own_brand, competitor, or industry) and a short context string that sharpens relevance scoring. Enforces the account plan keyword limit and rejects keywords too generic to produce signal.

Input Schema

{
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100
    },
    "role": {
      "type": "string",
      "enum": [
        "own_brand",
        "competitor",
        "industry"
      ]
    },
    "context": {
      "type": "string",
      "maxLength": 300
    }
  },
  "required": [
    "keyword"
  ],
  "additionalProperties": false
}
🟡update_keyword(id, is_active, context, role, excluded_content_types, ...)

Update one existing monitored keyword by id: change its role, context, active state, minimum relevance threshold, excluded content types, or exclusion terms. Use list_keywords to find the id. Pausing a keyword sets is_active to false rather than deleting it.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "is_active": {
      "type": "boolean"
    },
    "context": {
      "type": [
        "string",
        "null"
      ]
    },
    "role": {
      "type": "string",
      "enum": [
        "own_brand",
        "competitor",
        "industry"
      ]
    },
    "excluded_content_types": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "exclusion_terms": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "min_relevance": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢get_recent_mentions(role, keyword, source, sentiment, from, ...)

Return the most recent mentions matched for this account, newest first, each with its AI summary, sentiment, relevance score, and suggested action. Filter by keyword role, specific keyword, source, sentiment, and date range. Use this to answer "what came in lately".

Input Schema

{
  "type": "object",
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "own_brand",
        "competitor",
        "industry"
      ]
    },
    "keyword": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "firehose",
        "reddit",
        "brave",
        "google_news",
        "serper",
        "hackernews",
        "adzuna"
      ]
    },
    "sentiment": {
      "type": "string",
      "enum": [
        "positive",
        "neutral",
        "negative"
      ]
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}
🟢search_mentions(query, role, keyword, source, sentiment, ...)

Find mentions whose title, summary, URL, suggested action, or matched keyword contain every word in the query. Use this to look for a specific topic, product, or phrase rather than a plain time window.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "role": {
      "type": "string",
      "enum": [
        "own_brand",
        "competitor",
        "industry"
      ]
    },
    "keyword": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "firehose",
        "reddit",
        "brave",
        "google_news",
        "serper",
        "hackernews",
        "adzuna"
      ]
    },
    "sentiment": {
      "type": "string",
      "enum": [
        "positive",
        "neutral",
        "negative"
      ]
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_competitor_signals(competitor, from, to, limit)

Return recent mentions matched by competitor-role keywords, optionally narrowed to a single competitor name. Use this to see what people are publicly saying about rival products.

Input Schema

{
  "type": "object",
  "properties": {
    "competitor": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}
🟢get_pain_signals(keyword, from, to, limit)

Return recent industry-role mentions that read as demand or pain signals, meaning they carry a suggested action or score at least 80 for relevance. Use this to find people publicly describing a problem the product solves.

Input Schema

{
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}
🟢get_digest(from, to, limit)

Return one grouped catch-up brief of recent mentions, split into owned brand mentions, competitor signals, demand signals, and conversations worth replying to. Use this when a single summary is wanted instead of separate queries.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}
🟢get_mention(id)

Fetch one mention by id with its full record: title, AI summary, sentiment, relevance score, suggested action, source, and matched keyword. Only returns mentions owned by this account.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
⚪mark_mention_reviewed(id, verdict)

Record a review verdict on one mention as relevant or not_relevant. This feedback tunes how future mentions are scored for the account. Re-sending the same verdict is safe.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "verdict": {
      "type": "string",
      "enum": [
        "relevant",
        "not_relevant"
      ]
    }
  },
  "required": [
    "id",
    "verdict"
  ],
  "additionalProperties": false
}
⚪generate_reply_draft(mention_id, draft_intent)

Generate a draft reply or outreach email for one processed mention. Returns draft text for a human to review and never posts, sends, or publishes anything.

Input Schema

{
  "type": "object",
  "properties": {
    "mention_id": {
      "type": "string"
    },
    "draft_intent": {
      "type": "string",
      "enum": [
        "reply",
        "outreach_email"
      ]
    }
  },
  "required": [
    "mention_id"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools