Set up Google Cloud service account credentials and add the service account as a delegated owner in Search Console to authorize use of the Indexing API
Create a Google Cloud project, enable the Indexing API, and create a service account under IAM; download the JSON private key file
Note the service account email address from the JSON key ('client_email' field)
In Search Console, open the property settings, go to Users and Permissions, and add the service account email as an Owner (not just a User)
In your application, use the google-auth library to load the JSON key and obtain an access token with scope 'https://www.googleapis.com/auth/indexing'
Make a test POST to 'https://indexing.googleapis.com/v3/urlNotifications:publish' with type 'URL_UPDATED' for a known JobPosting URL
Confirm a 200 response with 'urlNotificationMetadata' containing 'latestUpdate' to verify the full auth chain works
Known gotchas
Adding the service account as a User (rather than Owner) in Search Console will result in 403 errors on Indexing API calls — it must be Owner level
The JSON key file contains a private key and must be kept out of version control; store it in a secrets manager or environment variable, never hard-code it
Service account ownership must be re-verified if the property is transferred or if the service account is deleted and recreated
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp