Documentation

Anry MCP Server

How to connect an AI agent to Anry, what it can read once connected, and how authentication, authorization and data protection work. Written for the person setting it up and the person approving it.

Last updated 14 October 2026

1. Overview

The Anry MCP server lets an AI agent read everything Anry knows about your store: the opportunities on your dashboard, the dated reports behind them, the evidence underneath (sessions, heatmaps, traffic, paid media), and the methodology our analysts use to reason over it. It speaks the Model Context Protocol, the open standard supported by Claude, Cursor, VS Code and most agent platforms.

  • Server URL: https://mcp.anry.io/mcp
  • Transport: streamable HTTP, stateless. No session affinity, no WebSockets.
  • Access: read-only. No tool changes your data, settings, campaigns or goals, and none triggers background work.
  • Authentication: OAuth 2.1 with your Anry account. No API keys.

Numbers are served exactly as the dashboard shows them, in your store's own currency, so an agent and a teammate reading the same report see the same figures.

2. Requirements

  • An Anry account, and membership of at least one site. Any member can connect; an agent never sees more than the member who connected it.
  • A connected site. Anry works with Shopify, WooCommerce, PrestaShop and any website via the snippet.
  • An MCP client that supports remote servers over streamable HTTP with OAuth: Claude (web, desktop and mobile), Claude Code, Cursor, VS Code, and others.

Agencies connect once and work across every client: the tools operate per site, and list_sites returns each site your account can access.

3. Connect from Claude

In Claude (claude.ai or the desktop app): Settings → Connectors → Add custom connector, then paste the server URL:

https://mcp.anry.io/mcp

Claude opens the Anry sign-in and consent screen. Sign in with your Anry account, approve the connection, and the tools appear in your conversations. On a Claude Team or Enterprise plan, an organization admin may need to enable custom connectors first.

In Claude Code, add the server from the terminal:

claude mcp add --transport http anry https://mcp.anry.io/mcp

The first tool call triggers the same sign-in and consent flow in your browser.

4. Connect from other agents

In Cursor, add the server to ~/.cursor/mcp.json:

{ "mcpServers": { "anry": { "url": "https://mcp.anry.io/mcp" } } }

In VS Code (GitHub Copilot):

code --add-mcp '{"name":"anry","type":"http","url":"https://mcp.anry.io/mcp"}'

Any other MCP client that supports remote streamable HTTP servers with OAuth works the same way: give it the server URL and complete the sign-in when prompted. If your client asks about dynamic client registration, the server supports it; there is nothing to pre-register.

5. Authentication

The server uses OAuth 2.1: authorization code flow with PKCE, and dynamic client registration (RFC 7591) so clients register themselves on first connect. You sign in with your Anry account on our consent page; the client never sees your password, and there are no API keys or shared secrets anywhere in the flow.

  • Tokens are short-lived and user-scoped. Each access token identifies one person, never a site or a company-wide credential, and carries an expiry.
  • Every request is verified cryptographically. Tokens are asymmetrically signed (ES256) and validated on every call: signature, issuer and expiry. Weaker algorithms and unsigned tokens are rejected outright.
  • Only connector tokens are accepted. Tokens minted for the Anry dashboard cannot be replayed against the MCP server, so a leaked browser session does not become agent access.

6. Authorization and tenancy

Authorization is evaluated on every tool call, against the same access rules as the Anry dashboard: you see a site's data when one of your accounts owns it or was granted it, and nothing otherwise.

  • Tools that take a site always re-check the signed-in user's membership before reading. There is no admin bypass and no shared service identity.
  • Tools that take a record id resolve the owning site from the record itself, then check membership. A foreign id, an unknown id and a malformed id all return the same not-found answer, so ids cannot be probed.
  • list_sites returns only the sites your accounts can see, by construction.

7. What your agent can read

All tools are read-only and annotated as such (every tool declares readOnlyHint in its MCP metadata).

7.1 Setup and sites

  • list_sites: the sites your account can access.
  • get_site_status: tracking, purchases, ad connections and store integrations, as dated facts.

7.2 Opportunities and questions

  • list_opportunities: the findings currently on your dashboard, typed and priced.
  • get_revenue_leaks and get_issue: per-detection evidence bundles behind a finding.
  • list_questions: the questions your team asked Anry to keep answering.

7.3 Reports

  • list_reports: the full ledger of dated reports for every page, campaign, ad and question, plus the weekly brief journal.
  • get_report: one report document, byte-identical to what the dashboard renders.

7.4 Evidence

  • get_analytics_overview, get_top_pages, get_traffic_sources: funnel metrics, page and source breakdowns.
  • list_sessions and get_session: session summaries referenced by reports.
  • get_heatmap_summary: click and scroll aggregates for a page.

7.5 Paid media

  • get_campaign_spend: spend and attributed revenue per campaign and ad, in your store's currency.
  • get_paid_waste_summary: where ad spend is not earning its keep.

The server also ships Anry's working methodology as MCP prompts (guided workflows to diagnose conversion opportunities, audit paid ads efficiency and prioritize a CRO backlog) and resources (a glossary), so any connected agent reasons about your store the way our analysts do.

8. Data protection

Written for the reviewer deciding whether to approve this connector for an organization.

  • Read-only surface. No tool mutates data, changes settings or enqueues work. Approving the connector cannot change anything in Anry or in any connected ad account.
  • Tool output is analysis, not raw capture. Tools return report text, aggregates and session summaries. Form input values on tracked sites are masked at the point of capture, before anything leaves the visitor's browser, so they do not exist in the data the server can read.
  • Bounded reads. Analytics queries run through an allowlist with capped time windows, per-user rate limits, caching and circuit breakers. An agent cannot run free-form queries against the event store.
  • Minimal metering. Tool calls are counted per user and day for product analytics. Arguments and results are not stored.
  • Data handling. What Anry collects, where it is stored and who processes it is covered by the Privacy Policy and the sub-processor register. Connecting an MCP client adds no new sub-processor: the client reads the same data the dashboard already serves, under the client's own terms.

9. Revoking access

  • From the client: disconnect or remove the connector in your MCP client's settings (in Claude: Settings → Connectors). The client discards its tokens.
  • From Anry: removing a member from an account removes the access their connected agents had, since every call re-checks membership. Access tokens are short-lived, so a removed member's outstanding token lapses on its own.
  • For removing the data itself, see Data Deletion.

Support

Stuck on a connection, or reviewing the connector for your organization and missing an answer? Write to us and a person answers.

Entity
Flowganise Pty Ltd, the company behind Anry
ACN
47 683 893 183