twist-mcp-server
0
The Twist MCP Server is designed to facilitate interaction with a Twist workspace through a range of tools that manage inbox and thread operations. It is built using the Twist REST API and is intended primarily for testing purposes.
Twist MCP Server (testing)
An MCP server for interacting with a Twist workspace. Written in Python using the Twist REST API. Currently for testing purposes only.
Installation
Prerequisites
- Python 3.10+
- UV package manager (installation guide)
- Twist API token
- Twist Workspace ID
Getting a Twist API Token
- Log in to your Twist account
- Visit the Twist App console
- Create a new application for personal use
- Copy the OAuth 2 test token; this token will give the MCP server full scope access to the currently logged in user.
Future versions will use proper OAuth authentication.
Configuration with Claude Desktop
Add the Twist MCP server to the set of MCP servers in your claude_desktop_config.json:
{
"mcpServers": {
"twist": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/twist-mcp-server",
"run",
"main.py"
],
"env": {
"TWIST_API_TOKEN": "your_twist_api_token",
"TWIST_WORKSPACE_ID": "your_twist_workspace_id"
}
}
}
}
Available Tools
As of now, the following tools are available:
- Inbox
twist_inbox_get
: Get the contents of the user's inboxtwist_inbox_archive_all
: Archives all threads in a workspace (or, all threads after a given timestamp)twist_inbox_archive
: Archives a specific thread by IDtwist_inbox_unarchive
: Unarchives a specific thread by IDtwist_inbox_mark_all_read
: Marks all inbox threads as readtwist_inbox_get_count
: Gets the count of inbox threads
- Threads
twist_threads_getone
: Get a thread by IDtwist_threads_get
: Get all threads in a channeltwist_threads_add
: Add a new thread to a channeltwist_threads_update
: Update an existing threadtwist_threads_remove
: Remove a threadtwist_threads_star
: Star a threadtwist_threads_unstar
: Unstar a threadtwist_threads_pin
: Pin a threadtwist_threads_unpin
: Unpin a threadtwist_threads_move_to_channel
: Move a thread to a different channeltwist_threads_get_unread
: Get unread threads in the workspacetwist_threads_mark_read
: Mark a thread as readtwist_threads_mark_unread
: Mark a thread as unreadtwist_threads_mark_unread_for_others
: Mark a thread as unread for otherstwist_threads_mark_all_read
: Mark all threads as read in a workspace or channeltwist_threads_clear_unread
: Clear unread threads in the workspacetwist_threads_mute
: Mute a thread for a number of minutestwist_threads_unmute
: Unmute a thread
License
This project is licensed under the MIT License. See the file for details.