For the complete documentation index, see llms.txt. This page is also available as Markdown.

MCP tools

What an AI assistant can do in your Amply account over MCP — connecting, the permissions you grant, and every tool.

Amply hosts an MCP server, so an AI assistant can work in your Amply account on your behalf: set an app up, author campaigns, check analytics, and manage price changes. This page lists what it can do. For why you would use it, see AI-assisted integration.

There is nothing to install — you point your assistant at Amply.

Connecting

1

Add the server

claude mcp add --transport http amply https://api.amply.tools/mcp

Any client that supports a remote MCP server over HTTP takes the same URL.

2

Authenticate

Run /mcp in Claude Code and choose to authenticate. A browser window opens and you sign in to Amply if you are not already signed in.

3

Approve what it may do

The consent screen lists everything your client asked for and names the host that will receive the access. Read the list, then allow or decline — it is one decision, not a permission-by-permission choice. The table below explains each line.

You never give the assistant your password. Your client holds a short-lived access token, and revoking the connection in Amply cuts that token off immediately. The one thing revoking does not undo is an SDK API key the assistant obtained while connected — a key is a credential in its own right and keeps working until you delete it.

You may see two notices, and both are expected. One says the result comes back on localhost, so only continue if you started the connection yourself. The other says your client registered itself with Amply rather than being pre-approved, so its name and logo are not verified — most MCP clients work this way.

The box just above the buttons always names the host that will receive the access. A client can copy a name and a logo but not that host, so it is the line worth reading.

What you approve

You can revoke the whole connection at any time in the Amply admin, under Profile settings → Connected apps.

Permission
What it allows

View projects and campaigns

Read-only access to your projects and the campaigns in them.

Create draft campaigns

Drafts only. This permission on its own can never launch a live campaign.

View analytics

Active users for your apps, impressions and resolutions for your campaigns.

Start and stop campaigns

Decides whether real users see a campaign.

View prices

Your product prices and any pending price changes.

Change draft prices

Create, change and delete draft price changes and your organization's custom price indexes. Drafts change nothing on their own — sending one to the stores needs the permission below.

Send price changes to the stores

Sends price changes to the App Store and Google Play, and cancels or retries ones already sent. Prices really change for customers, and this cannot be undone.

Register apps and read their API keys

Creates projects and applications and reads or creates their SDK API keys. Only an organization administrator can use the creating half. An API key keeps working after you disconnect the assistant — revoking the connection does not revoke a key, so remove a key you no longer want in the admin.

Setting an app up

These are what let an assistant integrate the SDK without you copying values out of the admin.

Tool
What it does

project_create

Create a project. Refused if your plan's limit on projects is reached.

applications_list

List the applications in a project, with their ids.

application_create

Register an application and get its appId and its first API key in one step. Takes the bundle id — which must match the app exactly — and the platform.

api_keys_list

Read an application's API keys, secrets included.

api_key_create

Create an additional key pair for an application. The existing keys keep working.

iOS and Android are two separate applications, each with its own key pair, even when they share a bundle id. An app that ships on both stores needs both registered, and the SDK initialised with the pair matching the platform it is running on.

Registering the same bundle id and platform twice is refused rather than duplicated, so an assistant re-running a set-up finds the existing application instead of creating a second one.

Projects and campaigns

Tool
What it does

projects_list

List the projects you have access to.

campaigns_list

List campaigns in a project. Takes the project, an optional name search, and a result limit.

campaign_get

Read one campaign in full — type, state, triggering, targeting and content.

campaign_create

Create a campaign. Always a draft, never live. Needs a project, a name, a type and a triggering rule; targeting and content are optional.

campaign_activate

Publish a draft so real users can receive it. Refused if your plan's limit on active campaigns is reached.

campaign_stop

Stop a live campaign. As in the admin, a stopped campaign does not go back to draft.

There is also amply_ping, a connection check that needs no permission at all.

Triggering and targeting have their own vocabulary — repeat modes, frequency limits, comparison operators. Your assistant can read it from Amply directly: the server publishes a campaign targeting reference with worked examples, so you do not have to describe the format to it.

Analytics

Tool
What it does

statistics_active_users

Daily or monthly active users for a project, over a date range.

campaign_statistics

Impressions and resolutions for one campaign, over a date range.

Date ranges are inclusive and may span at most a year.

Price management

These mirror the price management screens.

Price management has to be on your plan, and the price-index tools need it as a separate addition. Without it the tools still appear in your client's list and refuse when called — what your client can see is decided by the permissions you granted, not by your plan.

Tool
What it does

price_products_list

Products for an application.

price_product_prices

Current prices for one product.

price_calculate

Preview what a price change would produce, storing nothing.

price_change_save

Save a price change as a draft batch.

price_entry_update

Change or exclude one territory inside a draft batch.

price_batches_list, price_batch_get

Find and inspect price-change batches.

price_batch_delete

Delete a draft batch.

price_indexes_list, price_index_create, price_index_update, price_index_delete

Manage your custom price indexes.

price_territories_list

The territories available for an application.

price_batch_activate

Send a batch to the App Store and Google Play.

price_batch_cancel, price_batch_retry, price_batch_resume

Control a batch that has already been sent.

What you still do in the admin

Some things are not available over MCP yet. If an assistant tells you it cannot do one of these, it is right rather than broken.

  • Editing a campaign. There is no edit tool, so an assistant that gets a draft wrong creates another draft rather than correcting the first. Finish or fix a campaign in the admin.

  • Targeting beyond the basics. On create, an assistant can target by country, application, app version and OS version. Custom properties, install date and event-history conditions are authored in the admin — see targeting an audience.

  • Filtering a trigger on event properties. An assistant can trigger a campaign on an event by name, but not on a specific property of that event. A campaign that depends on such a filter — "when subscription_status changes to expired" rather than "whenever it changes" — has to be built in the admin, or it will fire more often than you meant.

Migrating from the old local server

Amply used to publish a local MCP server as an npm package, @amplytools/amply-mcp. It ran on your machine and signed in with your email and password.

If you still have it installed, remove it and connect to the hosted server with the command above. Then delete ~/.amply/credentials.json — it holds a live sign-in token for your Amply account.

Nothing else carries over. The tools were renamed, so a script or prompt that called the old ones by name has to be pointed at the tool list on this page instead — your assistant reads that list from the server itself, so in practice you just describe what you want and it finds the right call. The old package's repository is archived and no longer describes the hosted server.

Last updated