Ang Reach by Locus ay nagpapatakbo ng remote Google Business Profile MCP server. Isang assistant tulad ng Claude, ChatGPT o Cursor ay nag-sign in kasama ng OAuth, nagbabasa ng business profile, reviews, rankings at leads, at gumagawa ng public change pagkatapos lang na approve ito ng owner sa chat. Ang post na ito ay nagpapaliwanag kung paano ito binuo.
Ang owner setup ay nasa MCP page at ang per-client guides nito. Ang post na ito ay para sa developers at AI builders: ano ang ini-expose ng server, paano nakaabot ng write sa Google, at ang decisions sa likod nito. Sumusunod ito sa Model Context Protocol specification.
Ano ang ini-expose ng server
Ang server ay gumagamit ng streamable HTTP transport galing sa MCP specification (transports), kaya walang dapat i-install o i-run locally. Ang tools nito ay nahuhulog sa tatlong classes, at bawat tool ay nagdadala ng specification annotations, kaya alam ng client bago mag-call kung ang tool ay nagbabasa lang, nagbabago ng Reach sarili data o nagbabago ng public Google listing (tool annotations).
| Class | Ano ang kumakap | Public sa Google? |
|---|---|---|
| Read | Ano ang kumakapAng account at locations nito, profile content, reviews kasama ng reply status, posts at media, performance analytics, tracked-keyword rankings at nearby competitors, leads at booking requests, at listahan ng ano ang missing sa bawat profile | Public sa Google?Hindi |
| Change sa loob ng Reach | Ano ang kumakapReview-reply drafts, pagsimula o pagtigil ng keyword tracking, pagmarka ng recommendation na done o dismissed, at pagpadala ng feature request sa Reach team | Public sa Google?Hindi |
| Google write | Ano ang kumakapProfile field at service-area edits, photo at video uploads at deletions, pagpublish ng posts, at pagpost ng review replies | Public sa Google?Oo |
Ang server ay nag-aalok din ng MCP prompts, ang reusable starting instructions ng specification (prompts): isang nag-o-optimize ng profile isang confirmed change kada oras, isang nagrereview ng search visibility, at isang gumagawa sa unanswered reviews. Ang client ay nagpapakita ng mga ito bilang ready-made requests.
Bawat tool ay nagcacall ng parehong server procedures na ginagawa ng Reach dashboard, sa pamamagitan ng in-process caller. Ang location access checks, plan limits at Google connection checks ay nagrurun kaya eksakto tulad ng ginagawa nila para sa signed-in owner; ang MCP layer ay walang path sa paligid nila.
Isang example session, call by call
Halimbawang session: isang may-ari ng dental clinic sa Claude
Nag-type ang may-ari: “Hanapin ang mga review noong nakaraang buwan na hindi ko pa nasagot at tulungan mo akong mag-reply sa mga reklamo.”
- Binabasa muna ng assistant ang account. Ang resulta ay naglista ng mga lokasyon ng clinic kasama ang kanilang mga id, kung aktibo ba ang bawat Google connection, ang plan at ang natitirang credits.
- Binabasa nito ang mga review ng lokasyon, na-filter sa mga hindi nasagot mula noong nakaraang 30 araw. Bawat review ay bumabalik kasama ang rating, text, date at reply status.
- Para sa isang 2-star review tungkol sa waiting time, humihingi ito sa Reach ng reply drafts. Ang pag-draft ay gumagamit ng credits at walang binabago sa publiko. Ipinapakita ng assistant ang mga options, at inedit ng may-ari ang isa.
- Bago mag-post, ipinapakita ng assistant ang exact text at humihingi ng yes. Pumayag ang may-ari, pumunta ang reply sa Google, at ang resulta ay bumabalik ng reply na pinalitan nito, kung mayroon.
- Binabasa ulit ng assistant ang mga review para kumpirmahin na nakikita ang reply, pagkatapos ay nag-uulat kung ano ang binago.
Limang tool calls, isang public change, isang explicit approval. Ang draft ay pumunta sa Google sa wording lang na inaprubahan ng may-ari.
Paano pumupunta ang pagbabago sa Google
Isang pagbabago sa public listing ay pumapasa sa may-ari ng dalawang beses. Una, ang write tools ay nagdadala ng destructiveHint, na pumapayag sa client na ipakita ang sarili nitong approval prompt. Ikalawa, bawat tool description ay nagsasabi sa model na ipakita ang exact change at kumuha ng explicit yes sa conversation. Ang profile edits at media changes ay pumupunta pa at nag-default sa preview na walang sinusulat.
Isang profile edit ay kumukuha ng dalawang calls. Ang una, na may preview: true (ang default), bumabalik ng bawat field na binago ang before at after, anumang field na mare-reject kasama ang fix na kailangan nito, at isang basedOn fingerprint ng profile na binasa. Ang ikalawang call ay sumusulat lang kung dala-dala nito ang fingerprint na iyon at hindi nagbago ang profile mula noon. Kung may nag-edit ng listing sa meantime, sa dashboard o sa pamamagitan ng Google sync, ang pagsusulat ay tinatanggihan at ang assistant ay dapat mag-preview ulit.
Ang sariling API ng Google ay ina-apply ng mga field na sinusulatan sa ilalim ng update mask (locations.patch). Hindi nito malalaman kung nakita ng tao ang pagbabago. Ang preview at fingerprint ay nilalagay ng check na iyon sa harap nito, para hindi ma-apply ng model ang isang luma o hindi nakikitang edit, kahit sa retry.
Ang posts at review replies ay walang preview step, dahil ang text na ina-aprubahan ng may-ari ay ang pagbabago mismo. Ang kanilang descriptions ay kumukuha ng assistant na ipakita ang exact post o reply muna. Isang na-post na reply ay pumapalit ng anumang naunang reply at walang tool na nagtatanggal nito (reviews.updateReply), at sinasabi ng description iyon, para masabi ng model sa may-ari bago sila pumayag.
Pinili ng Reach ang confirmation sa conversation kaysa isang propose-and-approve queue sa loob ng Reach. Ang may-ari ay nasa chat na, isang pang inbox ay nagdadagdag ng step na madaling i-ignore, at ang MCP specification ay umaasa na ng isang tao na pwedeng tumanggihan ng tool call (security considerations).
Mga guard na hindi dumedepende sa model
Sinasabi ng specification na dapat tratuhin ng clients ang tool annotations bilang hindi trusted maliban kung galing sa isang trusted server (tool annotations), at pwedeng i-ignore ng model ang description. Kaya ina-enforce ng server ang sarili nitong rules:
- Isang Google write budget. Bawat negosyo ay pwedeng gumawa ng hanggang 20 Google changes bawat oras sa pamamagitan ng assistants. Isang model na natrap sa loop ay pumupunta sa limit at sinasabihan kung gaano katagal maghintay, sa halip na isulat ulit ang profile ng paulit-ulit.
- Retry safety. Bawat change ay tumatanggap ng idempotency key. Isang ulit na may parehong key ay bumabalik ng unang resulta sa halip na isulat ulit; walang key, isang identical call sa loob ng maikling window ay binibilang bilang parehong change.
- Location checks sa bawat call. Ang location id na sinusulatan ng model ay chine-check laban sa live Google access ng may-ari bawat beses, na may parehong check na ginagamit ng dashboard. Walang session na ini-keep ng server para i-reuse ng model.
- Masked phone numbers. Ang leads at booking requests ay bumabalik na may phone numbers na naka-mask sa huling apat na digits, sa loob ng notes din. Ang emails ay pumapasa, dahil kailangan ng may-ari para sumagot ng lead.
- Revocation na ina-enforce ng server. Pwedeng i-disconnect ng may-ari ang assistant mula sa AI Connectors screen sa Reach, at tinatanggihan ng server ang token ng client na iyon mula noon.
Pagsasabi sa model kung ano ang hindi nito nakikita
Isang assistant na tumatanggap ng walang laman na list ay sinasabi sa may-ari “wala kang reviews”. Madalas ang totoo ay may data pero nakatago: ang lokasyon ay inadagdag mula sa public listing nito at walang Google connection, ang plan ay hindi kumukubli ng feature, o hindi pa natatapos ng Google ang unang sync. Ang read results ay nagdadala ng limitations list na pinapangalan ng dahilan at ang link na pumapyus nito. Ang walang laman na list ay nangangahulugan na walang nakatago.
Ginagawa ng account result ang pareho para sa features. Bawat isa ay minamarkahan bilang available o hindi pa built, para hindi ilarawan ng model ang calls o ads bilang mga bagay na pwedeng gawin ng Reach ngayon. Kapag gusto ng may-ari ng bagay na wala sa Reach, pwedeng ipadala ng assistant ang request sa Reach team sa sariling salita ng may-ari, pagkatapos ipakita sa kanila ang wording.
Ang bawat tugon ay nagbabalik din ng bersyon ng schema ng tool. Inilalagay ng mga kliyente sa cache ang mga schema ng tool at maaaring mabigo nang tahimik kapag may nagbago, kaya ang isang pagbabagong nakasisira ay makikita sa tugon at sa mga log ng Reach sa halip na sa rate ng error lamang ng isang kliyente.
Pag-sign-in: OAuth 2.1, walang API keys
Ang server ay isang OAuth 2.1 protected resource, gaya ng ilarawan ng MCP authorization specification (authorization). Ini-publish nito ng protected resource metadata (RFC 9728), para mahanap ng client ang authorization server sa sarili, mag-register at magbukas ng browser sign-in. Suma-sign-in ang may-ari gamit ang kanilang Reach account; walang key na i-paste.
Chine-check ng server na bawat token ay ini-issue para sa resource na ito at hindi para sa ibang service sa parehong authorization server, ang confused-deputy defense na pinagkakagalingan ng resource indicators (RFC 8707). Ang Google connection ay hindi pumupunta sa assistant: ini-hold ito ng Reach, at ang assistant ay may hawak lang ng Reach token.
Iyon din ang dahilan kung bakit hindi kailangan ng may-ari ng Google API access. I-gagawad ng Google ang Business Profile APIs bawat project pagkatapos ng access request (prerequisites), na hindi ina-file ng karamihan ng maliliit na negosyo.
Ano ang hindi nito magagawa
- Hindi nito mababago ang primary category o ang address. Ang mga iyon ay nananat sa may-ari sa sariling tools ng Google.
- Hindi nito madelete ng post o matanggal ng review reply. Isang na-post na reply ay pwedeng palitan, hindi tanggalin.
- Kung walang connected Google Business Profile, pwedede ito lang magbasa ng public listing. Isang lokasyon na inadagdag mula sa public listing nito ay kumukuha ng snapshot na iyon at isang link para kumonekta.
- Hindi ito pwedeng gumawa ng higit sa 20 Google changes bawat negosyo bawat oras sa pamamagitan ng assistants.
- Ang search rank ay sumasakop ng tracked keywords lang. Isang bagong keyword ay walang rank hanggang sa unang check nito.
Ikonekta ito sa Claude, ChatGPT o Cursor
Server URL
https://reach.locus-intelligence.com/api/mcpTungkol sa Reach Google Business Profile MCP server
Bawat client ay magkaiba ng pagdadagdag ng remote servers, kaya ang steps ay naninirahan sa isang page bawat client: Claude, ChatGPT, Claude Code, Cursor at VS Code. Ang vendors ay nagdodokumento ng parehong lupa: Anthropic sa custom connectors, OpenAI sa connecting from ChatGPT at Cursor sa MCP servers.
Madalas na itatanong
- Kailangan ko ba ng Google Business Profile API access para magamit itong MCP server?
- Hindi. Ini-hold ng Reach ang Google connection, at suma-sign-in ang assistant sa Reach gamit ang OAuth. Ang APIs ng Google ay kailangan ng inaprubahang Google Cloud project (prerequisites), na ini-iiwasan nito.
- Anong AI assistants ang gumagana dito?
- Anumang client na sumusuporta sa remote MCP servers na may OAuth sign-in, kasama si Claude, ChatGPT, Claude Code, Cursor, VS Code, Codex, Windsurf at Cline.
- Pwedede bang baguhin ng assistant ang listing ko nang hindi humihingi?
- Ang mga pagbabago sa Google ay pumapasa sa approval prompt ng client at isang explicit yes sa conversation, at ang profile edits ay kailangan ng sariwang preview. Hindi nakikita ng server ang conversation, kaya ang mga guard na ini-enforce nito sa sarili ay ang stale-preview refusal, ang hourly Google write limit at retry safety.
- May gastos ba ito?
- Walang gastos ang pagbasa. Ang pag-draft ng review reply ay gumagamit ng Reach credits, at ilang features ay dumedepende sa plan. Ang Free plan ay sumasakop ng isang lokasyon.
- Anong mangyayari kung masira ang Google connection?
- Ipinapakita ng account result ang connection state ng bawat lokasyon. Kung hindi aktibo, sinasabi ng assistant sa may-ari na i-reconnect ang Google sa Reach at tumitigil sa paggawa sa lokasyon na iyon.
Ikonekta ang assistant sa sarili mong profile
Magsimula sa isang read-only na tanong, tulad ng kung aling mga review ang hindi nasasagot, pagkatapos aprubahan ang isang maliit na pagbabago at basahin ito pabalik. Ang pahina ng setup ay naglalakad sa bawat client.
