Skip to main content
Glama
buzzsearch

BuzzSearch MCP Server

Official
by buzzsearch

BuzzSearch MCP Server

Give your AI agent your customers' exact words. BuzzSearch reads comments on Reddit, TikTok, YouTube, and Facebook and hands your agent verbatim quotes, pain points, objections, and ad hooks, each one linked to where it was written.

npm MCP Registry License: MIT

Server URL: https://buzzsearch.ai/api/mcp

Website | Pricing | Get started free

What it does

  • Find customer pain points. Pull the complaints buyers repeat across threads and videos, each one quoted and linked.

  • Write ad hooks in their words. Turn real comments into hooks and scripts that sound like your buyer, not a template.

  • Research an audience. Learn who buys, what they tried before, and the words they use, before you write a line of copy.

Ask your agent something like "What do people hate about robot vacuums? Give me five hooks in their words" and it searches the comments, reads the quotes, and writes the copy without leaving the chat.

Related MCP server: Xpoz MCP Server

Quick start

The hosted server is the recommended install. You sign in with your BuzzSearch account the first time you connect, so there is no key to copy.

Plugin for Claude Code and Codex

The plugin connects to the same hosted server and exposes its tools directly. Use search for customer research, pain points, quotes, and ad hooks. No skills are bundled.

Once these plugin files are published to GitHub, install in Claude Code:

claude plugin marketplace add buzzsearch/buzzsearch-mcp-server
claude plugin install buzzsearch@buzzsearch-plugins

For Codex, add the repo marketplace:

codex plugin marketplace add buzzsearch/buzzsearch-mcp-server
codex plugin add buzzsearch@buzzsearch-plugins

You can also install BuzzSearch from the buzzsearch-plugins source in the plugin browser. Sign in to BuzzSearch through the client's MCP connection flow. If you already added the server manually, keep one connection to avoid duplicate tools.

For local testing and the shared repo layout, see distribution notes. You can also connect the server directly using the commands below.

Claude Code

claude mcp add --transport http buzzsearch https://buzzsearch.ai/api/mcp

Codex

codex mcp add buzzsearch --url https://buzzsearch.ai/api/mcp

Claude.ai and Claude Desktop

Settings, Connectors, Add custom connector, then paste https://buzzsearch.ai/api/mcp.

ChatGPT

Add a custom connector in settings, then paste https://buzzsearch.ai/api/mcp.

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "buzzsearch": { "url": "https://buzzsearch.ai/api/mcp" }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "buzzsearch": { "type": "http", "url": "https://buzzsearch.ai/api/mcp" }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "buzzsearch": { "serverUrl": "https://buzzsearch.ai/api/mcp" }
  }
}

Grok Build

grok mcp add --transport http buzzsearch https://buzzsearch.ai/api/mcp

Use an API key

For headless agents, CI, or clients that only run local (stdio) servers, create a key in the BuzzSearch app under Settings, API.

Send it as a header to the hosted server:

claude mcp add --transport http buzzsearch https://buzzsearch.ai/api/mcp \
  --header "Authorization: Bearer bz_live_..."

Or run the local package, which forwards to the hosted server:

{
  "mcpServers": {
    "buzzsearch": {
      "command": "npx",
      "args": ["-y", "buzzsearch-mcp"],
      "env": { "BUZZSEARCH_API_KEY": "bz_live_..." }
    }
  }
}

Variable

Required

Description

BUZZSEARCH_API_KEY

yes

Your BuzzSearch API key

BUZZSEARCH_MCP_URL

no

Override the server URL. Default https://buzzsearch.ai/api/mcp

Tools

Tool

Cost

What it returns

search

credits

Searches the web for UGC on Reddit, TikTok, YouTube, and Facebook, reads the comments, and returns a cited answer with the top quotes. Paste a post or video link to read its comments.

get_search

free

Reads back a finished search, or resumes one still running.

get_quotes

free

Pages through every quote, filtered by pain point, failed solution, objection, desired outcome, lingo, source, or phrase.

get_sources

free

Lists the threads and videos read, with engagement and quote counts.

get_comments

free

Hands back the raw comment bodies, grouped by thread or video.

ask

answer only

Asks a follow-up over research you already ran, without searching again.

generate_hooks

answer only

Writes ad hooks from the quotes, in your customers' own words.

list_searches

free

Finds research you ran before, in the app or through the API.

get_balance

free

Checks your credit balance.

Prompts

Prompt

Arguments

What it does

research

topic, depth

Runs a search and reports the strongest pains, desired outcomes, objections, and vocabulary, each backed by quotes.

ad-script

search_id, format

Turns a finished search into three ad scripts that open with a real customer callout.

Example prompts

  • "Research what new moms complain about with baby carriers. Quote them."

  • "Search Reddit and TikTok for why people quit meal kit subscriptions, then write eight hooks for a TikTok UGC ad."

  • "Read the comments on this video and tell me the top objections: https://www.tiktok.com/@creator/video/123"

  • "List my past searches about skincare and pull the customer lingo from the latest one."

More in examples/.

Pricing

A search uses credits from your BuzzSearch balance, and the exact charge comes back with the result. Reading a finished search, its quotes, sources, and comments is free, so your agent can come back to the same research as often as it needs. See pricing.

FAQ

Which clients does it work with? Any client that supports remote MCP servers over HTTP, including Claude Code, Claude.ai, Claude Desktop, ChatGPT, Cursor, Codex, VS Code, Windsurf, and Grok Build. Stdio-only clients can use the buzzsearch-mcp package.

Do I need an API key? No, most clients open a BuzzSearch sign-in the first time you connect. Keys are for headless agents and the local package.

Can I use research from the BuzzSearch app? Yes. list_searches shows research you ran in the app too, and your agent can read its quotes and comments without paying for the search twice.

Development

npm install
npm run check:plugins
npm run build
BUZZSEARCH_API_KEY=bz_live_... npm run inspect   # MCP Inspector against the local build
BUZZSEARCH_API_KEY=bz_live_... npm run sync      # refresh tools.json from the live server

tools.json is a snapshot of the hosted server's tools and prompts, so the package can list them before a key is set. Calls always go to the hosted server.

License

MIT

Available Tools

9 tools
askAsk a follow-upA

Ask a new question over a completed search's corpus and get a cited answer, without searching again. Much cheaper than a new search: only the answer is metered at the API rate. Good for 'what do they say about price', 'summarize the objections', 'which phrases do they use for the problem'. Works on searches started through the API or MCP.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes
search_idYesThe search id returned by `search` or `list_searches`.
wait_secondsNoSeconds to wait server-side for completion before returning (0 to 55). Call again to resume.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and it does disclose meaningful behavior: only the answer is metered at the API rate, no re-search is performed, and it works on searches started via API or MCP. It does not explain what happens if the target search is not yet completed or how the server-side wait/resume behaves beyond the schema's own note.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with the core capability and followed by cost rationale and examples. Minor redundancy between 'without searching again' and 'Much cheaper than a new search', but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no output schema and no annotations, the description covers purpose, prerequisites, cost model, and that answers are cited. It leaves the async wait/resume behavior and failure modes to the schema, which is a small but real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% (search_id and wait_seconds are documented; question is not). The example questions give a feel for acceptable question phrasing but add no format, length, or scoping guidance for the required `question` parameter, so it only marginally compensates for the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: ask a question over a completed search's corpus to get a cited answer without re-searching. Clearly distinguishes itself from the sibling `search` by emphasizing that no new search occurs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the triggering condition ('completed search', 'without searching again') and concrete example questions ('what do they say about price', 'summarize the objections'), plus a cost contrast against a new search. It lacks an explicit when-not-to-use or a named alternative for the initial search case, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_hooksGenerate ad hooksA

Write ad hooks grounded in a completed search's quotes, using BuzzSearch's hook writer: each hook opens with a callout lifted from real comments and carries a loop or promise. Metered at the API rate, no new search. Give an angle to steer (a product, a persona, a platform).

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNoOptional steer, e.g. 'TikTok UGC for a $40 posture corrector'.
countNo
search_idYesThe search id returned by `search` or `list_searches`.
wait_secondsNoSeconds to wait server-side for completion before returning (0 to 55). Call again to resume.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does reasonably well: it discloses cost ('Metered at the API rate'), that no new search is performed, and the shape of the output (callout + loop/promise). It omits auth/permission needs and polling semantics, though the schema's wait_seconds description partially covers the latter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, each earning its place: purpose and grounding first, then cost/wait behavior, then the steering parameter. No filler or restatement of the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by describing what a hook contains and that results are grounded in real comments, plus metering and wait behavior. Coverage of count semantics and rate-limit specifics is thin, but nothing critical to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the schema already documents search_id, angle, and wait_seconds; the description's 'angle to steer (a product, a persona, a platform)' adds modest meaning over the schema's example. It adds nothing for `count`, whose schema entry has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (write ad hooks) and resource (hooks) grounded in a named source (a completed search's quotes), and describes the output mechanics (callout from real comments plus a loop or promise). This clearly separates it from siblings like search, get_quotes, and ask.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It establishes the precondition (needs a completed search's quotes / a search_id) and explicitly notes 'no new search,' steering an agent that needs fresh data elsewhere. It does not, however, name a direct alternative (e.g., use search first, or ask instead) for ambiguous cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_balanceGet credit balanceB

The user's BuzzSearch credit balance. Searches draw from it at the API rate; top up at buzzsearch.ai.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, but it does disclose useful behavior: this is a read-only balance lookup, searches consume the balance at the API rate, and top-ups happen off-tool at buzzsearch.ai. It omits auth requirements, currency/format of the returned balance, and any staleness or rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences with no filler; the resource is stated first and the consumption/top-up note second. The 'top up at buzzsearch.ai' clause is mildly promotional but still operationally relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool this is close to sufficient: it covers what the value is and how it is consumed. A brief note on what the returned balance looks like would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate and no misleading parameter claims.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Identifies a precise resource ('the user's BuzzSearch credit balance') in a noun phrase rather than a verb+resource form. An agent can tell what it returns, and the sibling list (search, get_search, ask) is clearly disjoint, though no explicit differentiation is stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not guidance is given. 'Searches draw from it at the API rate' hints at a monitoring use case but never states the condition for calling it, and no alternatives are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_commentsGet raw commentsA

The raw comment bodies behind a completed search, grouped by thread or video, filtered and paged. Free. A search reads hundreds to thousands of comments, so filter by source, a substring, or a minimum score, and page with limit and offset.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
sourcesNo
containsNoCase-insensitive substring filter on the comment body.
min_scoreNoMinimum upvotes or likes.
search_idYesThe search id returned by `search` or `list_searches`.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does reasonably well: it discloses that results are grouped by thread or video, that paging is via limit/offset, and that the call is free (cost signal). It omits auth requirements, rate limits, and any indication of what happens on an invalid or expired search_id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the resource and its grouping stated first, followed by the filtering rationale. 'Free.' is a short standalone fragment but it carries real information, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description usefully covers the return shape (comment bodies grouped by thread or video, paged). For a 6-parameter read tool with no annotations this is close to complete, lacking only permission/pagination-boundary details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, so the description must compensate, and it does: it maps sources to filtering, contains to substring matching, min_score to a threshold, and limit/offset to paging. Only search_id is left entirely to the schema, which already documents it well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (raw comment bodies), the scope (behind a completed search), and the organization (grouped by thread or video, filtered and paged). It is specific enough to act on, but it never names or contrasts itself with siblings like get_quotes or get_sources, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the precondition (a completed search) and gives concrete decision support: since a search reads hundreds to thousands of comments, use source/contains/min_score filters and page with limit/offset. It stops short of explicit when-not or named alternatives, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_quotesGet quotesA

Verbatim customer quotes extracted by a search, filtered and paged. Free. Each quote carries a stable id, the source url, a dimension (emotional_painpoints, recurring_painpoints, desired_outcomes, failed_solutions, objections, customer_lingo), an engagement score and an emotional intensity (1 to 5). For ad copy, pull emotional_painpoints and customer_lingo sorted by intensity.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNointensity
limitNo
offsetNo
sourcesNo
containsNoCase-insensitive substring filter on the quote text.
search_idYesThe search id returned by `search` or `list_searches`.
dimensionsNo
min_intensityNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does well: it discloses cost ('Free'), the returned payload shape (stable id, source url, dimension, engagement score, intensity 1-5), and that results are paged. It does not mention auth requirements or rate limits, which prevents a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with what the tool returns before the practical filtering advice. No filler text, though the payload-field list is slightly dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description appropriately explains what each quote carries and mentions pagination, which is the essential missing information. Coverage of the non-dimension filter parameters is the only real gap for an 8-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25%, so the description must compensate. It helpfully enumerates the full dimension enum and the 1-5 intensity range, and implies the sort behavior, but says nothing about sources, contains, limit, offset, or min_intensity, leaving several parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource and scope: 'Verbatim customer quotes extracted by a search, filtered and paged.' An agent can distinguish this from get_comments and search by the quote resource. It stops short of explicitly naming which sibling to use instead, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one concrete usage scenario ('For ad copy, pull emotional_painpoints and customer_lingo sorted by intensity'), which is genuinely actionable. However, there is no general when-to-use guidance and no explicit contrast with get_comments or search, so the agent must infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sourcesGet sources readA

The threads and videos a search read, with engagement, comment counts and how many quotes each produced. Free. Use it to cite a thread or pick which source's raw comments to pull.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
search_idYesThe search id returned by `search` or `list_searches`.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that the tool is 'Free' and what fields are returned, which is useful, but does not explain pagination defaults, permissions, or the read-only nature beyond the implied 'get/read' framing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core purpose and use case front-loaded. Every phrase earns its place, including the useful 'Free' note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, low schema coverage, and no output schema, the description covers the return contents and use case reasonably well. However, it leaves the optional limit/offset parameters and pagination behavior entirely unexplained, which is a meaningful gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%: search_id is documented, but limit and offset are undocumented in both the schema and the description. The description adds no parameter-level meaning and fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource — 'the threads and videos a search read' — plus the metrics returned, so an agent knows this is a source-listing tool for a search. It does not explicitly distinguish itself from sibling tools like get_search or get_quotes beyond implying raw comments come from get_comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context: 'Use it to cite a thread or pick which source's raw comments to pull.' That tells the agent when to use this tool and hints at the related get_comments tool, though it does not name explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_searchesList past searchesA

Recent searches by the signed-in user, newest first, including ones run in the BuzzSearch app. Free. Reread a past search with get_search or get_quotes instead of paying for a new one on the same topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
channelNoapi = started via API or MCP, web = run in the app.all
containsNoCase-insensitive filter on the search query.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and it does disclose useful traits: newest-first ordering, inclusion of BuzzSearch app searches, and zero cost. However, it is silent on pagination/limit behavior and what each result entry contains, so behavioral disclosure is partial rather than complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences with the core purpose stated first; the fragment 'Free.' is terse but earns its place by conveying cost routing. Slightly denser than ideal but no real waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple optional-parameter list tool with no annotations and no output schema, the description covers scope, ordering, cost, and the redirection path adequately. Return-value shape is unstated, but that is a minor gap for a listing endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and the description adds nothing about limit, channel, or contains. The channel enum and the contains filter are explained in the schema itself, and limit is self-evident, so the baseline of 3 is appropriate, but the description misses an opportunity to compensate for the uncovered portions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Recent searches by the signed-in user, newest first') with ordering and scope made explicit, and it names sibling tools (get_search, get_quotes) it should not be confused with. An agent can distinguish this list operation from the read-one operations without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a clear routing rule: to reread a past search use get_search or get_quotes rather than paying for a new one, and flags that listing is 'Free'. This gives context and an alternative, but does not fully state when this tool itself is preferred over all other search-related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv1.1.1
    • First observedask
    • First observedgenerate_hooks
    • First observedget_balance
    • First observedget_comments
    • First observedget_quotes
    • First observedget_search
    • First observedget_sources
    • First observedlist_searches
    • First observedsearch

TDQS

A3.9/5.0

Scored across 9 tools

Disambiguation4/5

Tools target distinct resources (search vs sources vs quotes vs comments vs hooks vs balance), but 'search' and 'ask' both produce cited answers and could be confused despite the cost/staleness distinction. 'get_search' and 'get_sources' also have somewhat overlapping retrieval roles, though descriptions clarify the boundaries.

Naming Consistency5/5

All names are lowercase snake_case verb_noun: get_sources, get_search, get_quotes, get_comments, get_balance, list_searches, generate_hooks, ask, search. The single-word 'search' and 'ask' are idiomatic and consistent with the imperative pattern.

Tool Count5/5

Nine tools is well-scoped for a research/search server: one expensive action, several free readers, and two generators. Each tool earns its place without obvious redundancy.

Completeness4/5

The lifecycle covers search, status, follow-up (ask), source/quote/comment retrieval, hook generation, history and balance. Minor gaps: no delete/cancel search, no export, and no explicit tool to fetch a single source by id beyond list-level get_sources, but core workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides AI agents with real-time social trends, cross-platform sentiment, viral content velocity, and brand mentions from Reddit, Hacker News, and Google Trends.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Search Twitter/X, Instagram, Reddit, and TikTok from AI agents. 52 tools for keyword and hashtag search, user profiles, posts, comments, follower connections, and tracking. Billions of posts indexed, natural-language queries, CSV export up to 500K rows. Remote server (Streamable HTTP) with OAuth sign-in, no API keys needed.
    12
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to research customer voice by searching Reddit and extracting structured comments from supported community platforms via MCP.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to read and analyze real social posts across eight networks, research creators and trends, and generate hooks, draft scores, variants, and repurposed content.
    22
    27
    706 npm
    MIT