Twist MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TWIST_API_TOKEN | Yes | Your OAuth 2 test token from the Twist App console | |
| TWIST_WORKSPACE_ID | Yes | Your Twist Workspace ID |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| twist_inbox_archiveB | Archives a thread. Args: id: The ID of the thread to archive |
| twist_inbox_archive_allC | Archives all threads in a workspace. Args: older_than_ts: Only archives threads that are the same or older than this timestamp |
| twist_inbox_getA | Get the authenticated user's inbox. Args: limit: Limits the number of threads returned (default is 30, maximum is 500) newer_than_ts: Limits threads to those newer when the specified Unix time older_than_ts: Limits threads to those older when the specified Unix time archive_filter: Filter threads based on their is_archived flag: 'all', 'archived', or 'active' (default) order_by: Order of threads: 'desc' (default) or 'asc', based on last_updated attribute exclude_thread_ids: Thread IDs to exclude from results |
| twist_inbox_get_countB | Gets inbox count in a workspace for the authenticated user. |
| twist_inbox_mark_all_readB | Marks all inbox threads in the workspace as read. |
| twist_inbox_unarchiveC | Unarchives a thread. Args: id: The ID of the thread to unarchive |
| twist_threads_addC | Adds a new thread to a channel. Args: channel_id: The id of the channel title: The title of the new thread content: The content of the new thread actions: List of action buttons to the new thread attachments: List of attachments to the new thread direct_group_mentions: The groups that are directly mentioned direct_mentions: The users that are directly mentioned groups: The groups that will be notified recipients: An array of users that will be attached to the thread or "EVERYONE" send_as_integration: Displays the integration as the thread creator temp_id: The temporary id of the thread |
| twist_threads_clear_unreadB | Clears unread threads in workspace. |
| twist_threads_getB | Gets all threads in a channel. Args: channel_id: The id of the channel as_ids: If enabled, only the ids of the threads are returned filter_by: A filter can be one of "attached_to_me" or "everyone". Default is "everyone" limit: Limits the number of threads returned (default is 20, maximum is 500) newer_than_ts: Limits threads to those newer when the specified Unix time older_than_ts: Limits threads to those older when the specified Unix time before_id: Limits threads to those with a lower than the specified id after_id: Limits threads to those with a higher than the specified id workspace_id: The id of the workspace is_pinned: If enabled, only pinned threads are returned is_starred: If enabled, only starred threads are returned order_by: The order of the threads returned. Either "desc" (default) or "asc" exclude_thread_ids: The thread ids that should be excluded from the results |
| twist_threads_get_unreadB | Gets unread threads in a workspace for the authenticated user. |
| twist_threads_getoneB | Gets a thread object by id. Args: id: The id of the thread |
| twist_threads_mark_all_readC | Marks all threads in the workspace or channel as read. Args: workspace_id: The id of the workspace channel_id: The id of the channel |
| twist_threads_mark_readB | Marks the thread as being read. Args: id: The id of the thread obj_index: The index of the last known read message |
| twist_threads_mark_unreadC | Marks the thread as being unread. Args: id: The id of the thread obj_index: The index of the last unread message. A value of -1 marks the whole thread as unread |
| twist_threads_mark_unread_for_othersB | Marks the thread as being unread for others. Args: id: The id of the thread obj_index: The index of the last unread message. A value of -1 marks the whole thread as unread |
| twist_threads_move_to_channelC | Moves the thread to a different channel. Args: id: The id of the thread to_channel: The target channel's id |
| twist_threads_muteC | Mutes a thread for a number of minutes. Args: id: The id of the thread minutes: The number of minutes to mute the thread |
| twist_threads_pinC | Pins a thread. Args: id: The id of the thread |
| twist_threads_removeC | Removes a thread. Args: id: The id of the thread |
| twist_threads_starC | Stars a thread. Args: id: The id of the thread |
| twist_threads_unmuteC | Unmutes a thread. Args: id: The id of the thread |
| twist_threads_unpinC | Unpins a thread. Args: id: The id of the thread |
| twist_threads_unstarB | Unstars a thread. Args: id: The id of the thread |
| twist_threads_updateC | Updates an existing thread. Args: id: The id of the thread actions: List of action buttons to the thread attachments: List of attachments to the thread content: The content of the thread direct_group_mentions: The groups that are directly mentioned direct_mentions: The users that are directly mentioned title: The title of the thread |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Every tool has a clearly distinct purpose with no ambiguity. Tools are organized into inbox and threads categories, each targeting specific actions like archive, get, mark read/unread, pin, star, etc., with no overlap in functionality.
All tool names follow a consistent snake_case pattern with a clear prefix (twist_inbox_ or twist_threads_) followed by a verb_noun structure. This makes the tool set highly predictable and easy to navigate.
With 24 tools, the count feels heavy for a messaging/thread management server. While the tools cover many operations, it borders on being excessive, potentially overwhelming for agents to manage efficiently.
The tool set provides comprehensive coverage for inbox and thread management, including CRUD operations (add, get, update, remove), lifecycle actions (archive, pin, star, mute), and state management (read/unread marks). No obvious gaps exist for the domain.