Anry
Anry ist ein schreibgeschützter MCP-Server, der jeden Ad-Click mit dem Besuch und der Bestellung verknüpft, beziffert, wo ein Online-Shop Geld verliert, und die Behebung an den eigenen KI-Agenten des Shops übergibt.
Gehosteter MCP-Server
npx add-mcp 'https://mcp.anry.io/mcp'Installiert in Claude Code, Codex, Cursor und mehr
Dokumentation
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 your agent
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 opens the Anry sign-in and consent screen in your browser.
In Cursor, add the server to ~/.cursor/mcp.json:
{
"mcpServers": {
"anry": { "url": "https://mcp.anry.io/mcp" }
}
}
Complete the Anry sign-in when Cursor prompts you.
In VS Code (GitHub Copilot), add the server from the terminal:
code --add-mcp '{"name":"anry","type":"http","url":"https://mcp.anry.io/mcp"}'
Complete the Anry sign-in when VS Code prompts you.
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.
https://mcp.anry.io/mcp
If your client asks about dynamic client registration, the server supports it; there is nothing to pre-register.
4. 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.
5. 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_sitesreturns only the sites your accounts can see, by construction.
6. What your agent can read
All tools are read-only and annotated as such (every tool declares readOnlyHint in its MCP metadata).
Tool Group What it returns
list_sites Setup and sites The sites your account can access.
get_site_status Setup and sites Tracking, purchases, ad connections and store integrations, as dated facts.
list_opportunities Opportunities and questions The findings currently on your dashboard, typed and priced.
get_revenue_leaks Opportunities and questions Revenue at risk each week and month, and the issues behind it, ranked by cost.
get_issue Opportunities and questions The evidence bundle behind one finding: metrics, impact, sources, devices and user paths.
list_questions Opportunities and questions The questions your team asked Anry to keep answering.
list_reports Reports The full ledger of dated reports for every page, campaign, ad and question, plus the weekly brief journal.
get_report Reports One report document, byte-identical to what the dashboard renders.
get_analytics_overview Evidence Funnel metrics for a date range, with the top pages and sources.
get_top_pages Evidence Per-page metrics, ordered by revenue.
get_traffic_sources Evidence Visitors, conversions and revenue per traffic source.
list_sessions Evidence Session summaries referenced by reports, each with a replay link.
get_session Evidence One session's pages, clicks and purchases in order. Event metadata only, never replay content.
get_heatmap_summary Evidence Click and scroll aggregates for a page.
get_campaign_spend Paid media Spend and attributed revenue per campaign and ad, in your store's currency.
get_paid_waste_summary Paid media 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.
7. 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.
8. 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.