> ## Documentation Index
> Fetch the complete documentation index at: https://codebeans-cb-notifylyst.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# All 16 tools

> All sixteen tools — nine read tools, seven that change something.

When you create a token you choose which of these it may use: **Read only** (the nine read tools),
**Read and change** (all sixteen), or **Pick tools**. A token can never use a tool it wasn't given —
the app re-checks on every call. Every tool also needs a plan that includes **AI MCP Integration**,
checked on every call.

## Read tools

Safe to grant broadly. None of these change anything in your store or your app.

| Tool | What it does | Notes & limits |
| - | - | - |
| `get_shop_overview` | Store details and time zone, wallet balance, whether custom SMTP is on, current plan and status, days until the allowance resets, active channels, quotas and the restock rule. | Takes no input. The usual first call. |
| `get_analytics` | One of ten reports — see [Which analytics report do I want?](#which-analytics-report-do-i-want) | Date range (last 30 days by default), paging up to 100 rows a page, a channel filter (email, web push, SMS, WhatsApp or all), filter and search. The products report can be grouped by product or variant. Five reports can render as a widget. |
| `get_entity_details` | One product, variant or customer. | Product: analytics per variant. Variant: its sign-ups, up to 100. Customer: the customer report — and when you ask by email, each sign-up, form answers, unsubscribes and whether email is blocked. Optional date range. |
| `get_settings` | One section of your configuration: channels, reports, security, templates, SMTP, or activation requests. | Your SMTP password is never returned. |
| `shopify_product_lookup` | Live lookup against Shopify: finds variants by a search term and, if asked, reads inventory per location. | Reads Shopify directly, so figures are current. Up to 50 results (10 by default). |
| `get_usage_and_quota` | This period and when it resets; for each pool, the plan allowance granted, used and remaining and what you spent this cycle; your shared wallet (total, used, available, in USD); and any sends waiting for credit. | Pools are notification, SMS and WhatsApp. **Email and web push share the notification pool.** There is one shared wallet — no separate SMS or WhatsApp wallet. |
| `get_billing_overview` | Current plan (name, price, interval, trial), subscription status and next billing date, billing cycle, wallet, included and not-included features and allowances, and your AI connector allowance (included, requests a minute, maximum tokens). | Doesn't repeat usage numbers — that's `get_usage_and_quota`. |
| `get_billing_history` | Past cycles (granted, used, lapsed, plan before and after), individual ledger rows, and wallet top-ups. | Filter by cycle, date range, pool and row type. Paginated. |
| `compare_plans` | Your current plan, every plan with price, quotas and features, what your current plan is missing, and the cheapest plan that has it. | Ask about up to 40 features at once. The full feature matrix is opt-in — it's a large answer. Changing plan happens on the app's **Plans** page, with Shopify's approval; there's no fee to switch. |

## Tools that change something

Grant these deliberately. Each one works in two steps:

1. The first call **previews** the change and changes nothing. It returns a summary, any warnings,
   and a confirmation ticket — or a refusal with the reason.
2. The AI shows you the summary. Only after **you confirm in the chat** does it call again with the
   ticket and make the change.

The ticket lasts 5 minutes, works once, and is tied to the tool, your store and the exact
arguments. See [Error codes](https://codebeans-cb-notifylyst.mintlify.site/mcp/reference/errors.md#confirmation-statuses) for what each status
means.

| Tool | What it does | Notes & limits |
| - | - | - |
| `send_test_notification` | Sends a test notification for one variant to one recipient, by email, SMS or web push. | A **real send** that uses your allowance or wallet. Email goes only to your store's own addresses: staff accounts, report recipients and sign-up alert recipients. Phone numbers must be in international format. At most 20 tests an hour. Refused with no credit left, or for a variant from another store. WhatsApp alerts aren't being sent yet (the app shows **Coming soon**), so WhatsApp tests are refused. |
| `update_store_settings` | Changes one setting: a channel on or off (email, SMS, web push, WhatsApp), the summary, customer or immediate report switch, or the restock rule (`restock_threshold`, the delivery rule under Settings → Delivery rules). | One setting per call. Refused if it's already set that way, or when turning SMS or WhatsApp on before the channel is approved. The preview warns when you turn a channel off or a paid channel on. |
| `manage_subscriber` | Unsubscribes a customer, re-sends an alert, or cancels a pending alert. | Unsubscribe needs an email or phone number — a customer id alone is refused — and can't be undone from the connector. Re-send and cancel need the sign-up. Re-send works for email sign-ups only. Cancel is refused if the alert was already sent or cancelled. |
| `export_analytics_csv` | Builds the signups, products, notifications, customers or orders report as a CSV and returns a download link. | Up to 1,000 rows. The products report has no date range. Best converting and most wanted can't be exported here — download them from the app's **Analytics** page. **The link works for anyone who has it, for 24 hours** — treat it like the file. |
| `request_channel_activation` | Asks for SMS or WhatsApp to be activated. | A request, not an activation — the Notifylyst team reviews it. Refused if the channel is already approved or a request is pending. |
| `configure_report_settings` | Configures summary and customer reports: on or off, daily or weekly, who receives them (up to 50 emails), and the period they cover (all time, 7, 30 or 90 days, or a custom number of days). | Change one field or several — at least one. The preview shows each change from → to and warns about new recipients. |
| `configure_immediate_alerts` | Configures immediate alerts: on or off, the maximum per day, and who receives them (up to 50 emails). | Change one field or several — at least one. Same preview as above. |

> [!NOTE]
>
> **What no token can do:** change your plan or billing, top up the wallet, delete data, or edit
> templates.

## Which analytics report do I want?

`get_analytics` takes a report name. Ten choices, and the naming isn't always obvious:

| Report | Answers |
| - | - |
| `signups` | Who signed up, and for what. |
| `products` | The waiting list by product or variant. |
| `notifications` | What was sent, on which channel. |
| `customers` | Per-customer view. |
| `orders` | Orders that followed a restock alert. |
| `best_converting` | Which products actually convert after being notified. |
| `most_wanted` | Highest demand right now — the restock shortlist. |
| `recovery_overview` | The headline recovery numbers for a period. |
| `dashboard_summary` | The at-a-glance figures from the app's dashboard. |
| `recent_activity` | What has happened lately. |

You rarely need to name these yourself — asking the question in plain English is enough. The list
is here for when you want a specific report and don't want to negotiate.

## Next

[Saved prompts & widgets](https://codebeans-cb-notifylyst.mintlify.site/mcp/reference/prompts-and-widgets.md) — ready-made questions built on these tools.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.