MCP tools
Automata exposes five tools for each connection kind. A token sees only tools matching both its connection kind and action scope.
WhatsApp tools
get-connection-status read
Reports whether the account is paired and whether live state is open.
list-chats read
Lists in-scope conversations by recent activity and returns the jid used by other tools. The response reports hasMore when another page exists.
read-messages read
Reads one in-scope chat newest first. Accepts 1–200 items per page with a default of 50, optional since and until, and returns hasMore, nextPage, covered, and totalMatching.
search-messages read
Finds messages containing every query word across allowed chats or one jid. Supports a date range and fromMe; returns up to 100 results with a default of 20.
send-text-message write
Sends plain text to an international-format number after chat scope and live recipient verification.
WhatsApp read and search omit reactions unless includeReactions: true; the response reports reactionsExcluded.
Telegram tools
get-telegram-status read
Reports linked and online state, the signed-in identity, and synchronization progress.
list-telegram-chats read
Lists in-scope private chats, groups, supergroups, and channels by recent activity. Returns the chatId used by other tools.
read-telegram-messages read
Reads one chat newest first with the WhatsApp-style paging envelope. An optional topicId selects a forum topic, and the response says when older history was never synced.
search-telegram-messages read
Finds every query word in message text and captions across allowed chats or one chatId.
send-telegram-message write
Sends plain text to an allowed chatId or username.
PostgreSQL tools
get-database-info read
Returns server version, database name, connecting role, and token table scope.
list-tables read
Lists tables in scope with schema and name filters. Accepts 1–500 entries per page and defaults to 100.
describe-table read
Returns columns, keys, constraints, indexes, and comments for one in-scope table.
run-query read
Runs one SELECT, WITH, VALUES, or TABLE statement in a read-only transaction. Results come in pages of maxRows rows (at most 1,000, default 200), walked with page. Cells are clipped at 2,000 characters unless fullValues is set. Timeout defaults to 10 seconds and is capped at 30.
run-statement write · destructive
Runs one INSERT, UPDATE, DELETE, or MERGE. A change over maxRows rolls back in full; the default is 100. A whole-table update or delete requires allowWholeTable: true. Timeout defaults to 15 seconds and is capped at 60.
Limits and scope behavior
| Boundary | Enforcement |
|---|---|
| Connection kind | Tools for other connector kinds are never registered |
| Action scope | Disabled tools cannot be called |
| Chat scope | Lists, reads, search, and sends operate only on allowed chats |
| Table scope | Catalog queries and query plans reject tables outside the allowlist |
| Query shape | One statement; read and write forms are separated |
| Write size | Oversized writes roll back as one transaction |
| Availability | Missing message databases disable dependent read tools with an explicit error |
Tool annotations help clients understand read-only and destructive behavior, but the server-side gates and upstream credentials are the controls that enforce it.