Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TWIST_API_KEYYesYour Twist API key.
TWIST_CREATE_THREAD_DISPLAY_IN_INBOXNoSet to true to unarchive every newly-created thread so it appears in the author's Inbox, without needing to pass displayInInbox: true on each call. Only takes effect when running the MCP locally.false

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

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
user-infoA

Get comprehensive user information including user ID, name, email, timezone, bot status, default workspace, and away mode status.

awayA

Manage the current user's away status. Supports getting, setting, and clearing away mode with types: parental, vacation, sickleave, other.

get-workspacesA

Get all workspaces that the user belongs to. Returns a list of workspaces with their IDs, names, creators, creation dates, and optional default channels, conversations, and plan information.

get-usersA

Get users from a workspace. Retrieves all workspace users by default, or specific users if userIds array is provided. Supports optional case-insensitive search filtering by name or email.

get-groupsA

Get groups from a workspace. Retrieves all workspace groups by default, or specific groups if groupIds array is provided. Supports optional case-insensitive search filtering by group name. Use this before passing group IDs to tools that support group notifications.

fetch-inboxA

Fetch inbox view with threads, conversations, unread counts, and unread IDs. Provides a complete picture of the inbox state. Use archiveFilter "all" to include threads marked as done alongside active threads.

load-threadB

Load a thread with its metadata and comments. Supports filtering by timestamp and pagination.

load-conversationA

Load a conversation (direct message) with its metadata and messages. Supports filtering by timestamp and pagination.

search-contentA

Search across a workspace for threads, comments, and messages. Supports filtering by channels, authors, dates, and mentions.

get-mentionsA

Fetch threads, comments, and messages that mention the current user. Supports filtering by channel, author, and date range. Use this instead of search-content when no keyword query is needed.

build-linkA

Build valid Twist URLs for threads, comments, conversations, or messages. Provide workspace_id and either (conversation_id + optional message_id) OR (thread_id + optional channel_id + optional comment_id).

create-threadB

Create a new thread in a workspace channel. Requires a channel ID, title, and content. Optionally notify specific users or groups.

create-conversationA

Start a direct or group conversation with one or more users and post an initial message. Reuses the existing conversation if one already exists for the same set of users.

update-objectA

Update an existing Twist object. targetType: "thread" updates a thread's title and/or body; "comment" updates a thread comment's body; "message" updates a direct/group conversation message's body. Always pass targetId. content is required for "comment" and "message"; for "thread" it is optional as long as title is provided (i.e. a thread can be renamed without re-sending the body). title is only valid when targetType is "thread".

delete-objectA

Permanently delete a Twist object. targetType: "thread" deletes a thread (and all of its comments); "comment" deletes a single thread comment; "message" deletes a direct/group conversation message. Always pass targetId. Deletion is irreversible — confirm with the user before invoking. Note: the Twist API only allows deletion by the object's creator or a workspace admin; the call will be rejected otherwise.

replyA

Post a reply to a thread (as a comment) or conversation (as a message). Thread replies notify everyone who has interacted with the thread by default unless specific user recipients, groups, or a notifyAudience are provided.

reactA

Add or remove an emoji reaction on a thread, comment, or conversation message. Use targetType to specify the type of object (thread, comment, or message) and targetId for the ID.

mark-doneA

Mark threads or conversations as read/unread and archived/unarchived. Individual IDs take priority over bulk selectors whenever both are provided. For threads: markRead=false marks unread, archive=false unarchives; bulk operations (workspaceId/channelId, only used when no ids are given) can also clear all unread. For conversations: can mark as read and archive.

list-channelsA

List channels in a workspace. By default returns only active channels; set includeArchived to true to also include archived channels. Returns channel IDs, names, descriptions, visibility (public/private), archive status, creators, creation dates, URLs, and colors.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 19 tools

Disambiguation4/5

Tools are mostly distinct with clear scopes: load-thread vs load-conversation vs fetch-inbox vs search-content vs get-mentions all retrieve content but with specific purposes. The generic update-object and delete-object use targetType to differentiate, reducing ambiguity. Only slight overlap between get-users and user-info, but their purposes are different enough.

Naming Consistency4/5

Naming follows a consistent kebab-case, verb-first pattern (e.g., get-users, load-thread, create-thread, mark-done). A few single-word verbs like reply, react, and away deviate from the compound style but still follow a verb-based convention. Overall, naming is predictable and consistent.

Tool Count4/5

With 19 tools, the set is substantial but appropriate for a full-featured messaging platform API. Each tool addresses a distinct aspect (workspaces, channels, threads, conversations, reactions, search, etc.), and while a few are auxiliary (build-link), the count feels well-scoped for the domain.

Completeness3/5

The tool set covers core operations for threads, conversations, messages, reactions, user management, and search. However, there is no direct tool for creating or deleting channels, and no way to list threads in a channel without using search or inbox. Updating a conversation is also unsupported (update-object only handles threads, comments, and messages). These are notable gaps for complete lifecycle management.

Maintenance

ActivityActive
ResponsivenessNo issues