Guide
Connect Google Search Console to Hermes Agent or OpenClaw with Composio
Let your agent turn clicks, impressions, CTR, ranking queries, URL inspections, and sitemap status into a practical SEO review—starting with the exact property and latest complete data.
A useful first job: find pages losing search clicks
An SEO dashboard can tell you clicks fell. A better briefing identifies the pages and queries behind the fall, checks whether the URLs remain indexed, and separates ranking changes from reporting delay. A connected agent can assemble that evidence, but first it needs the exact Search Console property.
Connect the managed integration
Hosted Hermes Agent and OpenClaw use identical dashboard steps because the integration connection is shared at the OpenClaw Launch account layer.
- Open Dashboard → Integrations and search for Google Search Console.
- Select the exact card and click Connect. The verified toolkit slug is
google_search_console. - Complete OAuth with a Google account that is an owner or user of the intended Search Console property.
- After Connected appears, list sites before querying performance or submitting a sitemap.
Google distinguishes owner, full-user, and restricted-user permissions; the visible properties and allowed operations depend on the connected account. See Google's permissions guide. Composio confirms OAuth2 and nine current actions in its toolkit reference.
Start with verified read actions
composio connections
composio search google_search_console list sites
composio search google_search_console search analytics
composio search google_search_console inspect URLGOOGLE_SEARCH_CONSOLE_LIST_SITESdiscovers accessible properties.GOOGLE_SEARCH_CONSOLE_SEARCH_ANALYTICS_QUERYretrieves clicks, impressions, CTR, and position grouped by requested dimensions.GOOGLE_SEARCH_CONSOLE_INSPECT_URLreturns Google's indexed-view information for a URL.GOOGLE_SEARCH_CONSOLE_LIST_SITEMAPSandGOOGLE_SEARCH_CONSOLE_GET_SITEMAPcheck submitted sitemap status.GOOGLE_SEARCH_CONSOLE_SUBMIT_SITEMAPis a write action; review the sitemap URL first.
Have the agent inspect the action's current schema rather than guessing JSON fields. Property strings are exact: a URL-prefix property and a domain property are different resources.
Use my connected Google Search Console account. List every accessible property and its permission level. Do not add or delete sites and do not submit a sitemap.
Choose one property, then continue:
For the selected property, find the latest date with complete Search Analytics data. Compare the latest complete 28 days with the preceding 28 days, grouped by page. Show pages with the largest click losses, then inspect the top three URLs. Do not submit or delete anything.
Interpret the response carefully
Google's Search Analytics reference says the API returns rows grouped by requested dimensions, sorts primarily by clicks, omits days without data, and does not guarantee every row. Its performance-data guide says data is typically available after two to three days and exposes at most 50,000 rows per day per search type.
That means an empty newest day may be normal, and a query-level export should not be described as a complete log of every search. State the dates, search type, dimensions, and row limit in the briefing. For expensive or repeated reporting, query one day at a time and cache results. Google says grouping or filtering by page and query together consumes more load quota.
Inspection and sitemap workflow
URL inspection reports the version known to Google, including coverage state, last crawl, robots state, and canonical signals. It does not promise a fresh crawl or indexing. Review an inspection result, fix the actual site issue, and then check again later.
For a sitemap, ask the agent to list existing submissions and compare their exact URLs. If a valid sitemap is absent, ask it to show the intended submission first; only then approve GOOGLE_SEARCH_CONSOLE_SUBMIT_SITEMAP. Submission is discovery input, not an indexing guarantee.
Troubleshooting Search Console
- The property is missing: reconnect the correct Google account or have an owner grant access. Verify protocol and subdomain for URL-prefix properties.
- Recent dates are empty: query the previous ten days grouped by date and use the latest available complete day.
- Totals do not match a broad UI view: align search type, dimensions, filters, dates, and aggregation. Remember that top-row limits can omit queries.
- Quota exceeded: shorten ranges, avoid page-plus-query breakdowns, cache repeated reports, and wait before retrying. Google documents separate Search Analytics load and request quotas in its usage limits.
- Inspection says URL is not indexed: check robots, canonical, fetch status, and sitemap evidence. Do not repeatedly submit the sitemap as a substitute for fixing the page.
- A write is forbidden: inspect the connected user's property permission and use an owner/full account only when the intended action requires it.
Self-hosted setup for Hermes Agent and OpenClaw
For an installation you run yourself, create a server in your own Composio project, select this app and the tools you need, and connect the intended account. Copy the complete generated MCP URL for that user. The examples below use Composio Platform MCP and a Composio project API key in x-api-key. An app password or provider API key belongs in the app connection flow, not in this header.
Set COMPOSIO_API_KEY in the environment of the agent process and replace the URL placeholder below. Merge the entry into your existing configuration. Keep your project key out of chat and source control. A connection on OpenClaw Launch does not automatically transfer to your own Composio project; Composio connections are scoped to their project and user.
Hermes Agent
Add the server under mcp_servers in ~/.hermes/config.yaml. You can set the environment variable in ~/.hermes/.env.
mcp_servers:
composio:
url: "YOUR_GENERATED_PLATFORM_MCP_URL"
headers:
x-api-key: "${COMPOSIO_API_KEY}"
connect_timeout: 60
timeout: 180Run hermes mcp test composio to check discovery, then start a new session or use /reload-mcp in the Hermes CLI. See the Hermes MCP configuration reference for reload behavior and tool filters.
OpenClaw
Use a release with the native openclaw mcp commands. Its server definitions belong under mcp.servers in ~/.openclaw/openclaw.json:
{
"mcp": {
"servers": {
"composio": {
"url": "YOUR_GENERATED_PLATFORM_MCP_URL",
"transport": "streamable-http",
"headers": {
"x-api-key": "${COMPOSIO_API_KEY}"
}
}
}
}
}Ensure the Gateway service receives the environment variable, restarting that service after changing its environment. Run openclaw mcp doctor composio --probe and begin a new agent session. If your version lacks these commands, update before using this config. The native registry is separate from mcporter. See OpenClaw's MCP reference and HTTP transport fields.
Discovery confirms the MCP connection. Finish with this guide's first read request to check access to the actual app. The hosted composio shell commands earlier in this guide are supplied by OpenClaw Launch; a standalone MCP setup exposes tools through the agent's MCP client instead.
Frequently asked questions
Does Google Search Console through Composio work with Hermes Agent?
Yes. Managed Hermes Agent and OpenClaw instances use the same Integrations connection flow and Google Search Console toolkit.
Can the agent request indexing for a URL?
The current Composio toolkit exposes URL inspection and sitemap submission, but no general “request indexing” action. Do not describe sitemap submission as a guarantee that a URL will be indexed.
Why are the latest days missing from Search Analytics?
Google says performance data is typically available after two or three days. Ask for the latest available date before treating missing recent rows as an error.
Does the API return every search query?
No. Google says Search Analytics is bounded by internal limits and returns top rows rather than guaranteeing every row, especially when grouping by query or page.