MCPMCP-Tools/Bewertungen

Bewertungen

Bewertungen, Wettbewerber, Widgets und Bewertungsquellen lesen, beantworten und analysieren.

get_reviews_rollup

Readreviews:read

Reviews Overview / command center — across ALL of the agency's locations by default, or scoped to ONE client's locations by passing clientId (the Reviews → Overview page's "All locations" view for that client). Returns: summary tiles (total reviews, avg rating, total unreplied, positive %, new-in-period + Δ vs the prior window, stale count), the best & worst location by health, a per-location rows[] table (name/city, review count, avg rating, sentiment split, response rate, health score + Δ, %≤2★, %5★, 1–5★ distribution, new-in-window + velocity Δ, last-review date + staleness, a per-bucket sparkline, top positive/negative theme), and a portfolio trend (per-location monthly review volume + avg rating over the trailing 12 months, sorted by health). Window defaults to the last 30 days; pass period (7 | 30 | 90) or an explicit from+to ISO range.

Parameter
clientIdstringoptional
Scope to one client's locations (from list_clients). Omit for agency-wide across every client.
period7 | 30 | 90optional
Quick window in days (default 30). Ignored when from+to are given.
fromstringoptional
Window start (ISO date). Requires `to`.
tostringoptional
Window end (ISO date). Requires `from`.
tagsstring[]optional
Internal location tags — narrow the rollup to locations carrying ANY of these (from list_location_tags). Each row also carries its location's tags.
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_reviews_rollup",
    "arguments": {}
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/list_reviews

list_reviews

Readreviews:read

List a location's reviews across its marketplaces (Google, Yelp, TripAdvisor, …). Location-scoped — requires clientId AND locationId. Cursor-paginated with a total count. Filters: ratings (1–5), sentiment (positive/neutral/negative), sites (platforms), status (responded | unreplied), keyword, from/to (ISO dates), sort (newest | oldest | lowest | highest). Reviews removed from their source are always excluded. Each review includes rating, body, author, date, platform, sentiment, existing reply, and respondable (whether a reply can be pushed via the API).

Parameter
clientIdstringerforderlich
Client the location belongs to (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
ratings(1 | 2 | 3 | 4 | 5)[]optional
Star ratings to include.
sentiment("positive" | "neutral" | "negative")[]optional
Sentiments to include.
sitesstring[]optional
Platforms/marketplaces to include (e.g. google, yelp)
status("responded" | "unreplied")[]optional
Response status to filter by.
keywordstringoptional
Match review body text (case-insensitive)
fromstringoptional
Only reviews on/after this ISO date
tostringoptional
Only reviews on/before this ISO date
sort"newest" | "oldest" | "lowest" | "highest"optional
newest | oldest | lowest | highest
cursorstringoptional
Pagination cursor from a prior nextCursor
limitnumberoptional
Page size (1–100, default 30)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_reviews",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_review_stats

get_review_stats

Readreviews:read

Get a location's review stat cards: total reviews, sentiment split (positive/neutral/negative), overall average rating, response rate (% of reviews with an owner reply), and per-platform review counts + averages. Location-scoped — requires clientId AND locationId. Removed reviews and hidden sources are excluded (matches the UI).

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_review_stats",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_review_analytics

get_review_analytics

Readreviews:read

Deep-dive Review Analytics for a location: KPI cards with Δ vs the prior window (kpiDays 7/30/90) + sparklines, reviews-over-time + sentiment-over-time + response-rate trends (trendMonths 3/6/12), 1–5★ distribution, per-platform counts/averages, day-of-week timing, benchmark vs the agency average, top themes, and a Sydekick summary. Location-scoped — requires clientId AND locationId. Use the optional `section` to fetch just one slice (kpis | over_time | distribution | by_platform | timing | benchmark | topics | response | summary); omit for everything.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
kpiDays7 | 30 | 90optional
KPI window in days (default 30)
trendMonths3 | 6 | 12optional
Trend window in months (default 12)
section"kpis" | "over_time" | "distribution" | "by_platform" | "timing" | "benchmark" | "topics" | "response" | "summary" | "all"optional
Return only one slice (default all)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_review_analytics",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/reply_to_review

reply_to_review

Writereviews:write

Post (or update) the owner reply to a single review, keyed by reviewId (get it from list_reviews). Google and Facebook replies are pushed live to the publisher via the API (respondable reviews; Facebook posts as a Page comment on the recommendation's open_graph_story); replies on other platforms are saved but not pushed. Calling again with new text EDITS the reply (Google stores exactly one owner reply per review — the re-post overwrites it; Facebook edits the existing Page comment rather than posting a duplicate). A Google reply can enter a `pending` or `rejected` moderation state after posting; it reconciles on the next sync. Returns { pushed } — whether it reached the publisher.

Parameter
reviewIdstringerforderlich
Review id (from list_reviews)
textstringerforderlich
Reply text
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "reply_to_review",
    "arguments": {
      "reviewId": "string",
      "text": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/delete_review_reply

delete_review_reply

Writereviews:write

Delete the owner reply to a single review, keyed by reviewId (from list_reviews). For Google and Facebook the reply is removed live on the publisher (Facebook deletes the Page comment); deleting a reply that is already gone still succeeds (idempotent). Only reviews on platforms that support delete (Google and Facebook today) can be deleted. In OS this is an archive, not a row delete — the record is kept internally (marked archived) even though it's genuinely gone from the publisher's page. Returns { ok, pushed } — whether it reached the publisher.

Parameter
reviewIdstringerforderlich
Review id (from list_reviews)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_review_reply",
    "arguments": {
      "reviewId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/add_review_note

add_review_note

Writereviews:write

Add an internal staff note to a single review, keyed by reviewId (get it from list_reviews). Notes are agency-internal — never shown to the client. Tenant-scoped: a review outside the caller's agency is rejected. Empty or over-4000-char bodies are rejected. Returns the created note. @-mentions are not supported (mentions stay empty).

Parameter
reviewIdstringerforderlich
Review id (from list_reviews)
bodystringerforderlich
Note text (1–4000 chars)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_review_note",
    "arguments": {
      "reviewId": "string",
      "body": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/list_review_notes

list_review_notes

Readreviews:read

List the internal staff notes on a single review, newest-first, keyed by reviewId. Agency-internal — never client-facing. Tenant-scoped: a review outside the caller's agency is rejected. Returns { notes: [{ id, body, authorUserId, authorName, createdAt }] }.

Parameter
reviewIdstringerforderlich
Review id (from list_reviews)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_review_notes",
    "arguments": {
      "reviewId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/delete_review_note

delete_review_note

Writereviews:write

Permanently delete an internal staff note from a review. Identify it by reviewId (from list_reviews) and noteId (from list_review_notes). Tenant-scoped: a review outside the caller's agency is rejected. A note that's already gone (wrong id, or already deleted) is not an error — check the returned `deleted` count rather than assuming.

Parameter
reviewIdstringerforderlich
Review id (from list_reviews)
noteIdstringerforderlich
Note id (from list_review_notes)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_review_note",
    "arguments": {
      "reviewId": "string",
      "noteId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_competitor_analytics

get_competitor_analytics

Readreviews:read

Benchmark a location's Google reviews against its competitors. Location-scoped — requires clientId AND locationId. Returns competitive insight (Sydekick narrative + recommendations), strengths-vs-gaps (themes rivals win / you lead), a scorecard (self + each competitor: avg rating, review count, net sentiment, distribution), and review velocity + your share-of-voice. Use the optional `section` (insight | strengths_gaps | scorecard | velocity) to fetch one slice; omit for all. Manage the tracked set with add_competitor / remove_competitor / refresh_competitor.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
section"insight" | "strengths_gaps" | "scorecard" | "velocity" | "all"optional
insight | strengths_gaps | scorecard | velocity | all (default all)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_competitor_analytics",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/list_competitors

list_competitors

Readreviews:read

List the competitors tracked for a location (name, place id, rating, review count, sentiment). Location-scoped — requires clientId AND locationId. Use get_competitor for one competitor's detail, or get_competitor_analytics for the full benchmark.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_competitors",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_competitor

get_competitor

Readreviews:read

Get one tracked competitor's profile for a location (rating, review count, sentiment, etc.). Location-scoped — requires clientId, locationId, and competitorId (from list_competitors).

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
competitorIdstringerforderlich
Competitor id from list_competitors
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_competitor",
    "arguments": {
      "clientId": "string",
      "locationId": "string",
      "competitorId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/add_competitor

add_competitor

Writereviews:write

Track a new competitor for a location, by business name (matched to Google). Location-scoped — requires clientId, locationId, name. Returns the created competitor profile.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
namestringerforderlich
Competitor business name
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_competitor",
    "arguments": {
      "clientId": "string",
      "locationId": "string",
      "name": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/add_client_competitor

add_client_competitor

Writereviews:write

Track a new competitor at the CLIENT level (a roll-up competitor shown across every location for that client), by business name. Distinct from add_competitor, which tracks one for a single location. Returns the created competitor profile.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
namestringerforderlich
Competitor business name
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_client_competitor",
    "arguments": {
      "clientId": "string",
      "name": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/refresh_client_competitors

refresh_client_competitors

Writereviews:write

Trigger competitor auto-discovery and a fresh review pull across an entire client (every one of its locations), rather than one already-tracked competitor. Runs in the background — discovery plus a deep review pull can take longer than a single request allows for a large client. Returns { ok, queued }; there is no synchronous result to check.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "refresh_client_competitors",
    "arguments": {
      "clientId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/remove_competitor

remove_competitor

Writereviews:write

Stop tracking a competitor, by competitorId (from list_competitors). Agency-scoped.

Parameter
competitorIdstringerforderlich
Competitor id from list_competitors
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "remove_competitor",
    "arguments": {
      "competitorId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/refresh_competitor

refresh_competitor

Writereviews:write

Re-scrape a single tracked competitor's Google reviews, by competitorId (from list_competitors). Returns { ok, note }.

Parameter
competitorIdstringerforderlich
Competitor id from list_competitors
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "refresh_competitor",
    "arguments": {
      "competitorId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_topic_series

get_topic_series

Readreviews:read

Topic trends over time for a location — the per-topic monthly sentiment/mention series behind the Topic Trends heatmap. Location-scoped — requires clientId AND locationId. Optional months (default 12).

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
monthsnumberoptional
Months of history (default 12)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_topic_series",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_topic_reviews

get_topic_reviews

Readreviews:read

List the reviews that mention a specific topic for a location (drill-down from get_topic_trends). Location-scoped — requires clientId, locationId, and topic. Optional month (YYYY-MM) narrows to a single month — pass it when the caller is drilling into ONE cell of the topics-by-month heatmap, or you get the topic's whole history newest-first instead of that cell's reviews. Optional limit (default 50).

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
topicstringerforderlich
Topic/keyword to drill into
limitnumberoptional
Max reviews (default 50)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_topic_reviews",
    "arguments": {
      "clientId": "string",
      "locationId": "string",
      "topic": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/list_review_widgets

list_review_widgets

Readreviews:read

List the review widgets configured for a location (embeddable review displays for the client's website). Location-scoped — requires clientId AND locationId.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_review_widgets",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_review_widget

get_review_widget

Readreviews:read

Get a single review widget by id (its config + status). Agency-scoped.

Parameter
widgetIdstringerforderlich
Review widget id (from list_review_widgets).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_review_widget",
    "arguments": {
      "widgetId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/count_widget_matches

count_widget_matches

Readreviews:read

Count how many of a location's reviews match a widget configuration — the live '{N} reviews match this configuration' preview. Location-scoped — requires clientId AND locationId. Optional minRating, sources, includeInternal, dateWindow (30d | 90d | 1y | all).

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
minRatingnumberoptional
Only reviews at/above this rating (1–5)
sourcesstring[]optional
Marketplaces to include (empty = all)
includeInternalbooleanoptional
Include first-party (invite-collected) feedback
dateWindow"30d" | "90d" | "1y" | "all"optional
30d | 90d | 1y | all
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "count_widget_matches",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/create_review_widget

create_review_widget

Writereviews:write

Create an embeddable review widget for a location. Location-scoped — requires clientId, locationId, name. Optional: minRating, sources, selectionMode (recent | highest | manual), dateWindow, count, includeInternal, layout (carousel | grid | wall), status (draft | published, default published). Use count_widget_matches first to preview how many reviews match.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
namestringerforderlich
Widget name
minRatingnumberoptional
Minimum star rating (1–5)
sourcesstring[]optional
Marketplaces to pull from (empty = all)
selectionMode"recent" | "highest" | "manual"optional
recent | highest | manual
dateWindow"30d" | "90d" | "1y" | "all"optional
30d | 90d | 1y | all
countnumberoptional
Max reviews to show (default 10)
includeInternalbooleanoptional
Include first-party feedback
layout"carousel" | "grid" | "wall"optional
carousel | grid | wall
status"draft" | "published"optional
draft | published (default published)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_review_widget",
    "arguments": {
      "clientId": "string",
      "locationId": "string",
      "name": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/delete_review_widget

delete_review_widget

Writereviews:write

Delete a review widget by id. Agency-scoped.

Parameter
widgetIdstringerforderlich
Review widget id (from list_review_widgets).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_review_widget",
    "arguments": {
      "widgetId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/list_review_campaigns

list_review_campaigns

Readreviews:read

List a location's review-acquisition campaigns (email/SMS review requests). Location-scoped — requires clientId AND locationId. Paginated.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
pagenumberoptional
Page (default 1)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_review_campaigns",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_invite_stats

get_invite_stats

Readreviews:read

Get review-invite acquisition stats for a location: total acquisitions, feedback received, customer-experience score, click-through rate. Location-scoped — requires clientId AND locationId.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_invite_stats",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/list_campaign_responses

list_campaign_responses

Readreviews:read

List responses to a location's review-invite campaigns (who responded, feedback given). Location-scoped — requires clientId AND locationId. Paginated.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
pagenumberoptional
Page (default 1)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_campaign_responses",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/list_campaign_recipients

list_campaign_recipients

Readreviews:read

List recipients of a location's review-invite campaigns (contacts messaged + delivery/response status). Location-scoped — requires clientId AND locationId. Paginated.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
pagenumberoptional
Page (default 1)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_campaign_recipients",
    "arguments": {
      "clientId": "string",
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/get_campaign

get_campaign

Readreviews:read

Get a single review-invite campaign by id (config, status, schedule). Agency-scoped.

Parameter
campaignIdstringerforderlich
Campaign id (from list_review_campaigns).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_campaign",
    "arguments": {
      "campaignId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/bulk_reply_reviews

bulk_reply_reviews

Writereviews:write

Post replies to many reviews in one call. Pass `replies` as an explicit array of { reviewId, text }. Each is applied independently (Google and Facebook pushed live; others saved). Rate-limited per Google Business Profile (10 edits/min); throttled items come back with retryable:true so they can be re-attempted rather than treated as hard failures. Returns a per-review result array with ok/pushed/error/retryable, plus succeeded/failed counts.

Parameter
repliesobject[]erforderlich
Array of { reviewId, text }
reviewIdstringoptional
Review id (from list_reviews).
textstringoptional
Reply text
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bulk_reply_reviews",
    "arguments": {
      "replies": [
        {}
      ]
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/validate_review_source

validate_review_source

Readreviews:read

Check whether a URL is a usable review source before adding it with add_review_source. Probes the page live (a few seconds), detecting its platform (Google/Yelp/Facebook/TripAdvisor/Trustpilot/BBB/Foursquare/Healthgrades/OpenTable/custom), whether it actually collects reviews, an estimated review count, and the business name found on the page. If you pass locationId, it also checks whether the page's business name matches that location's name and whether this URL is already added there; omit locationId to instead get a suggested location match by name. `ok` is true only when the source collects reviews AND isn't a duplicate.

Parameter
urlstringerforderlich
The review page URL to check (required).
locationIdstringoptional
The location this source would be added to (from list_locations). Omit to get a suggested location match instead.
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "validate_review_source",
    "arguments": {
      "url": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/add_review_source

add_review_source

Writereviews:write

Add a custom review source (a specific review-page URL) to a location — e.g. a Yelp, TripAdvisor, Trustpilot, BBB, or other business-listing page whose reviews aren't already pulled in automatically (Google and Facebook are auto-pulled via the connected OAuth account and don't need this). Run validate_review_source on the URL first to confirm it collects reviews and isn't already added. Once added, its reviews are scraped immediately in the background and then re-checked on a recurring schedule. Fails if this exact URL is already added to this location.

Parameter
locationIdstringerforderlich
The location to add this review source to (required, from list_locations).
urlstringerforderlich
The review page URL (required).
platformstringoptional
The detected platform slug (from validate_review_source). Auto-detected from the URL if omitted.
labelstringoptional
A display label for the source. Auto-detected from the URL if omitted.
detectedNamestringoptional
The business name detected on the page (from validate_review_source), for reference.
reviewCountnumberoptional
The estimated review count detected at validation time, shown until the first scrape lands.
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_review_source",
    "arguments": {
      "locationId": "string",
      "url": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/hide_review_source

hide_review_source

Writereviews:write

Hide or unhide a review source from a location's review feed and analytics, without deleting its historical reviews. Pass an auto-detected platform slug (e.g. "google") with type "auto" to hide one of the automatically-pulled platforms, or a custom source's id (from validate_review_source's result, or the id returned by add_review_source) with type "custom".

Parameter
locationIdstringerforderlich
The location whose source visibility you're changing (required, from list_locations).
keystringerforderlich
The auto platform slug (e.g. "google", "yelp") when type is "auto", or the custom source's id when type is "custom" (required).
type"auto" | "custom"erforderlich
Whether `key` is an auto platform slug or a custom source id (required).
hidebooleanerforderlich
true to hide, false to unhide (required).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "hide_review_source",
    "arguments": {
      "locationId": "string",
      "key": "string",
      "type": "auto",
      "hide": true
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.

MCPMCP-Tools/Bewertungen/remove_review_source

remove_review_source

Writereviews:write

Permanently remove a custom review source from a location. This only removes the tracked source going forward — reviews already imported into the app from it are NOT deleted. Only custom sources (added via add_review_source) can be removed this way; the auto-pulled platforms (Google, Facebook) can only be hidden with hide_review_source, not removed. Identify the source by its id (from add_review_source's result, or a "custom:<id>" key seen elsewhere).

Parameter
sourceIdstringerforderlich
The custom review source's id to remove (required).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "remove_review_source",
    "arguments": {
      "sourceId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.