list_contacts
List and search contacts in the application, paginated, newest first. Read-only. Filters combine as AND; search matches name, username, email, phone, and platformId; tags / tagIds keep only contacts carrying at least one of those tags (UTM attribution tags are named "utm: " — discover them with list_contact_tags). total is the full match count, so limit: 1 counts an audience cheaply. Returns compact contact summaries without variable values — use get_contact for one contact's variables. Remember platformId is unique only per bot, so the same person talking to two bots appears as two contacts.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "list_contacts"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number. Defaults to 1. | |
| tags | No | Only contacts carrying at least one of these tags, by exact tag name (case-insensitive), e.g. ["utm: tgads_official_0905"]. A name no contact in scope carries is an error listing what is missing. Combine with tagIds (union). | |
| botId | No | Only contacts belonging to this bot (must be one of the application's bots). Omit for all bots in the application. | |
| kinds | No | Only rows of these kinds: "user" (wrote to the bot privately), "member" (seen in a group), "group" and "channel" (chats the bot was added to; platformId is the chat ID), "web_chat". Contacts recorded before kinds existed have none and match no kind. Omit for all. | |
| limit | No | Contacts per page, between 1 and 100. Defaults to 20. | |
| search | No | Case-insensitive substring matched against first/last name, username, email, phone, and platformId. Omit to list without searching. | |
| status | No | Only contacts with this subscription status ("subscribed" or "unsubscribed"). Omit for both. | |
| tagIds | No | Same as `tags`, by tag id (from list_contact_tags). | |
| isActive | No | True for active contacts only, false for deactivated only. Omit for both. | |
| applicationId | No | Application (workspace) id. Optional: an application-scoped key (app_...) defaults to its own application, but a personal key (usr_...) has no default and omitting it fails with MCP_APPLICATION_REQUIRED. Call list_applications to get the id. |