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.
The endpoint
Section titled “The endpoint”https://app.attri.io/mcpTransport: 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.
Connect
Section titled “Connect”Every client that supports remote MCP servers with OAuth works the same way: add the endpoint, then finish sign-in in the browser.
| Client | Where to add it |
|---|---|
| Claude.ai | Settings → Connectors → Add custom connector → paste the endpoint |
| Claude Code | claude mcp add --transport http attri https://app.attri.io/mcp |
| Grok Bot | Ask the bot: Add a custom MCP server called Attri at https://app.attri.io/mcp |
| Cursor | Settings → MCP → Add server (type: HTTP) with the endpoint |
| ChatGPT | Settings → Connectors → Create → paste the endpoint |
The first request opens Attri in your browser. After sign-in you see the consent screen:
- 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.
- 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.
- 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.
What the assistant can do
Section titled “What the assistant can do”All tools are read-only in this release. Dates are YYYY-MM-DD; ranges default to the last 28 days.
| Tool | Answers |
|---|---|
list_workspaces, get_workspace | Which workspaces are enabled, plan, whether the snippet is live, Search Console status |
get_site_overview, list_top_pages, list_sources, list_outbound_clicks | Visitors, 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_pages | Search Console queries and landing pages joined to what those visitors did on your site |
list_findings, get_finding | The posture review: ranked findings with evidence and the suggested action |
list_links, list_top_links, list_conversions, list_goals | Short 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?
Managing connections
Section titled “Managing connections”- 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.
Building your own client
Section titled “Building your own client”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.