queries.viewengine.ai
Read the real questions people ask Google about your business, from your own Search Console data. This page covers the agent surface: how to connect an AI client over MCP, and how to read or generate reports over plain HTTP.
How it works
- Connect Google once. Read-only access to Search Console (
webmasters.readonly). A human approves this in a browser. - Point your client at your personal URL. Either add the MCP URL to your AI client, or call the HTTP API with your capability token.
- Ask in plain language. Say "pull the conversational queries for example.com". Your client calls
create_report, polls for about 60 seconds, then reads back the grouped, categorized questions.
Every report lives at an unguessable link. Treat your report links, your capability token, and your MCP URL like passwords. Each one grants access on its own, and each one can be revoked.
Connect Google
You need a capability token before an agent can do anything. Getting one takes two steps, and a human has to approve the Google consent screen.
From the product: open queries.viewengine.ai, click Connect Google, and approve the consent screen. On your report, or on the site picker, click Connect an AI client to run new reports. That reveals your personal MCP URL with a copy button.
To hand a single report to an assistant without setting anything up, use the Analyze these results in links on the report instead. Those open a new chat with the report's Markdown URL and a prompt already written.
From an agent: call GET /api/agent/connect. It returns three things:
{
"connectUrl": "https://connect.composio.dev/link/lk_...",
"capability": "your-32-character-token",
"userId": "..."
}
Give connectUrl to a human to open in a browser. Once they approve Google, the capability is live and your MCP URL is https://queries.viewengine.ai/mcp/<capability>.
Capabilities last 30 days. Connect again to mint a new one.
MCP server
Point any MCP-capable client at your personal URL and choose the "No authentication" option. The unguessable URL is itself the credential, so there is no OAuth setup.
| tool | what it does |
|---|---|
connection_status | Is Google Search Console connected? |
list_properties | The GSC properties (sites) you can run reports on |
create_report | Generate a report for a property; returns slug + URLs |
get_report | Read a report by slug: processing / done / error |
| resource | content |
|---|---|
queries://reports/{slug} | The report as JSON |
queries://reports/{slug}/markdown | Agent-readable Markdown |
queries://reports/{slug}/csv | Per-query CSV export |
Install: ChatGPT
- Settings → Apps → Developer mode on (requires a paid plan).
- Apps & Connectors → Create a new app.
- Name it "queries", paste your MCP URL (
https://queries.viewengine.ai/mcp/<capability>), and pick No authentication. - Save, then ask: "create a report for example.com".
Install: Claude (claude.ai)
- Settings → Connectors → Add an MCP server.
- Paste your MCP URL, authentication = None.
- The tools appear in chat.
Install: Claude Code (terminal)
claude mcp add queries --transport http https://queries.viewengine.ai/mcp/<capability>
Install: Cursor
- Settings → MCP → Add new server.
- Type streamable-http (or http), paste your MCP URL, save.
- Toggle it on in a chat session.
API
Everything the MCP server does runs on plain HTTP underneath. You can drive it from curl, a script, or any agent that can fetch.
Read reports (no auth)
Reports live at unguessable slugs. Append a file extension to a report URL:
| URL | serves |
|---|---|
GET /r/{slug} | HTML report page |
GET /r/{slug}.md | Markdown |
GET /r/{slug}.csv | CSV, one row per query |
GET /r/{slug}.json | raw report JSON |
| code | meaning |
|---|---|
200 | ready |
404 | unknown slug |
409 | the report failed, so do not retry |
503 | still processing, retry after Retry-After seconds |
Actions (capability bearer token)
Send your capability as Authorization: Bearer <capability>.
# 1. connect Google (a human opens connectUrl)
curl https://queries.viewengine.ai/api/agent/connect
# 2. list properties
curl -H "Authorization: Bearer <capability>" \
https://queries.viewengine.ai/api/agent/properties
# 3. create a report
curl -X POST -H "Authorization: Bearer <capability>" \
-H "content-type: application/json" \
-d '{ "siteUrl": "sc-domain:example.com" }' \
https://queries.viewengine.ai/api/agent/reports
# 4. poll until done, then fetch the markdown/csv/json URLs from step 3
curl https://queries.viewengine.ai/api/agent/reports/<slug>
| endpoint | method | auth | purpose |
|---|---|---|---|
/api/agent/connect | GET | rate-limited | mint capability + start Connect Google |
/api/agent/callback | GET | none | Composio OAuth return (browser) |
/api/agent/properties | GET | Bearer | list GSC properties |
/api/agent/reports | POST | Bearer | create a report |
/api/agent/reports/{slug} | GET | none | poll a report |
| code | meaning |
|---|---|
401 | invalid or missing capability |
400 | bad body |
429 | rate limited |
502 | provider (Google/Composio) error |
Data & privacy
- Google access is read-only. We never write to your Search Console.
- We store the finished report for 90 days, plus the temporary capability mapping. We do not store your raw query data or your Google credentials.
- Reports are shared by unguessable link only, and every one is tagged noindex so search engines skip it.
Machines
- OpenAPI:
GET /api/openapi.json - Docs raw (markdown):
GET /api/docs llms.txtat the site root describes the whole surface.
Made by ViewEngine. Free to use.