MCP server

Let an AI agent read your analytics: seven tools over the Model Context Protocol, all of them read-only, authenticated with an API key you already have.

1. What an agent can do with this

Point a Model Context Protocol client at the endpoint and it can ask questions like "which page produces the most rage clicks this month" or "show me three sessions from Germany longer than two minutes" - and then hand you a link that plays the session back.

ToolAnswers
mp_projectswhich projects this key may read
mp_overviewsessions, people, page views, duration, frustration signals
mp_sessionsrecent sessions with replay links, filtered by country, device or length
mp_sessionone session: pages in order, events, source, device
mp_pagespages by views, with unique visitors
mp_frustrationrage clicks, dead clicks and JavaScript errors grouped by page
mp_goalsyour goals and how often each was reached

Every session the agent reports comes with a link a human can open. An agent that summarises what it saw is useful; an agent that also shows you the twenty seconds it based that on is checkable.

2. Connecting

The endpoint takes POST at /mcp and speaks Streamable HTTP, protocol version 2026-07-28.

Authentication is a normal MousePlayer read API key - the same kind you create under Settings, API keys, and the same kind the REST API takes. There is no second credential. Revoking the key revokes the agent's access in the same moment.

Then switch the project on

An API key opens your whole workspace. This one deliberately does not: each project has its own switch on the integrations page, and it is off by default. A project that is not switched on does not appear in mp_projects and cannot be read even if the agent guesses its ID.

That is not bureaucracy. An API key in a deploy script lives in one place you control; an API key in an agent's configuration file feeds a model context, and that is a much looser kind of custody. Releasing one project at a time is the control that matches.

3. Read-only, and why that is not going to change

None of the seven tools writes anything. There is no delete, no export, no configuration change behind this endpoint - not because we ran out of time, but because a tool an agent can call is a tool an agent can call by mistake.

What it does not return

No recordings themselves, no DOM snapshots, no IP addresses. The agent gets what a person sees in the interface, plus the link to watch the rest.

Rate and range limits

Sixty requests per minute per key, the same as the REST API. A time range is capped at 365 days and a result list at 200 rows; a truncated answer says so, because a silently truncated list looks exactly like a complete one.

4. For the people who build the client

Three methods: server/discover, tools/list, tools/call. No sessions, no GET stream, no Last-Event-ID - those belong to protocol versions up to 2025-11-25 and are not part of this one. A GET or DELETE gets 405.

Every POST carries MCP-Protocol-Version, Mcp-Method and, for tools/call, Mcp-Name, and each must match the body. A mismatch is 400 with JSON-RPC error -32020; an unsupported version is 400 with -32022 and the list of versions we do support, so your client can pick one and retry.

Two kinds of error, on purpose

A malformed request or an unknown tool is a JSON-RPC error. "This project is not released" or "no such session" comes back as a normal result with isError: true - because a model can recover from the second kind by asking mp_projects and trying again, and cannot recover from the first.

Results carry both structuredContent and the same data serialised into a text block, so older clients still see something useful.

All trademarks named here belong to their respective owners. MousePlayer has no business relationship with these providers.