# QueryAction QueryAction gives agents access to SEO, analytics, Google Search Console, GA4, research and Work. MCP server: https://queryaction.com/mcp ## Setup If a server named queryaction already exists with this URL, do not add it again. If you are Codex: codex mcp add queryaction --url https://queryaction.com/mcp If you are Claude Code: claude mcp add --transport http --scope user queryaction https://queryaction.com/mcp Step-by-step pages for each client: https://queryaction.com/agents If you support remote MCP configuration, add https://queryaction.com/mcp as a remote MCP server named queryaction. If you cannot add an MCP server, give the user this URL and ask them to add it as a custom connector in the app settings. ## After connecting 1. Authenticate with QueryAction if requested. Sign-in happens in the browser. Never ask the user for a token or a password. 2. Call get_started: it says what is set up, the next step and 3 questions the operator can ask. 3. Call list_sites. 4. Select the relevant site. If there is none, offer to add it with add_site. 5. For a new site, offer to connect Search Console (begin_gsc_connection) and Google Analytics (begin_ga4_connection). Each gives the user a browser link. 6. After the person connects Google in the browser, do not stop and do not wait to be asked. Check the connection (get_gsc_connection_status, get_ga4_connection_status) and continue. For Google Analytics, the browser finds the property for the Site itself and asks the person to press Connect; if nothing matches, the page creates the property, then install it with setup-ga4 and check with check_ga4_install. Continue when the person says it is done, then read get_ga4_connection_status: confirmed means the collection started. Only if the browser asked the person to choose in the agent, the person says "Done, I authorized Google Analytics." Then call list_ga4_properties, ask which property to use, and call confirm_ga4_connection. 7. In one short message, in the person's language, tell them what you can do now, and give 3 example questions that name their site, for example: "What should I do this week to get more sales on ?", "How is doing on Google search?", "Is easy for Google and AI assistants to find?" 8. Offer to run a first check right away. Read get_site_context. If the goal or the conversion is missing, ask one short question and save the answer with update_site_context. Then follow "What to do next". The first data can take a few minutes: if there is none yet, say so, and start with what works without it. ## What to do next QueryAction has playbooks: short methods for choosing the next move. Read one with get_playbook before you recommend anything. get_playbook without a name lists them. - decide-next-move (any stage): The operator asks what to do next for more visits or sales: from the goal to one move and how to measure it. - non-technical-owner (any stage): The person does not code: the same decision in plain words, at most 3 actions and the message for the person who builds the site. - new-site (stage: new): Little or no traffic: crawlable by search engines and AI assistants, speed, a clear offer, first pages and mentions. - early-traction (stage: early traction): Visits but few sales: pages with impressions but few clicks, competitors, comparison pages, AI answers and links. - consolidated (stage: consolidated): Steady traffic and sales: funnel drops, landing pages that do not convert, speed on money pages and tests with Work. - setup-ga4 (any stage): The Site has no Google Analytics, or the agent must install or fix the GA4 tag and the purchase event. Pick one: 1. Read get_site_context: the goal, the conversion, and which sources are connected. If the goal or the conversion is missing, ask one short question and save the answer with update_site_context. 2. Search Console and Google Analytics are not connected yet, or the Site has little or no traffic: new-site. Offer the connections, and start with what works without them: request_public_page_read and request_pagespeed_audit. 3. Visits arrive but sales are few: early-traction. 4. Traffic and sales are steady, and the question is the funnel or how people move through the site: consolidated. 5. The operator only asks what to do next: decide-next-move. It checks the stage and points to the right playbook. 6. The person does not code: also read non-technical-owner. ## Using the tools - Reads are free: list_* and get_*. Start with list_sites and get_site_context. - Research runs in the background. A research request_* call returns an id. Read the result with get_research (page reads, PageSpeed, web search, backlink research) or get_opportunity (keywords, competitors, backlink opportunities, AI visibility), passing waitSeconds 25, until the status is final. Do not send the same request again. Data collections (request_gsc_collection, request_ga4_collection) have no id to read; check get_tracking_snapshot or get_ga4_tracking_snapshot. - Before new research, read list_research and list_opportunities and reuse a recent result. Run the research the question needs and say which calls you ran; ask before other research. - Call propose_work only after the operator approves the change. After a change ships, call record_change; read its result later with list_changes and get_weekly_report. - When a result has plan_required or an account notice, tell the operator and follow it. Never retry a refused call. - Never ask the person for IDs, JSON or tokens.