# AppFollow MCP connector

Connect AppFollow to Elaichi and Claude, ChatGPT, Cursor, or the Elaichi Agent can read app store reviews, reply to them, tag them, and track reply speed, all inside each person's own AppFollow access.

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

## Facts

| | |
| --- | --- |
| Application | AppFollow |
| Category | Product Development |
| AI tools | 43 |
| Authentication | Connects with an API key |
| Bring 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. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once AppFollow is connected

- Summarize this week's one-star reviews for our iOS app
- Draft replies to unanswered reviews mentioning login problems
- How fast did support reply to reviews last month?

## Connect AppFollow in Elaichi

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

1. Open Connections, choose Add connection, and pick AppFollow.
2. Optionally set Share with, then press Connect.
3. Paste an AppFollow API key. One person generates a token in AppFollow 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 AppFollow tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## AppFollow MCP connector for 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.

## AppFollow MCP connector for 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.

## AppFollow MCP connector for 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 AppFollow 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 AppFollow 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 AppFollow through Elaichi

### Reply to new one-star reviews

Support. Pull up the reviews that came in overnight, draft a reply in the right tone, and post it to AppFollow without leaving the conversation. Mark each review as handled once the reply goes out.

### Read the week's review themes

Product. Ask for the AI summary of reviews on a given app and see which complaints and requests are growing. Check the semantic tags to find out whether sign-in, crashes, or pricing is driving the noise.

### Link crash complaints to the bug tracker

Engineering. Find reviews that mention a crash or a broken screen, attach a bug tracker reference to each one in AppFollow, and add a note so the next person knows it is already being looked at.

### Pull featured reviews for a launch

Marketing. List the featured reviews for an app and collect the quotable ones for a store page, a release note, or a social post.

### Triage reviews after an update

Community. After a release, tag incoming reviews, set their status, and report the ones that break store rules so the backlog is clean before the weekly standup.

### Check reply speed across apps

Operations. Ask how many reviews got a reply last month and how long it took, per app, then set up new apps, collections, and user accounts in AppFollow as the team grows.

## Elaichi vs Zapier MCP vs Composio for AppFollow

All three can connect AppFollow to an AI assistant, and all three have admin controls. They differ in where access lives and how you pay.

| What to check | Elaichi | Zapier MCP | Composio |
| --- | --- | --- | --- |
| Where the AI connects | One address for the whole organization. Endpoint: https://api.elaichi.ai/mcp | A server per member, created at sign-in. | An MCP endpoint per team, or an SDK. |
| Control over AppFollow tools | Allow or restrict single AppFollow tools, per role or user. | App and action restrictions on the account. | Role permissions, down to the action. |
| Record of calls | One audit entry per AppFollow call. | A History tab of tool calls. | A log of every tool call. |
| Single sign-on | SAML or OIDC, plus SCIM, on Gold. | SAML on Enterprise. | SAML and OIDC on Enterprise. |
| Price | $15 per user per month. | 2 tasks per successful call. | Billed per tool call. |

Sources: Zapier MCP [docs](https://docs.zapier.com/mcp/get-started/quickstart), [security](https://docs.zapier.com/mcp/manage/security), [usage](https://docs.zapier.com/mcp/features/usage); Composio [docs](https://docs.composio.dev/docs/composio-connect), [gateway](https://composio.dev/mcp-gateway), [enterprise](https://composio.dev/enterprise), [pricing](https://composio.dev/pricing). Checked September 2026.

Longer take: [Zapier MCP alternative](/blog/zapier-mcp-alternative/) and [when you don't need an MCP gateway](/blog/when-you-dont-need-an-mcp-gateway/).

## Frequently asked questions

### How do I connect AppFollow to Claude?

Two steps. In Elaichi, open the AppFollow connector and paste your AppFollow API key, which you copy from your AppFollow account 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 https://api.elaichi.ai/mcp as the endpoint. Sign in with your Elaichi account and AppFollow is available in the chat.

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

Yes. Once AppFollow 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 AppFollow once and every client picks it up.

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

With AppFollow connected, an agent can list reviews for an app, read the AI summary and semantic tags for a period, draft and post replies, update tags, statuses, and notes, attach bug tracker references, and report reviews that break store rules. It can also tell you how many reviews got a reply and how quickly, and set up apps, collections, and users in AppFollow. Short, concrete asks such as "reply to the new two-star reviews on the Android app" work better than long instructions.

### Does connecting AppFollow give the AI access to every app and collection?

No. Every call to AppFollow runs under the person who signed in, so the agent sees only the apps, collections, and reviews that person can already see in AppFollow. Elaichi can narrow that further with restrictions, but it can never widen it beyond what the person's own AppFollow account allows.

### Can my team share one AppFollow connection?

Yes. One person connects AppFollow in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who replied to a review or changed a tag, not the person who set up the connection.

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

Yes. Restrictions in Elaichi apply per action, so you can allow reading AppFollow reviews and posting replies while blocking anything that deletes apps, collections, or users. A restricted action is never advertised to Claude, ChatGPT, or any other client, so no prompt can reach it.

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

Offboarding that person in Elaichi ends their access to AppFollow through every client at once. If they had shared an AppFollow connection with a team, it keeps working for everyone else. If you want AppFollow gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client.

### Does the AppFollow MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. AppFollow is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

### Is Elaichi an alternative to Zapier MCP for AppFollow?

Yes. Both let Claude, ChatGPT or Cursor use AppFollow. Zapier MCP fits a team that already automates in Zapier, since each person signs in and acts as themselves in that account. Elaichi fits when IT wants one address for the whole company, per-tool rules by role, and a record of every AppFollow call.

### How is Elaichi different from Composio for AppFollow?

Composio gives AI agents tools and sign-in handling across 1,000+ apps, for developers building agents or people using an assistant, billed per tool call. Elaichi gives a company's own people governed access to AppFollow: one address, restrictions per role or user, and $15 per user per month. Both have role permissions and a log of every call.

## All 43 AppFollow tools

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

- **List all AppFollow collections** (List). List all workspaces (collections) in your AppFollow account. Returns: apps_id, title, countries, default_country. The collection id (apps_id) is required by other AppFollow endpoints.
- **Create a AppFollow collection** (Create). Create a new workspace (collection) in your AppFollow account. Returns the created collection with apps_id, title, countries, and default_country. Required: title, countries.
- **AppFollow collections bulk delete** (Delete). Delete a workspace (collection) from your AppFollow account by its collection id. Returns: apps_id, title, countries, default_country. Required: apps_id (get it from the list endpoint).
- **List all AppFollow apps** (List). List the apps in an AppFollow app collection (workspace). Returns app records with id and upstream-defined attributes; the upstream docs do not enumerate the record fields. Required: apps_id (Collection ID, available from the App Collections List endpoint).
- **Create a AppFollow app** (Create). Add an app to an AppFollow collection. Returns the added app record with id and upstream-defined attributes; the upstream docs do not enumerate the record fields. Requires store (store code), ext_id (app external ID), apps_id (Collection ID), and locale (country code).
- **AppFollow apps bulk delete** (Delete). Remove an app from an AppFollow collection. Returns a success response including id and upstream-defined attributes for the removed app; the upstream docs do not enumerate the record fields. Requires store (store code), ext_id (app external ID), and apps_id (Collection ID).
- **List all AppFollow users** (List). List API users of your Appfollow account. Returns each user's id, name, email, role, and collections.
- **Create a AppFollow user** (Create). Add a user to your Appfollow account. Returns the created user including id, name, email, role, and collections. Requires name, role, and email; get Collection IDs from the App Collections List endpoint.
- **AppFollow users bulk update** (Update). Update a user's permissions and details in AppFollow. Returns the updated user record including id, name, role, email, and collections. Required: id, name, role, email. Collection IDs come from the App Collections List endpoint.
- **AppFollow users bulk delete** (Delete). Remove a user from your AppFollow account. Returns an empty 204 response on success. Required: id (user ID).
- **List all AppFollow reviews** (List). List AppFollow reviews for an app or collection within a date range. Returns review records with id, review_id, store, title, content, author, rating, created, and updated. Required: from, to. One of ext_id or collection_name must also be provided.
- **AppFollow reviews list featured** (List). List AppFollow featured reviews for an app. Returns review records with id, review_id, title, content, author, and rating. Required: ext_id.
- **AppFollow reviews list semantic tags** (List). List AppFollow reviews matched by semantic tags, sentiment, or rating for an app. Returns review records with id, review_id, title, content, author, and rating. Required: ext_id.
- **AppFollow reviews create reply** (Create). Reply to a review on behalf of an AppFollow-connected app. Returns the updated review record including id, review_id, author, rating, content, and is_answer. Required: ext_id, review_id, answer_text.
- **AppFollow reviews update tags** (Update). Update tags on an AppFollow review. Returns the updated review record including id, review_id, author, rating, and content. Required: ext_id, review_id, tags.
- **AppFollow reviews update bug trackers** (Update). Set bugtracker tags on a review in AppFollow, using a bugtracker-specific prefix such as OTRS. Returns an opaque 200 confirmation; the upstream docs do not define response body fields. Requires ext_id, review_id, and tags.
- **AppFollow reviews update notes** (Update). Add or update a note on a review in AppFollow. Returns an opaque 200 confirmation; the upstream docs do not define response body fields. Requires ext_id, review_id, and content (the note message).
- **AppFollow reviews update status** (Update). Set a custom status on a review in AppFollow (private beta). Returns an opaque 200 confirmation; the upstream docs do not define response body fields. Requires ext_id, review_id, and custom_status (reopened or closed).
- **AppFollow reviews report concern** (Action). Report a concern on a review in AppFollow. Returns an opaque 200 confirmation; the upstream docs do not define response body fields. Requires store, ext_id, review_id, concern_type, and concern_explanation.
- **AppFollow reviews upload bulk** (Upload). Upload a batch of custom-source reviews to AppFollow. Returns per-review results (reviews), each with id, ext_review_id, and upload_status. Requires reviews and ext_id; on_conflict sets duplicate handling (defaults to error).
- **AppFollow review summaries list summary** (List). Get the AppFollow reviews summary for an app, optionally filtered by country, language, app version, and date range. Returns: status, summary. Required: ext_id. Each request costs 10 credits, plus 10 per 30-day window.
- **AppFollow review summaries get AI** (Get). Get an AI-generated summary of AppFollow reviews for an app over a date range. Returns: status, summary. Required: from, to, ext_id, collection_name, and store. Each request costs 10 credits.
- **AppFollow review stats get replies** (Get). Get AppFollow review-reply statistics for an app, showing the number of replies grouped by user with daily totals. Returns a report object (attributes) whose fields are report-specific. Required: ext_id.
- **AppFollow review stats get replies speed** (Get). Get AppFollow reply-speed statistics showing reply time by user by day; defaults to yesterday when no date is supplied. Returns a report object (attributes) whose fields are report-specific. Required: ext_id.
- **AppFollow review stats get replies count** (Get). Get AppFollow reply statistics split by whether ratings became worse or better, defaulting to the last 30 days. Returns a report object (attributes) whose fields are report-specific. Required: ext_id.
- **AppFollow review stats get ratings** (Get). Get AppFollow rating statistics for an app for a single reviews date. Returns the rating stat record including date, stars (total ratings), stars1 through stars5 per-star counts, and avg_rating. Required: ext_id. Costs 10 credits per request.
- **AppFollow review stats get by version** (Get). Get AppFollow rating statistics for a specific app version. Returns the stat record including date, version, country, stars, stars1 through stars5 per-star counts, and avg_rating. Required: ext_id. Costs 10 credits per request.
- **List all AppFollow review stats** (List). Get review statistics for an AppFollow app — the number of reviews and replies over the requested date range. Returns an aggregated stats payload whose field-level shape AppFollow does not document. Required: ext_id. Each additional 30-day period requested costs extra API credits.
- **AppFollow ratings list history** (List). List AppFollow ratings history data points for an app, returning per-date ratings totals or diffs depending on the requested calculation type. Returns records with date, stars, avg_rating, and stars1–stars5 counts. Required: store, collection_name, ext_id. Max 100 per page.
- **AppFollow ratings list console gp** (List). List Google Play Console ratings and user counts in AppFollow for the requested period. Returns: fields. Required: ext_id, collection_name, fields. Request either ratings or users via fields — not both at the same time.
- **List all AppFollow rankings** (List). List AppFollow app category rankings for an app. Returns rank records with their id and store-specific rank attributes for the requested date, country, device, and store genre. Required: ext_id.
- **List all AppFollow versions** (List). List app versions with their changes and meta data for an app in AppFollow. Returns paginated version records (field names not documented by AppFollow). Required: ext_id, country.
- **AppFollow versions list whatsnew** (List). List an app's What's New release notes (new versions) in AppFollow. Returns paginated release-note records (field names not documented by AppFollow). Required: ext_id.
- **AppFollow charts list top** (List). Get AppFollow's public store Top Charts for a given country, device, genre, and date. Required: country, device, genre, date. Costs 10 API credits per request.
- **List all AppFollow aso featured** (List). List App Store featured apps placements for an app in AppFollow ASO. Returns the featured placement data for the requested app and date range. Required: ext_id. Costs 10 credits per request, plus 10 additional credits per 30 days tracked.
- **List all AppFollow keyword suggestions** (List). List AppFollow ASO keyword suggestions (store suggestions) for a search term. Returns the store-generated suggestions payload with store-defined fields. Required: term. Costs 5 credits per request.
- **List all AppFollow aso search** (List). Search AppFollow's app store index for apps matching a keyword. Returns the keyword search results for the requested term. Required: term. Optional: country, device.
- **List all AppFollow aso reports** (List). List Appfollow ASO report data for an app, with download numbers by source channel or as total time-series values. Returns report data whose field names are not enumerated in the API reference and vary by the requested channel, country, date range, and period. Required: ext_id. period accepts daily, weekly, or monthly — send only one value for the chosen date range.
- **AppFollow aso reports list gdc** (List). List Appfollow GDC ASO report data for an app. Returns report data whose field names are not enumerated in the API reference and vary by the requested channel, country, and date range. Required: ext_id, channel, from, to. channel accepts all, search, explore, or 3rdparty.
- **AppFollow aso reports list search ads** (Search). List App Store Search Ads report data for an app in Appfollow. Returns report data whose field names are not enumerated in the API reference and vary by the requested country, date range, and report_type. Required: ext_id, from, to. Set country=all and pass report_type to get the country breakdown.
- **List all AppFollow keywords** (List). List keyword rankings for an app from the AppFollow workspace. Returns the tracked keyword data including date, store, device, country, total, pos, popularity, and no_pos. Required: ext_id. Costs 10 API credits per request.
- **Update a AppFollow keyword by ID** (Update). Edit the keywords tracked for an app in the AppFollow workspace. Returns the updated keyword data including date, store, device, country, total, pos, and popularity. Required: country, device, keywords. Costs 5 API credits per request.
- **AppFollow aso search ads keywords list recommendations** (Search). List AppFollow ASO Search Ads keyword recommendations for an app. Returns recommendation records with an id and app-specific keyword attributes. Requires app. Consumes 10 API credits per request.
