MCP Server

The DragApp MCP server exposes 43 tools across 11 categories, giving any MCP-compatible AI client full access to your boards, emails, cards, contacts, knowledge base, analytics, and automations.

Built on the Model Context Protocol standard. Open source, MIT licensed.


Installation

Run directly with npx (recommended). No install needed:

Terminal
npx -y @dragapp/mcp-server

Or install globally:

Terminal
npm install -g @dragapp/mcp-server

Authentication

The MCP server authenticates using your DragApp API key, passed as the DRAG_API_KEY environment variable.

Get your API key from DragApp settings.

Your API key grants full access to your DragApp workspace. Keep it secret and never commit it to version control.


Client setup

Add the following JSON to your AI client's MCP configuration file:

MCP config
{
  "mcpServers": {
    "dragapp": {
      "command": "npx",
      "args": ["-y", "@dragapp/mcp-server"],
      "env": {
        "DRAG_API_KEY": "your-api-key"
      }
    }
  }
}

Config file locations

ClientConfig path
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
ChatGPTChatGPT Desktop app settings
GeminiGemini Desktop app settings
CopilotCopilot Desktop app settings
Cursor.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
Claude Code~/.claude.json or .mcp.json

Tool reference

43 tools across 11 categories. Each tool is automatically available to any connected MCP client.

Email

8
ToolDescription
list_threadsList email threads in a specific column of a board
get_threadGet a single email message with full HTML body
reply_to_threadReply to an existing email thread
send_new_emailSend a new email from a board
search_threadsSearch for threads across all boards
filter_threadsFilter threads by label, assignee, or status
move_threadMove a thread to a different column
move_threads_bulkMove multiple threads at once

Boards

5
ToolDescription
list_boardsList all boards the authenticated user has access to
get_boardGet details of a specific board
list_columnsList all columns in a board
list_board_membersList all members of a board
list_teamsList all teams in the workspace

Cards

6
ToolDescription
list_cards_in_columnList all cards in a specific column
get_cardGet details of a specific card
create_cardCreate a new card in a column
update_cardUpdate card properties (title, description, assignee, due date)
move_cardMove a card to a different column or position
archive_cardArchive a card

Labels

4
ToolDescription
list_labelsList all labels available on a board
add_label_to_threadAdd a label to an email thread
remove_label_from_threadRemove a label from an email thread
toggle_labelsToggle label visibility on a board

Comments

2
ToolDescription
add_commentAdd an internal comment to a card or thread
get_commentGet details of a specific comment

Tags

2
ToolDescription
list_tagsList all tags in the workspace
add_tag_to_cardAdd a tag to a card

Tasks

1
ToolDescription
create_taskCreate a task (checklist item) on a card

Contacts

3
ToolDescription
search_contactsSearch contacts by name or email address
get_contact_conversationsGet all conversations with a specific contact
create_contactCreate a new contact in the workspace

Knowledge Base

5
ToolDescription
list_articlesList all articles in the knowledge base
get_articleGet the full content of a knowledge base article
create_articleCreate a new knowledge base article
update_articleUpdate an existing knowledge base article
search_knowledgeSearch the knowledge base by query

Analytics

4
ToolDescription
get_response_timesGet response time metrics for a board
get_avg_response_timeGet the average response time across boards
get_daily_activityGet daily activity metrics (threads created, replied, resolved)
get_closed_activityGet metrics on closed/resolved threads

Automations

3
ToolDescription
list_automationsList all automations configured on a board
toggle_automationEnable or disable a specific automation
toggle_ai_draftsEnable or disable AI draft generation on a board

Examples

Natural language prompts and the tools the AI client will call behind the scenes.

Show me unread emails on the Support board

list_boards → list_columns → list_threads

The AI client finds the Support board, identifies the correct column, and lists threads with their subjects, senders, and timestamps.

Reply to the latest email from Sarah

search_threads → get_thread → reply_to_thread

Searches across boards for threads from Sarah, retrieves the full message, then composes and sends a reply.

What's our average response time this week?

get_avg_response_time

Calls the analytics tool directly to return the average response time with period comparisons.

Create a card on the Sprint board with this bug report

list_boards → list_columns → create_card

Finds the Sprint board, identifies the right column (e.g. Backlog), and creates a card with the bug details.

Assign all billing-related threads to Sarah

filter_threads → move_threads_bulk

Filters threads by the BILLING label, then moves them to Sarah's assigned column in bulk.

Search our knowledge base for the refund policy

search_knowledge

Searches the knowledge base and returns matching articles with excerpts.


Development

Clone the repository and run locally:

Terminal
git clone https://github.com/nick-timms/drag-mcp-server.git
cd drag-mcp-server
npm install
npm run build
DRAG_API_KEY=your-key node dist/index.js

For development with auto-rebuild:

Terminal
npm run dev

Need help?

Help center: guides and tutorials

support@dragapp.com: email support

GitHub issues: bug reports and feature requests