# Amplitude MCP connector

The Amplitude connector lets Claude, ChatGPT, Cursor and other AI clients work with your Amplitude cohorts, chart annotations, releases, event taxonomy and user properties through one governed endpoint, with every action tied to a named person.

Source: https://elaichi.ai/connectors/amplitude/

## Facts

| | |
| --- | --- |
| Application | Amplitude |
| Category | Analytics |
| AI tools | 58 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 58 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Amplitude is connected

- List all Amplitude cohorts created this quarter.
- Which chart annotations landed on last week's release?
- Summarize event volume by annotation category.

## Connect Amplitude in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Amplitude.
2. Optionally set Share with, then press Connect.
3. Paste an Amplitude API key. One person generates a token in Amplitude and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Amplitude tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Amplitude to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Amplitude to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Amplitude to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Amplitude to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Amplitude tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Amplitude through Elaichi

### Mark a release on every chart

Product. After a feature ships, ask the agent to create the release in Amplitude and add a chart annotation so the whole team sees why retention moved that week.

### Build a cohort for the next campaign

Marketing. Describe the audience in plain language, such as users who completed onboarding but never invited a teammate, and have the agent create the cohort in Amplitude ready for export to your email tool.

### Record attribution from offline touchpoints

Growth. When a lead comes in from an event booth or a partner referral, the agent records the attribution and the conversion event in Amplitude so paid and organic channels are compared fairly.

### Keep the event taxonomy tidy

Analytics. Ask which event types exist, group them into taxonomy categories, rename a category that no longer fits, and remove an empty one, all without opening the taxonomy screen.

### Update an account's profile after a call

Customer success. When a customer upgrades or changes owner, the agent updates their user properties and the group properties for the account in Amplitude so segments and dashboards reflect the change the same day.

### Annotate a chart after an incident

Engineering. Once an outage is resolved, the agent adds a dated annotation to the affected Amplitude chart under an incidents category so nobody mistakes the dip for a product problem later.

## Frequently asked questions

### How do I connect Amplitude to Claude?

Connecting Amplitude to Claude takes two steps. First, connect Amplitude in Elaichi by pasting the API key from your Amplitude project settings, there is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the Elaichi endpoint, https://api.elaichi.ai/mcp. Claude will ask you to sign in to Elaichi, and from then on it can work with your Amplitude cohorts, annotations and releases.

### Does Amplitude work with ChatGPT and Cursor as well as Claude?

Yes. Once Amplitude is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi agent. You connect Amplitude once and every client picks it up, with the same permissions and the same audit log.

### What can an AI agent actually do with my Amplitude data?

With Amplitude connected, an agent can list your cohorts and open any one of them, create a new cohort from a description, add annotations to charts and organize them into categories, mark a release, check which exports exist, and tidy the event taxonomy. It can also record events, user properties, group properties and attribution in Amplitude when something happens outside the product, such as a signed contract or an event booth visit. Because Amplitude has a lot of possible actions, short concrete asks such as 'annotate the signup chart for today's release' work better than long paragraphs.

### Does connecting Amplitude give the AI access to every project?

No. The agent can only reach what the Amplitude API key used for the connection can reach, which in Amplitude means the project that key belongs to, and every request runs under the Elaichi identity of the person who asked. Elaichi can narrow that further, for example by hiding actions that change the taxonomy from a team that only reads cohorts, but it can never grant anything the Amplitude key itself does not allow.

### Can my team share one Amplitude connection?

Yes. One person connects Amplitude in Elaichi and shares the connection with a team, and nobody else on the team ever sees or handles the Amplitude API key. Each teammate still signs in to Elaichi as themselves, so the audit log shows exactly who created a cohort or added an annotation, even though the underlying Amplitude connection is shared.

### Can I stop an agent from deleting or changing things in Amplitude?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Amplitude cohorts and annotations while blocking the ability to create cohorts, edit categories or delete a taxonomy category. A blocked action is never shown to Claude, ChatGPT or Cursor at all, so no prompt, however it is worded, can reach it.

### What happens to an Amplitude connection when someone leaves?

When you offboard a person in Elaichi, their access to Amplitude through every AI client ends at once, and there is no API key on their laptop to chase. If they had shared an Amplitude connection with a team, that connection keeps working for everyone else. If you ever want to remove Amplitude entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 58 Amplitude tools

Every tool below is callable through https://api.elaichi.ai/mcp once Amplitude is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a Amplitude event** (Create). Upload one or more events to Amplitude via the HTTP V2 API. Returns: events_ingested, payload_size_bytes, server_upload_time. Required: events array where each event must include event_type and at least one of user_id or device_id. Request payload must be under 1 MB with fewer than 2000 events.
- **Create a Amplitude batch event** (Create). Upload a batch of events to Amplitude via the Batch Event Upload API. Accepts an array of event objects for ingestion. Required: events (array of event objects, each containing at minimum event_type and either user_id or device_id).
- **Create a Amplitude identify** (Create). Send user identity information to Amplitude's Identify API to set or update user properties. Submits identification data as a form-encoded POST request to Amplitude.
- **Create a Amplitude group identify** (Create). Set or update properties on a group in Amplitude via the Group Identify API. Required: `identification`, a JSON-encoded array of group identify objects each specifying the group type, group value, and properties to update.
- **Create a Amplitude attribution** (Create). Send an attribution event to Amplitude via the Attribution API. Submits attribution data as a form-encoded POST request to record user acquisition and attribution information.
- **List all Amplitude cohorts** (List). List all behavioral cohorts in Amplitude. Returns an array of cohort objects extracted from the cohorts field of the response.
- **Get single Amplitude cohort by ID** (Get). Get the status or result of an Amplitude behavioral cohort request by id. Requires id.
- **Create a Amplitude cohort** (Create). Upload and create a new behavioral cohort in Amplitude by submitting user identifiers as form data.
- **Get single Amplitude cohort file by ID** (Get). Get the exported file for a specific Amplitude behavioral cohort by id. Returns the cohort file data associated with the given cohort. Required: id.
- **List all Amplitude chart annotations** (List). List all chart annotations in Amplitude. Returns an array of annotation objects from the data field of the response.
- **Get single Amplitude chart annotation by ID** (Get). Get a single Amplitude chart annotation by id. Returns the annotation object from the data field of the response. Requires id.
- **Create a Amplitude chart annotation** (Create). Create a new chart annotation in Amplitude by submitting form-encoded data to the annotations endpoint.
- **List all Amplitude annotation categories** (List). List all annotation categories in Amplitude. Returns an array of annotation category objects from the data field.
- **Get single Amplitude annotation category by ID** (Get). Get a single Amplitude annotation category by id. Returns the annotation category object from the data field. Required: id.
- **Create a Amplitude annotation category** (Create). Create a new annotation category in Amplitude. Returns the created annotation category object.
- **Update a Amplitude annotation category by ID** (Update). Update an existing Amplitude annotation category by id. Returns the updated annotation category object. Required: id.
- **Create a Amplitude release** (Create). Create a new release annotation in Amplitude via the Releases API.
- **List all Amplitude exports** (List). Export raw Amplitude event data for a specified time range. Returns compressed event data files containing recorded events. Required: start, end (both in YYYYMMDDTHH format).
- **List all Amplitude taxonomy categories** (List). List all taxonomy categories in Amplitude. Returns an array of category objects.
- **Get single Amplitude taxonomy category by ID** (Get). Get a single Amplitude taxonomy category by id. Returns the matching category object.
- **Create a Amplitude taxonomy category** (Create). Create a new taxonomy category in Amplitude. Submits a form-encoded body to the Amplitude Taxonomy API.
- **Update a Amplitude taxonomy category by ID** (Update). Update an existing Amplitude taxonomy category by id. Submits a form-encoded body with the fields to update. Required: id.
- **Delete a Amplitude taxonomy category by ID** (Delete). Delete an Amplitude taxonomy category by id. Returns an empty response on success. Required: id.
- **List all Amplitude taxonomy event types** (List). List all taxonomy event types defined in Amplitude. Returns an array of event type objects including their names, categories, and descriptions.
- **Get single Amplitude taxonomy event type by ID** (Get). Get a single Amplitude taxonomy event type by id. Returns event type details including name, category, and description. Required: id.
- **Create a Amplitude taxonomy event type** (Create). Create a new taxonomy event type in Amplitude. Returns the created event type object. Required: event_type.
- **Update a Amplitude taxonomy event type by ID** (Update). Update an existing Amplitude taxonomy event type by id. Supports renaming the event type and updating its category or description. Required: id.
- **Delete a Amplitude taxonomy event type by ID** (Delete). Delete an Amplitude taxonomy event type by id. Returns an empty response on success. Required: id.
- **List all Amplitude taxonomy event properties** (List). List all taxonomy event properties in Amplitude. Returns an array of event property objects from the Amplitude Taxonomy API.
- **Create a Amplitude taxonomy event property** (Create). Create a new taxonomy event property in Amplitude via the Taxonomy API.
- **List all Amplitude taxonomy user properties** (List). List all taxonomy user properties defined in Amplitude. Returns an array of user property objects from the Amplitude Taxonomy API.
- **Get single Amplitude taxonomy user property by ID** (Get). Get a single Amplitude taxonomy user property by id. Returns the user property object from the Amplitude Taxonomy API. Required: id.
- **Create a Amplitude taxonomy user property** (Create). Create a new taxonomy user property in Amplitude. Submits a form-encoded request to the Amplitude Taxonomy API. Required: user_property.
- **Update a Amplitude taxonomy user property by ID** (Update). Update an existing Amplitude taxonomy user property by id. Submits a form-encoded request to the Amplitude Taxonomy API. Required: id.
- **Delete a Amplitude taxonomy user property by ID** (Delete). Delete an Amplitude taxonomy user property by id. Returns an empty response on success. Required: id.
- **List all Amplitude user privacy deletions** (List). List Amplitude user privacy deletion jobs within a date range. Returns deletion job objects including job status and associated user identifiers. Required: start_day and end_day.
- **Create a Amplitude user privacy deletion** (Create). Create a new Amplitude user privacy deletion job to remove user data. Returns the created deletion job including its job id and status. Required: at least one of amplitude_ids or user_ids, and requester.
- **Get single Amplitude user profile by ID** (Get). Get a user profile from Amplitude by looking up a user via their user identifier. Returns user properties and profile data associated with the matched user. Requires either user_id or amplitude_id.
- **Create a Amplitude user mapping** (Create). Create a user identity mapping in Amplitude, associating one user identity with another (for example, linking an anonymous user to a known identified user). Submits form-encoded data to the Amplitude usermap API.
- **List all Amplitude lookup tables** (List). List all Amplitude lookup tables for a given event type. Required: event_type.
- **Get single Amplitude lookup table by ID** (Get). Get a single Amplitude lookup table by id for a given event type. Required: event_type, id.
- **Create a Amplitude lookup table** (Create). Create a new Amplitude lookup table associated with a specific event type and property. Required: event_type, property_name.
- **Delete a Amplitude lookup table by ID** (Delete). Delete an Amplitude lookup table by id for a given event type. Returns an empty response on success. Required: event_type, id.
- **List all Amplitude dashboard events** (List). List events tracked in Amplitude via the Dashboard REST API. Returns event data from the `data` response field.
- **List all Amplitude experiments** (List). List all experiments in Amplitude Experiment. Returns a cursor-paginated collection of experiment objects including their ids, keys, and metadata.
- **Get single Amplitude experiment by ID** (Get). Get a single Amplitude experiment by id. Returns the full experiment object. Required: id.
- **Create a Amplitude experiment** (Create). Create a new experiment in Amplitude Experiment. Returns the created experiment object including its id and key.
- **Update a Amplitude experiment by ID** (Update). Update an existing Amplitude experiment by id using a partial PATCH. Returns the updated experiment object. Required: id.
- **Delete a Amplitude experiment by ID** (Delete). Delete an Amplitude experiment by id. Returns an empty response on success. Required: id.
- **List all Amplitude deployments** (List). List all deployments in Amplitude Experiment. Returns a paginated collection of deployment objects.
- **Get single Amplitude deployment by ID** (Get). Get a single Amplitude Experiment deployment by id. Returns the deployment object. Required: id.
- **Create a Amplitude deployment** (Create). Create a new deployment in Amplitude Experiment. Returns the created deployment object.
- **Delete a Amplitude deployment by ID** (Delete). Delete an Amplitude Experiment deployment by id. Returns an empty response on success. Required: id.
- **List all Amplitude flags** (List). List all feature flags in Amplitude Experiment. Returns a collection of flag objects.
- **Get single Amplitude flag by ID** (Get). Get a single Amplitude Experiment feature flag by id. Returns the full flag object. Required: id.
- **Create a Amplitude flag** (Create). Create a new feature flag in Amplitude Experiment. Returns the created flag object.
- **Update a Amplitude flag by ID** (Update). Update an existing Amplitude Experiment feature flag by id. Returns the updated flag object. Required: id.
- **Delete a Amplitude flag by ID** (Delete). Delete an Amplitude Experiment feature flag by id. Returns an empty response on success. Required: id.
