amplitude
amplitude.
What this Amplitude project tracks — read it BEFORE writing a query:
setup & usage
in Amplitude: Settings → Organization settings → Projects → (your project) → General. Copy both the API key and the secret key into oto, and pick the project's region.
403 Invalid API/Secret Key combinationus (default, amplitude.com) or eu (analytics.eu.amplitude.com) — two separate deployments. A key used on the wrong one answers 403 Invalid API Key; the "test connection" button names which of the two is wrongGET /api/2/taxonomy/event): nothing is writtenfive tools, all read only:
amplitude_schema() — read it before a query; op="event_properties", event_type="Sign Up", op="user_properties" (custom ones are gp:…), op="volumes" for what actually firesamplitude_chart(chart_id="…") — the id is the last segment of the chart URL. The number is the team's ownamplitude_query(op="segmentation", event="Sign Up", start="2026-09-01", end="2026-09-30", interval="week", group_by="country")amplitude_query(op="funnel", events=["Sign Up", "Purchase"], start=…, end=…, conversion_window_days=7)amplitude_query(op="retention", event="Sign Up", start=…, end=…) (return event defaults to any active event)amplitude_query(op="active_users", start=…, end=…, interval="week")amplitude_user(user="alice@acme.com") then amplitude_user(op="activity", amplitude_id=…)amplitude_cohort() then amplitude_cohort(op="request", cohort_id=…); if still running, op="members", request_id=… a minute laterconversion window, step order, exclusions and attribution do not survive being re-specified by hand: a rebuilt funnel returns a plausible number that disagrees with the one your team reads in Amplitude, and nothing signals it. When the chart exists, amplitude_chart; amplitude_query is for questions nobody has charted yet.
long_range=True, 366 days is the cap, 5 segments at mostamplitude_schema firstread only. Event ingestion, taxonomy edits, cohort upload, dashboards, experiments and feature flags are not served. For chatting with Amplitude directly in an AI client, Amplitude's own MCP server (mcp.amplitude.com/mcp, OAuth) covers more of the product; this connector is what procedures, agents and runs can use.
this connector accepts multiple comptes: each stored credential becomes a named account (one name per compte), at your level, your team's or your org's.
_account="<name>" on the tool; list them: oto_identity(op='list', connector='amplitude') (scope='org' or scope='group' for the org's or team's)oto_identity(op='set', connector='amplitude', identity_id='<name>'); rename: op='rename' with new_name_account) and adding upoutils
utilisation
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.pipx install oto-cli puis oto amplitude …