Skip to content

Use Attri from your AI assistant

Attri runs an MCP server, so an AI assistant can read your analytics directly: which pages and sources bring visitors, how your Search Console queries perform, and which findings from the posture review to work on first. You sign in with your Attri account, choose which workspaces the assistant may use, and disconnect it at any time.

https://app.attri.io/mcp

Transport: Streamable HTTP. Authentication: OAuth 2.1 with PKCE and dynamic client registration, discovered automatically by the client. There is nothing to configure on the server side and no API key to paste.

Every client that supports remote MCP servers with OAuth works the same way: add the endpoint, then finish sign-in in the browser.

ClientWhere to add it
Claude.aiSettings → Connectors → Add custom connector → paste the endpoint
Claude Codeclaude mcp add --transport http attri https://app.attri.io/mcp
Grok BotAsk the bot: Add a custom MCP server called Attri at https://app.attri.io/mcp
CursorSettings → MCP → Add server (type: HTTP) with the endpoint
ChatGPTSettings → Connectors → Create → paste the endpoint

The first request opens Attri in your browser. After sign-in you see the consent screen:

  1. Workspaces. Every workspace you belong to, grouped by organization. Tick the ones this assistant may use. You can pick several; the assistant asks which one to use when it matters.
  2. Permissions. Read workspace data is always on. Read form submissions is off unless you turn it on; it is the only permission that reaches personal data. Create and edit links and Update findings appear when your role allows them.
  3. Allow access. You are sent back to the client and the connection is live.

Assistant access follows the workspace plan: the same plans that include API access. Search Console data needs a connected property.

All tools are read-only in this release. Dates are YYYY-MM-DD; ranges default to the last 28 days.

ToolAnswers
list_workspaces, get_workspaceWhich workspaces are enabled, plan, whether the snippet is live, Search Console status
get_site_overview, list_top_pages, list_sources, list_outbound_clicksVisitors, sessions, channel mix, pages, referrers, outbound clicks, with the prior period for comparison
get_search_overview, list_search_queries, list_search_pages, get_search_query_pagesSearch Console queries and landing pages joined to what those visitors did on your site
list_findings, get_findingThe posture review: ranked findings with evidence and the suggested action
list_links, list_top_links, list_conversions, list_goalsShort links, clicks and conversions per link, goals

Prompts that work well:

  • What should I fix on my site this week? The assistant reads the findings, which are ranked by the visits a change could move, weighted by what each page’s search visitors already do.
  • Which search queries lost clicks compared with last month?
  • Where did the visitors who converted come from in September?
  • Which pages rank for “utm builder”, and which one should own it?
  • Your connections: Profile → Connected apps lists every assistant you connected, its workspaces and permissions, and lets you disconnect it. Disconnecting revokes its tokens immediately.
  • What it can see: an assistant only ever sees workspaces you can open yourself, checked live on every request. Leaving a workspace or losing a role removes it from the assistant at the same moment.
  • Rate limits: the same per-workspace limits as the API.

The server follows the MCP specification for Streamable HTTP and the OAuth 2.1 authorization-server metadata at https://app.attri.io/.well-known/oauth-authorization-server. Register a client through the advertised registration endpoint, request the openid profile email offline_access scopes with PKCE (S256), and send the access token as a bearer token on every MCP request. Refresh tokens are issued with offline_access.