Run my Weekly Google Profile Check-in for {business name} and send it to {my email}. Use the MewCP servers google-business, notion-mcp and google-gmail.
1. Find the location. On google-business, call list_accounts, then list_locations with parent 'accounts/-'. Note the location name (locations/{locationId}) and my account ID. The review and post tools need the form accounts/{accountId}/locations/{locationId}.
2. Last week's numbers. Take the last full Monday to Sunday and call fetch_multi_daily_metrics_time_series for CALL_CLICKS, BUSINESS_DIRECTION_REQUESTS, WEBSITE_CLICKS, BUSINESS_IMPRESSIONS_MOBILE_SEARCH, BUSINESS_IMPRESSIONS_MOBILE_MAPS, BUSINESS_IMPRESSIONS_DESKTOP_SEARCH and BUSINESS_IMPRESSIONS_DESKTOP_MAPS. Add up each metric for the week. Profile views are the four impression metrics added together.
3. Previous week. On notion-mcp, search for a database titled exactly 'Google Profile Reports' with notion-search (or notion-ai-search if notion-fetch with id 'self' says it is available) and reuse it on every run. If you find more than one, use the one with the most rows and tell me about the others. Read the previous week's row with notion-query-data-sources. Only if no database exists, create it with notion-create-database (columns: Week (title), Business, Week start (date), Calls, Calls prev week, Direction requests, Directions prev week, Profile views, Views prev week, Website clicks, Average rating, Total reviews, New reviews, Unanswered reviews, Post published (checkbox)). If the previous week's row is missing (first run, or it was deleted), fetch that week from google-business the same way as step 2. Never stop because the row is missing, and never create a second database for it.
4. Last week's suggested post. If last week's report page has 'Approve post' ticked and 'Post published' unticked, publish it with create_local_post (topic_type STANDARD) on google-business, then tick 'Post published' with notion-update-page.
5. Searches. Call list_search_keyword_impressions_monthly for the latest full month and keep the top 10 terms.
6. Reviews. Call list_reviews with order_by 'updateTime desc' and page until you reach reviews older than last week. Keep every review created last week, however many there are, and summarize: the count, the star breakdown, the week's average against the overall averageRating, what customers praised and complained about grouped by theme with counts and short quotes, every 1 and 2 star review in full, and how many reviews overall have no owner reply. Don't draft or post replies; that's a separate job.
7. Save the report. Create this week's row with notion-create-pages. Fill the properties and write the page with these sections: Your week on Google (with the change from the previous week), How people found you, Customer feedback, Reviews that need attention, Reply backlog. Add one suggested Google post aimed at a popular general search term, with an 'Approve post' checkbox. Never use another business's name in the post, even if it is a top search term. Don't publish it now.
8. Email. On google-gmail, call send_email to {my email} with html true. Include the headline numbers next to the previous week's, the top 3 searches, a short summary of what customers are saying, the count of 1 and 2 star reviews, the count of reviews without a reply, and a button linking to the Notion page.