MCPMCP-Tools/Einträge

Einträge

Verzeichniseintrags-Status, Duplikate und Profilanalysen über Publisher hinweg.

get_duplicate_listings

Readlistings:read

List duplicate listings detected for a SINGLE location, grouped by publisher. Location-scoped — requires clientId AND locationId. Returns yourListing (the location's canonical name/address/phone), counts per status, and per-publisher groups where each duplicate carries NAP field-match flags (businessNameMatches / addressMatches / phoneMatches) plus the detector's matchScore. Optional status filter: potential (detected), flagged (suppression requested), deleted (suppressed), failed (removal submission failed). Read-only.

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
status"potential" | "flagged" | "deleted" | "failed"optional
potential | flagged | deleted | failed (default: all)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_duplicate_listings",
    "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/Einträge/get_profile_analytics

get_profile_analytics

Readlistings:read

Profile analytics for a SINGLE location across its connected publishers (Google, Facebook, Apple, Bing): profile views, all actions, website visits, phone calls, direction requests, button clicks, followers, post engagement — plus Google's impression split (maps/search/desktop/mobile) and top search keywords. Location-scoped — requires clientId AND locationId. Optional from/to (ISO), sources (subset of google/facebook/apple/bing), comparison (vs a prior window), granularity. Defaults to the last 30 days. Data is served from the aggregation tables (refreshed daily by background jobs).

Parameter
clientIdstringerforderlich
The client's id (from list_clients).
locationIdstringerforderlich
The location's id (from list_locations).
fromstringoptional
Window start (ISO); default 30 days ago
tostringoptional
Window end (ISO); default now
sources("google" | "facebook" | "apple" | "bing")[]optional
Publishers to include (default all).
comparison"none" | "previous_period" | "previous_month" | "previous_quarter" | "previous_6_months" | "custom"optional
Compare vs a prior window.
granularity"daily" | "weekly" | "monthly"optional
Time bucket.
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_profile_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/Einträge/get_listings_rollup

get_listings_rollup

Readlistings:read

Client-level listings rollup across ALL of a client's locations (the Listings → All locations view). Returns a `summary` (locations, publishersTotal, publishersSynced, connectionIssues, duplicates, reviews, avgRating), a per-LOCATION `rows` table (name, city, publishers, synced, connectionIssues, duplicates, reviews, unreplied, avgRating, googleVerified, googleConnected), and `insights`: overall listing health %, a distribution (fully-synced / healthy / at-risk), the weakest publishers (lowest coverage), a per-PUBLISHER directories coverage table (total, synced, requiresAction, notConnected, pct), a ranked "needs attention" set, and a deterministic headline + fixFirst. IMPORTANT: `googleVerified` is false both when a location has never connected Google AND when it's connected but Google hasn't verified it yet — always check `googleConnected` first to tell those apart; a never-connected location needs to connect, not "verify". Pass a clientId to scope to one client, or omit to roll up across all of the agency's clients. Read-only. You don't pass an agency — it comes from your credentials.

Parameter
clientIdstringoptional
Limit to a single client (from list_clients). Omit to roll up across all of the agency's clients.
tagsstring[]optional
Internal tags — narrow the rollup to locations carrying ANY of these tags (discover a client's tags with list_location_tags). Each returned row also carries its location's tags so you can segment client-side.
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_listings_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/Einträge/get_profile_analytics_rollup

get_profile_analytics_rollup

Readlistings:read

Profile analytics aggregated across ALL of a client's locations (the Listings → All locations → Profile Analytics view): profile views, all actions, website visits, phone calls, direction requests, button clicks, followers, post engagement across the client's connected publishers (Google, Facebook, Apple, Bing), plus a followers gauge and data-coverage across locations. Also returns a per-location `leaderboard` (top locations by profile views, with Δ% vs the prior window and a sparkline). Client-scoped — requires clientId (no locationId). Optional from/to (ISO), sources (subset of google/facebook/apple/bing), comparison (vs a prior window), granularity, leaderboardLimit (top-N locations, default 25, max 100), leaderboardSearch (filter leaderboard by location name). Defaults to the last 30 days. Read-only — data is served from the aggregation tables (refreshed daily by background jobs). You don't pass an agency — it comes from your credentials, and a client from another agency is never returned.

Parameter
clientIdstringerforderlich
Client id (from list_clients)
fromstringoptional
Window start (ISO); default 30 days ago
tostringoptional
Window end (ISO); default now
sources("google" | "facebook" | "apple" | "bing")[]optional
Publishers to include (default all).
comparison"none" | "previous_period" | "previous_month" | "previous_quarter" | "previous_6_months" | "custom"optional
Compare vs a prior window.
granularity"daily" | "weekly" | "monthly"optional
Time bucket.
leaderboardLimitnumberoptional
Top-N locations in the leaderboard (1-100, default 25)
leaderboardSearchstringoptional
Filter the leaderboard by location name
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_profile_analytics_rollup",
    "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/Einträge/get_location_directories

get_location_directories

Readlistings:read

The directory/premium-listings table for a SINGLE location (the location's Premium Listings tab): every directory the location is (or can be) listed on, each with its publisher name, connected account, sync status (synced / requires action / never connected) with the error detail, weight tier (very_high / high / medium / low), live URL, and whether it needs verification. Also returns cards: connectionScore (% of premium connectors synced), requiresAction count, and the location-info card (name, address, phone, store code). Requires locationId. Read-only. You don't pass an agency — it comes from your credentials, and a location from another agency is never returned.

Parameter
locationIdstringerforderlich
Synup location id (from list_locations or create_location).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_location_directories",
    "arguments": {
      "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/Einträge/get_location_listing_overview

get_location_listing_overview

Readlistings:read

The listings Overview for a SINGLE location: health stats (publishers, synced, notConnected, googleVerifiedLocations, duplicates, connectionIssues), the Google Business Profile completeness widget (connected, score out of 100, and which of the 8 checklist items are done vs todo — Verified, Hours set, Primary category, Website linked, 3+ photos, Description, Services/menu, Attributes), a deterministic Sydekick summary (headline + ranked "fix first" items with impact), prioritized opportunities, and the citation index (how many directories the location is indexed on, current vs prior). Requires locationId. Read-only. You don't pass an agency — it comes from your credentials.

Parameter
locationIdstringerforderlich
Synup location id (from list_locations or create_location).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_location_listing_overview",
    "arguments": {
      "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/Einträge/resolve_duplicate_listing

resolve_duplicate_listing

Writelistings:write

Resolve duplicate listings for a location (from get_duplicate_listings). Pass the duplicate listing id(s) and an action: "flag" requests the publisher remove the duplicate (marks it for removal — a background job then submits the removal to that directory), or "dismiss" marks them "not a duplicate" so they stop showing up. This acts on duplicates currently detected OR previously failed to suppress (a failed suppression can be retried via "flag"); ids already flagged/removed/dismissed (or not yours) are returned in `skipped`. Returns { updated, skipped }. You don't pass an agency — it comes from your credentials.

Parameter
duplicateListingIdsstring[]erforderlich
The duplicate listing id(s) to resolve (from get_duplicate_listings).
action"flag" | "dismiss"erforderlich
"flag" (request removal from the publisher) or "dismiss" (mark not a duplicate).
clientIdstringoptional
Optional: narrow to a single client for extra safety (from list_clients).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "resolve_duplicate_listing",
    "arguments": {
      "duplicateListingIds": [
        "string"
      ],
      "action": "flag"
    }
  }
}
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/Einträge/get_duplicate_listings_rollup

get_duplicate_listings_rollup

Readlistings:read

Client-wide duplicate-listings rollup across ALL of a client's locations (Listings → All locations → Duplicates). Returns a `summary` (potentialTotal, locationsAffected, confidence bands high/med/low, topPublishers[] — up to 5 worst-offending publishers with counts, publisherSites[] — every publisher site in the visible set with its numeric siteId, i.e. the values `publisherSiteId` accepts) and a paginated `queue` of duplicates with model matchScore + band, per-row NAP match flags, the owning location, and links. Filters: filter (potential|flagged|deleted|failed), band (high|med|low), publisherSiteId, locationId, search; sort (confidence|detected|lastSynced); page/perPage (perPage max 100). Pass clientId to scope to one client, or omit to roll up across the agency. Read-only.

Parameter
clientIdstringoptional
Limit to a single client (from list_clients). Omit to roll up across the agency.
filter"potential" | "flagged" | "deleted" | "failed"optional
potential | flagged | deleted | failed
band"high" | "med" | "low"optional
high | med | low
locationIdstringoptional
Location id (from list_locations) to filter to
tagsstring[]optional
Internal tags — narrow to locations carrying ANY of these (from list_location_tags). Each queue row also carries its location's tags.
searchstringoptional
Filter by location/duplicate name, city, or phone
sort"confidence" | "detected" | "lastSynced"optional
confidence | detected | lastSynced
pagenumberoptional
Page (default 1)
perPagenumberoptional
Rows per page (default 25, max 100)
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_duplicate_listings_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/Einträge/disconnect_publisher_listing

disconnect_publisher_listing

Writelistings:write

Unlink one publisher (google | facebook | apple | bing) from a location's native directory sync IN OS — archives the location's connection for that publisher and resets its listing status to NOT_LISTED. This does NOT call the publisher to delete or unpublish the live listing on their site; it only stops OS from managing/syncing it. Reversible — reconnecting the location revives it. Identify the location by its id (from list_locations).

Parameter
locationIdstringerforderlich
The location's id (required, from list_locations).
publisher"google" | "facebook" | "apple" | "bing"erforderlich
Which publisher to disconnect (required).
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "disconnect_publisher_listing",
    "arguments": {
      "locationId": "string",
      "publisher": "google"
    }
  }
}
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/Einträge/fanout_listing_updates

fanout_listing_updates

Writelistings:write

Push a location's current business-info fields out to every connected major directory/publisher in one call (a manual re-sync, e.g. after fixing stale data outside the normal update flow). Pass specific field names to limit which fields are pushed, or omit to push the full default set. Returns a per-publisher result. Identify the location by its id (from list_locations).

Parameter
locationIdstringerforderlich
The location's id (required, from list_locations).
fieldsstring[]optional
Specific field names to push. Omit to push the default full set.
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "fanout_listing_updates",
    "arguments": {
      "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.