# AimTell — how to use (mcp.ai)

Connect your AimTell account and use 15 tools for notifications straight from your AI agent. Connect with your own API key. AimTell is a web push notification platform for managing websites, subscribers, campaigns, segments, and delivery analytics.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_aimtell?ms=1787291280000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `aimtell_create_manual_campaign`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/aimtell`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/aimtell/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/aimtell/create/manual/campaign` — Create a manual push campaign as a draft only; this tool never schedules or sends it.
  - body: { body?: string, link?: string, name: string, title?: string, site_id: integer, icon_url?: string, push_ttl?: integer, image_url?: string, segment_ids?: integer[] }
- `POST https://api.mcp.ai/api/aimtell/create/segment` — Create a named audience segment for a website from an AimTell segment definition.
  - body: { name: string, site_id: integer, definition: string }
- `POST https://api.mcp.ai/api/aimtell/delete/manual/campaign` — Permanently delete one manual campaign by ID. This destructive action cannot be undone and permanently removes the campaign.
  - body: { campaign_id: integer }
- `POST https://api.mcp.ai/api/aimtell/delete/segment` — Permanently delete one audience segment by ID. This destructive action cannot be undone; it removes the segment but does not delete its subscribers.
  - body: { segment_id: integer }
- `POST https://api.mcp.ai/api/aimtell/get/analytics/over/time` — Return a daily AimTell metric over a date range for all websites or one website.
  - body: { metric: string, site_id?: integer, end_date: string, start_date: string, breakdown_by_site?: boolean }
- `POST https://api.mcp.ai/api/aimtell/get/campaign/results` — Return daily send, delivery, bounce, click, conversion, and available revenue results for a manual, event-triggered, RSS, or welcome campaign.
  - body: { end_date: string, start_date: string, campaign_id: integer, campaign_type: string }
- `POST https://api.mcp.ai/api/aimtell/list/campaigns` — Return one page of manual, event-triggered, RSS, or API push campaigns for an AimTell website.
  - body: { limit?: integer, site_id: integer, next_cursor?: string, campaign_type: string }
- `POST https://api.mcp.ai/api/aimtell/list/notification/logs` — Return one page from AimTell's sampled notification log for the last seven days, optionally filtered to one subscriber. This is not a complete delivery ledger and does not include every notification s
  - body: { limit?: integer, site_id: integer, next_cursor?: string, subscriber_id?: string }
- `POST https://api.mcp.ai/api/aimtell/list/segments` — Return all audience segments for an AimTell website, including the IDs and definitions used for subscriber filtering and campaign targeting.
  - body: { site_id: integer }
- `POST https://api.mcp.ai/api/aimtell/list/subscribers` — Return one page of subscribers for an AimTell website, optionally filtered by segment or subscriber ID and optionally including attributes or notification history. AimTell may return processing=true w
  - body: { limit?: integer, include?: string[], site_id: integer, segment_id?: integer, next_cursor?: string, subscriber_id?: string }
- `POST https://api.mcp.ai/api/aimtell/list/websites` — Return one page of websites available to the connected AimTell account, including site IDs needed by other tools. Use next_cursor to retrieve later pages.
  - body: { limit?: integer, next_cursor?: string, include_subscriber_count?: boolean }
- `POST https://api.mcp.ai/api/aimtell/send/push/notification` — Immediately send a one-off push notification to exactly one explicitly selected audience: subscriber IDs, one segment, one alias, or the website's full reachable audience. Delivery begins immediately,
  - body: { body: string, link: string, title: string, site_id: integer, icon_url?: string, push_ttl?: integer, image_url?: string, segment_id?: integer, send_to_all?: boolean, collapse_key?: string, action_buttons?: object[], subscriber_ids?: string[], subscriber_alias?: string, auto_hide_seconds?: integer }
- `POST https://api.mcp.ai/api/aimtell/set/subscriber/attributes` — Set custom attributes on one subscriber identified by subscriber UID, user alias, or email alias; supplied aliases may also be associated with the subscriber.
  - body: { site_id: integer, attributes: object, user_alias?: string, email_alias?: string, subscriber_id?: string }
- `POST https://api.mcp.ai/api/aimtell/update/manual/campaign` — Update the content or targeting of an unscheduled, unsent, non-A/B manual campaign draft without scheduling or sending it.
  - body: { body?: string, link?: string, name?: string, title?: string, icon_url?: string, push_ttl?: integer, image_url?: string, campaign_id: integer, segment_ids?: integer[] }
- `POST https://api.mcp.ai/api/aimtell/update/segment` — Change the name or audience definition of an existing AimTell segment.
  - body: { name?: string, definition?: string, segment_id: integer }

## Example prompts
- "What can I do in AimTell?"
- "Show me a summary of my AimTell account"

## More
- Page: https://mcp.ai/aimtell
- Agent spec (llms.txt): https://mcp.ai/aimtell/llms.txt
- Postman collection: https://mcp.ai/aimtell/postman.json
