Help Centre

API & MCP

Connect the MCP server

Connect ChatGPT, Claude or another MCP client to SearchOps so it can answer questions from your data.

Last reviewed October 202610 min read

The MCP server lets an AI assistant connect to SearchOps through the Model Context Protocol, a standard way for assistants to use external tools. Once connected, the assistant can answer questions from your live SearchOps data, like "how did our worst-ranking location do this month?" or "which searches lost clicks since last month?"

What you'll need

  • A plan that includes API access (Pro and above).
  • To connect by signing in, an owner or admin login for the account.
  • An MCP-capable client, such as ChatGPT or Claude.

The server address is:

https://searchops.co/api/mcp

Connect from Claude on the web, desktop or mobile

  1. In Claude, open Settings, then Connectors, and choose Add custom connector.
  2. Name it SearchOps and paste the server address above.
  3. Choose Connect. Claude opens SearchOps in your browser.
  4. Sign in if you are asked to, check where the connection returns to, and select Approve.

You go straight back to Claude, which can now use the SearchOps tools. There is no key to copy.

Note: Only account owners and admins can approve a connection. If you are a member, ask an owner or admin to connect it.

Connect from ChatGPT

  1. In ChatGPT, open Plugins, choose Add, then Add custom MCP server.
  2. Name it SearchOps, paste the server address above and leave Authentication on OAuth. ChatGPT fills in the rest of the sign-in settings itself, so leave the advanced settings as they are.
  3. Tick I understand and want to continue, then choose Create as a plugin.
  4. Sign in to SearchOps if you are asked to, check the connection returns to chatgpt.com, and select Approve.
  5. Start a new chat, type @ and pick SearchOps, then ask your question.

Custom plugins depend on your ChatGPT plan. In a ChatGPT workspace, an admin may need to allow them first.

Connect from Claude Code

Add the server, then run /mcp in Claude Code and choose Authenticate to sign in:

claude mcp add --transport http searchops https://searchops.co/api/mcp

To use an API key instead, add the header when you add the server:

claude mcp add --transport http searchops https://searchops.co/api/mcp --header "Authorization: Bearer lp_live_your_key_here"

Connect from Cursor, VS Code and other clients

Create an API key under Developers > API & MCP Credentials (see Getting started with the API), then add the server address to the client's MCP settings with the key as a bearer token, the same lp_live_ key the REST API uses. The server uses streamable HTTP, which the common MCP clients support.

What the assistant can do

Once connected, the assistant can read your account, and work through your Tasks, with these tools:

  • get_location_summary: every headline for one location in a single call
  • list_locations (searchable by name, address or a town the business serves) and get_location, which says whether a location is a storefront, a service-area business or both, and lists the towns it serves
  • list_location_keywords, including measured Search Console demand where it is connected
  • get_location_ai_visibility: visibility rate, share of voice and the per-prompt breakdown for ChatGPT or Gemini
  • get_location_ai_visibility_insights: one engine's checks pooled over 7, 30 or 90 days, with each keyword's rate, the businesses it names instead, and the sources it cites and whether they list you
  • get_location_reviews: rating, totals, distribution and recent reviews
  • list_location_competitors: the rivals seen against a location on the geo-grid, Google Search and ChatGPT, with where each was seen and its share of voice
  • list_scans and get_scan: geo-grid scans on Google Maps, Google Search or Google AI Mode, with the result at every grid point
  • show_geo_grid: shows one geo-grid scan as a map, each point coloured by its result, with the top three at a point when you tap it. Ask the assistant to "show me the grid". Apps that support interactive views, such as Claude and ChatGPT, draw the map inline in the chat; others get the same data as text
  • get_keyword_grid_history: every scan of one keyword over time, and whether the latest change is a real move or the normal swing between scans
  • get_geo_grid_insights: why a location wins or loses the Map Pack, from distance, the rivals holding it, their categories, the review gap and rival listing changes
  • get_search_grid_results: what a Google Search or AI Mode grid scan found, including the local pack, AI Overviews, who AI Mode named and the sources it cited
  • get_location_profile_performance: Business Profile calls, website clicks, directions, bookings and views over up to 18 months, by month, week or day, with any weekly drops. Google reports this data about four days behind
  • get_location_profile_search_terms: what people searched when Google showed the profile, and whether you already track each one as a keyword
  • get_location_profile_roi: Business Profile results since SearchOps started, against the baseline before the profile was connected
  • list_location_posts: Google posts made, scheduled or drafted in SearchOps, and how often the profile posts
  • list_reports and get_report
  • list_search_console_sites, query_search_console and get_search_console_insights for the Search Console sites you have connected. Search Console shows what happens on Google before the click: searches, impressions, clicks and position
  • list_analytics_properties and query_google_analytics for the Google Analytics properties you have connected. Analytics shows what happens after the click: visits, where they came from, the pages people landed on, and key events such as enquiries
  • get_analytics_ai_referrals: visits to a location's website from AI assistants such as ChatGPT, Gemini and Perplexity, from the Analytics property linked to that location. Some assistants do not say where a visit came from, so treat it as the least it could be
  • list_tasks and get_task: your tasks, including which week each is planned for, how to do it, and this week's progress on a repeating task such as replying to reviews or posting weekly
  • get_location_week: the last 7 days of Business Profile calls, website clicks, directions and views against the week before, beside the tasks finished that week
  • create_task and update_task: add a task, or mark one done, dismiss it, move it, snooze it, add a note or check in on a repeating one. See Work your Tasks list

The Search Console and Google Analytics tools only work once you have connected them in SearchOps, under Settings > Google integrations. If Google Analytics is not connected, the assistant is told so, rather than being shown zero visits. To use get_analytics_ai_referrals, link the Analytics property to the location in the same place.

Start with get_location_summary: it answers "how is this location doing?" in one call. From there an assistant can, for example, notice the review rating slipping and read the recent reviews to explain why, or compare the searches Search Console says bring clicks with the keywords you track.

Note: A connected assistant can change your tasks (it cannot delete them) and save drafts for you to approve. It cannot publish anything to Google, run scans, change settings or your Business Profile, or spend credits. The REST API stays read-only.

Drafts

A connected assistant can save review replies and Google posts as drafts in SearchOps, so you can work on the words in ChatGPT or Claude and publish from SearchOps. Nothing is ever posted or published to Google from the assistant: a person always does that from SearchOps.

  • save_review_reply_draft: saves a reply the assistant wrote to one Google review. It appears in the Reply Inbox, already in the reply box, with a "Drafted in ChatGPT" (or Claude) label. Read it, edit anything, then select Post reply, or Discard to drop it.
  • draft_review_reply: asks the SearchOps reply agent to write the reply instead, in the reply style saved for the location (the tone, length and sign-off from your auto-reply settings), with the same staff-name checks as Generate reply. It is included in your plan, like Generate reply.
  • save_post_draft: saves a Google post. It appears under Drafts on the Posts page, and on the calendar on the date the assistant suggested. Select Open in Post Studio to add a photo and publish or schedule it. A suggested date does not schedule anything.

Before a draft is saved, SearchOps runs the same checks it runs on its own drafts. Dashes are replaced. In a reply, staff names are put into your team's spelling, and a name your team list says not to use is flagged. In a post, phone numbers, email addresses and web addresses are taken out of the text, because Google rejects posts that contain them. The assistant is told what changed.

The assistant should always show you the text first and save it only when you ask, for example "save that as a draft". Drafts can only be saved for Google reviews with no reply yet, on a Business Profile connected to SearchOps.

When you connect ChatGPT or Claude, the approval screen lists Save review reply and post drafts for you to approve. Nothing is published. Untick it to connect without drafts. If you connected before drafts existed, the assistant cannot save them: remove the connection and connect again to allow them. API keys can always save drafts.

Ready-made prompts

The server also offers ready-made prompts: workflows you can pick instead of typing a request. Each tells the assistant which tools to use and what to write. In Claude they sit with the SearchOps connector, and in Claude Code they are slash commands such as /mcp__searchops__monthly_report. Every detail you can add, such as the location, is optional; leave it out and the assistant asks.

  • Weekly client update: one line per location for the last 7 days, with calls, directions, website clicks, reviews needing replies and open tasks, and anything worth a look flagged.
  • Diagnose a drop: lines up Business Profile performance, the Map Pack over time, Geo-Grid Insights and Search Console for one location, and lists what moved together. It does not claim one thing caused another.
  • Monthly report: a summary of one location's month you can send to a client, covering the Business Profile, the Map Pack, reviews, LLM Visibility and Search Console.
  • Draft review replies: a draft reply to each Google review that has no reply yet. If the connection allows drafts, the assistant then saves the ones you approve to the Reply Inbox. You post the replies from SearchOps.
  • LLM Visibility gaps: where ChatGPT or Gemini leaves the business out, who it names instead, and what to fix.

Security

A connection only sees the account it was approved for. Apps you have connected by signing in are listed under Developers > API & MCP Credentials, where you can disconnect any of them. Removing someone from the team, or the plan no longer including API access, also stops the apps they connected. Treat API keys like passwords and revoke one from the same page if it is ever exposed.

Warning: Only connect assistants you trust with your account data, your tasks and your drafts.

Troubleshooting

  • ChatGPT or Claude says it could not connect: check the address is /api/mcp exactly, with no trailing path, and that you approved the connection in the browser window SearchOps opened.
  • "This connection link has expired": the sign-in took longer than 30 minutes. Start connecting again from ChatGPT or Claude.
  • ChatGPT says it has no SearchOps actions: start a new chat, type @ and pick SearchOps before asking. If it still says so, open the plugin under Plugins, choose Manage, then Refresh tools.
  • The assistant says it cannot save drafts: the connection was approved without drafts, or before they existed. Remove SearchOps from the app, add it again, and leave drafts ticked when you approve.
  • There is no Approve button: only owners and admins on a plan with API access can connect apps. The page says which applies.
  • 401 when calling with no key: expected. It tells the client where to sign in. A client that cannot sign in needs an API key.
  • 406 Not Acceptable: if you are calling the endpoint yourself, send Accept: application/json, text/event-stream.
  • 405 Method Not Allowed: the server is stateless, so only POST is supported.
  • Still stuck: every request, including the ones that fail, appears under Developers > API Event Logs. Filter the source to MCP to see which tool was called and whether it failed.

Next steps

Was this helpful?

Still stuck? Contact our support team and we'll help you out, usually within one UK working day.