A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
The tools required for a Twist MCP server
Library for connecting AI agents to Twist. Includes tools that can be integrated into LLMs, enabling them to access and interact with a Twist workspace on the user's behalf.
These tools can be used both through an MCP server, or imported directly in other projects to integrate them to your own AI conversational interfaces.
npm install @doist/twist-ai
Here's an example using Vercel's AI SDK.
import { fetchInbox, reply, markDone } from '@doist/twist-ai'
import { streamText } from 'ai'
const result = streamText({
model: yourModel,
system: 'You are a helpful Twist assistant',
tools: {
fetchInbox,
reply,
markDone,
},
})
You can run the MCP server directly with npx:
npx @doist/twist-ai
Add to your Claude Desktop configuration file (claude_desktop_config.json):
{
"mcpServers": {
"twist": {
"command": "npx",
"args": ["-y", "@doist/twist-ai"],
"env": {
"TWIST_API_KEY": "your-twist-api-key-here"
}
}
}
}
Create a configuration file:
~/.cursor/mcp.json.cursor/mcp.json{
"mcpServers": {
"twist": {
"command": "npx",
"args": ["-y", "@doist/twist-ai"],
"env": {
"TWIST_API_KEY": "your-twist-api-key-here"
}
}
}
}
Then enable the server in Cursor settings if prompted.
claude mcp add twist npx @doist/twist-ai
Then set your API key:
export TWIST_API_KEY=your-twist-api-key-here
{
"servers": {
"twist": {
"command": "npx",
"args": ["-y", "@doist/twist-ai"],
"env": {
"TWIST_API_KEY": "your-twist-api-key-here"
}
}
}
}
A key feature of this project is that tools can be reused, and are not written specifically for use in an MCP server. They can be hooked up as tools to other conversational AI interfaces (e.g. Vercel's AI SDK).
This project is in its early stages. Expect more and/or better tools soon.
Nevertheless, our goal is to provide a small set of tools that enable complete workflows, rather than just atomic actions, striking a balance between flexibility and efficiency for LLMs.
displayInInbox boolean (default false). When true, the thread is unarchived after creation so it appears in the author's Inbox. See also TWIST_CREATE_THREAD_DISPLAY_IN_INBOX.For more details on each tool, see the src/tools directory.
| Variable | Default | Description |
|---|---|---|
TWIST_API_KEY | (required) | Your Twist API key. |
TWIST_CREATE_THREAD_DISPLAY_IN_INBOX | false | Set 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. The remote/hosted MCP does not have this variable set and will use the per-call displayInInbox parameter only. |
git clone https://github.com/doist/twist-ai.git
cd twist-ai
npm install
.env file with your Twist API key:TWIST_API_KEY=your-twist-api-key-here
npm run build
npm start - Build and run the MCP inspector for testingnpm run dev - Development mode with auto-rebuild and restartnpm test - Run all testsnpm run type-check - Run TypeScript type checkingnpm run format:check - Run linting and formatting checksnpm run format:fix - Auto-fix linting and formatting issuesContributions are welcome! Please ensure:
npm test)npm run type-check)npm run format:check)Use Conventional Commits for commit messages:
feat: for new featuresfix: for bug fixesdocs: for documentation changestest: for test changeschore: for maintenance tasksMIT
MCP server integration for DaVinci Resolve Studio
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codeba