Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

com.dragapp/mcp-server

NPM · @DRAGAPP/MCP-SERVER · SCANNED AUG 3

AI-powered email & WhatsApp for teams — manage your shared inbox from Claude, Cursor or ChatGPT.

Available components

+23 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security86
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability75
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 4205 tokens (~89/item across 47 items; 47 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @dragapp/mcp-server

# add to Claude Code
claude mcp add com-dragapp-mcp-server -- npx -y @dragapp/mcp-server
# add to Codex CLI
codex mcp add com-dragapp-mcp-server -- npx -y @dragapp/mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-dragapp-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@dragapp/mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-dragapp-mcp-server --command npx --arg -y --arg @dragapp/mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  com-dragapp-mcp-server:
    command: "npx"
    args: ["-y", "@dragapp/mcp-server"]
// mcp.json
{
  "mcpServers": {
    "com-dragapp-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@dragapp/mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Aug 26 +32
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Security disclosure: fail → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: unverified → good functional
    • Stability: unverified → 0.23 functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • License: unverified → pass functional
    • Licence: MIT functional
  • 1 Aug 26 +8
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 +2
    • Malware scan: pass → unverified security
    • Dependency health: partial → unverified functional
    • Tool coverage: unverified → 100 functional
  • 29 Jul 26 −20
    • Tool coverage: 100 → unverified functional
    • Dependency health: unverified → partial functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 46

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@dragapp/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 94 packages

94 packages in the resolved dependency tree · 94 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 47 exposed · ~4,205 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
add_comment ~53

Add a comment to a card. Comments are internal team messages attached to cards, visible to all board members.

NameTypeReqDescription
bodystringyesComment text
cardIdstringyesThe card ID to comment on

No output schema declared.

No examples provided.

add_label_to_thread ~78

Add a shared label to an email thread (or task). Use list_labels first to find available label IDs for the board.

NameTypeReqDescription
boardIdnumberyesThe board ID the thread belongs to
labelIdnumberyesThe label ID to assign
threadIdstringyesThe thread or task ID to label

No output schema declared.

No examples provided.

add_tag_to_card ~54

Add a tag to a card. Use list_tags first to find available tag IDs for the board.

NameTypeReqDescription
cardIdnumberyesThe card ID
tagIdstringyesThe tag ID to add

No output schema declared.

No examples provided.

archive_card ~33

Archive (delete) a card from a DragApp board.

NameTypeReqDescription
cardIdnumberyesThe card ID to archive

No output schema declared.

No examples provided.

create_article ~84

Create a new knowledge base article. Articles can be categorised and published for team or public access. Use list_teams to find your team ID first.

NameTypeReqDescription
bodystringyesArticle body in HTML
categoryIdnumberCategory to file the article under
teamIdnumberyesThe team ID
titlestringyesArticle title

No output schema declared.

No examples provided.

create_card ~134

Create a new card (task) on a DragApp board. You can set the title, assign it to a team member, and add a note or comment.

NameTypeReqDescription
assigneestringEmail address of an assignee (single email).
boardIdnumberyesBoard to add the card to
columnIdstringyesColumn ID string (e.g. 'Label_1') — use list_columns to find it
commentstringComment to add to the card
notestringNote to add to the card
titlestringyesCard title

No output schema declared.

No examples provided.

create_contact ~66

Create a new contact record in DragApp with name, email, and optional phone and note.

NameTypeReqDescription
emailstringyesContact email address
namestringyesContact name
notestringNote about the contact
phonestringPhone number

No output schema declared.

No examples provided.

create_task ~172

Create a standalone task in DragApp. Tasks are lightweight to-do items that can be assigned, given a due date, and tracked on a board.

NameTypeReqDescription
assigneestringEmail address of the assignee
boardIdnumberyesThe board to create the task on
columnIdstringyesColumn ID to place the task in, e.g. 'Label_1'
commentstringInitial comment attached to the task
dueDatestringDue date in ISO-8601 format (e.g. 2026-05-20T00:00:00.000Z). Saved via a separate call after the task is created.
notestringInitial note attached to the task
titlestringyesTask title

No output schema declared.

No examples provided.

filter_threads ~131

Filter email threads by criteria such as assignee, tags, or column. More targeted than search — use this when you know specific filter values.

NameTypeReqDescription
assigneesarrayFilter by assignee user IDs (as strings). Use "-1" for unassigned threads. Get user IDs from list_teams or list_board_members.
boardIdnumberyesThe board ID to filter within
columnIdstringyesThe column ID to filter within (required)
tagListarrayFilter by shared label IDs (as strings). Use list_labels to get available label IDs.

No output schema declared.

No examples provided.

get_article ~64

Get the full content of a knowledge base article by ID, including title, body, category, and publication status. Use list_teams to find your team ID first.

NameTypeReqDescription
articleIdnumberyesThe article ID
teamIdnumberyesThe team ID

No output schema declared.

No examples provided.

get_avg_response_time ~83

Get average response time across all replies on a board for a given period. Complements get_response_times which shows first response only.

NameTypeReqDescription
boardIdnumberyesThe board ID
dateFromstringyesStart date for the period (ISO-8601)
dateTostringyesEnd date for the period (ISO-8601)

No output schema declared.

No examples provided.

get_board ~39

Get details of a specific DragApp board by ID. Returns board name, owner, and members.

NameTypeReqDescription
boardIdnumberyesThe board ID

No output schema declared.

No examples provided.

get_card ~85

Get full details of a card (task or email thread) by ID. Returns title, status, assignees, due date, column, board, note, and timestamps.

NameTypeReqDescription
boardIdnumberOptional board ID. Speeds up the lookup; not required.
cardIdstringyesThe card ID. Numeric task IDs and hex thread IDs both work.

No output schema declared.

No examples provided.

get_closed_activity ~79

Get the count of closed/resolved threads per day for a board. Useful for tracking team throughput and resolution rates.

NameTypeReqDescription
boardIdnumberyesThe board ID
dateFromstringyesStart date for the period (ISO-8601)
dateTostringyesEnd date for the period (ISO-8601)

No output schema declared.

No examples provided.

get_comment ~27

Retrieve a specific comment by its ID.

NameTypeReqDescription
commentIdnumberyesThe comment ID

No output schema declared.

No examples provided.

get_contact_conversations ~65

Get all email conversations involving a specific contact. Returns thread subjects, dates, and preview text. Use search_contacts first to find the contact ID.

NameTypeReqDescription
contactIdnumberyesThe numeric contact ID (use search_contacts to find it — do not pass an email address)

No output schema declared.

No examples provided.

get_daily_activity ~81

Get daily email activity counts for a board over a time period. Returns per-day counts useful for volume trends and workload analysis.

NameTypeReqDescription
boardIdnumberyesThe board ID
dateFromstringyesStart date for the period (ISO-8601)
dateTostringyesEnd date for the period (ISO-8601)

No output schema declared.

No examples provided.

get_response_times ~83

Get first response time metrics for a board. Shows how quickly the team responds to new emails. Useful for SLA monitoring and performance reviews.

NameTypeReqDescription
boardIdnumberyesThe board ID
dateFromstringyesStart date for the period (ISO-8601)
dateTostringyesEnd date for the period (ISO-8601)

No output schema declared.

No examples provided.

get_thread ~113

Get a single email message by ID. Returns the HTML body (and a plain-text version), sender, recipients, attachments, and reply-to info for composing a response. You can pass either messageId or threadId — they are the same value.

NameTypeReqDescription
boardIdnumberyesThe board ID the message belongs to
messageIdstringThe message/thread ID to retrieve (same value used for both)
threadIdstringAlias for messageId — use either one (they are interchangeable)

No output schema declared.

No examples provided.

get_whatsapp_conversation ~101

Get the full message history of a WhatsApp conversation (card) on a WhatsApp board. Returns the chat messages in order. Use the cardId returned by list_threads / search_threads on a WhatsApp board (the `cardId` field).

NameTypeReqDescription
cardIdstringyesThe WhatsApp card ID (whatsappCardId), formatted '<id>-<phoneNumber>'. Get it from list_threads or search_threads on a WhatsApp board.

No output schema declared.

No examples provided.

list_articles ~49

List all knowledge base articles for a team. Returns article titles, categories, and publication status. Use list_teams to find your team ID first.

NameTypeReqDescription
teamIdnumberyesThe team ID

No output schema declared.

No examples provided.

list_automations ~55

List all automations configured on a board. Shows automation name, trigger type, actions, and whether each is active. Returns an empty array if no automations exist.

NameTypeReqDescription
boardIdnumberyesThe board ID

No output schema declared.

No examples provided.

list_board_members ~31

List all boards with their columns and member info. Returns the main board and secondary boards with columns for each.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_boards ~33

List all DragApp boards the user has access to. Returns board name, owner, unread count, and contributor info.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_cards_in_column ~97

List all cards in a specific column of a DragApp board. Supports pagination. Cards are email threads or tasks with titles, assignees, due dates, and custom fields.

NameTypeReqDescription
boardIdnumberyesThe board ID
columnIdnumberyesThe column ID
limitnumberCards per page (default: 10)
pagenumberPage number (default: 1)

No output schema declared.

No examples provided.

list_columns ~70

List all columns (stages) on a DragApp board. Columns represent workflow stages like To Do, In Progress, Done. Returns label-style IDs (e.g. "Label_1") used by list_threads, filter_threads, and move_thread.

NameTypeReqDescription
boardIdnumberyesThe board ID

No output schema declared.

No examples provided.

list_labels ~43

List all shared labels on a board. Labels are coloured markers used to categorise and filter email threads across the team.

NameTypeReqDescription
boardIdnumberyesThe board ID

No output schema declared.

No examples provided.

list_tags ~54

List all tags (coloured labels) available on a DragApp board. Tags are used to categorise and filter cards. For email thread labels, use list_labels instead.

NameTypeReqDescription
boardIdnumberyesThe board ID

No output schema declared.

No examples provided.

list_teams ~38

List all teams the user belongs to. Returns team IDs needed by knowledge base tools (list_articles, get_article, create_article, update_article).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_threads ~166

List items in a specific column of a DragApp board. Call list_columns first to get column IDs — they are strings like "Label_1", not numbers. A column can mix three item types: email threads (have `threadId`/`from`/`subject`), task cards (have `cardId`/`title`/`status`), and WhatsApp conversations (have `cardId`/`contact`). Use `cardId` with get_card / update_card / move_card, or with the whatsapp tools for WhatsApp items.

NameTypeReqDescription
boardIdnumberyesThe board ID to list threads from
columnIdstringyesThe column ID string (e.g. "Label_1") — use list_columns to find available IDs

No output schema declared.

No examples provided.

list_whatsapp_templates ~87

List the pre-approved WhatsApp message templates available on a WhatsApp board. Returns each template's name, language, status, category, body text, and how many {{n}} variables it expects. Only APPROVED templates can be sent.

NameTypeReqDescription
boardIdnumberyesThe WhatsApp board ID
limitnumberMaximum templates to return (default: 50)

No output schema declared.

No examples provided.

move_card ~140

Move a card to a different column on the same board, or to another board. newColumnId is the label-style column ID like 'Label_1' (returned by list_columns).

NameTypeReqDescription
cardIdstringyesThe card ID to move
newBoardIdnumberTarget board ID. Required for cross-board moves; auto-resolved from the card's current board when omitted.
newColumnIdstringyesTarget column ID (label-style string, e.g. 'Label_2'). Get it from list_columns.
newPositionnumberPosition in the target column (0 = top, default 0)

No output schema declared.

No examples provided.

move_thread ~102

Move an email thread to a different column or board. Use this to triage emails — e.g. move from Inbox to In Progress, or to a different team's board.

NameTypeReqDescription
newBoardIdnumberyesTarget board ID
newColumnIdstringyesTarget column ID
positionnumberPosition in the target column (0 = top, default: 0)
threadIdstringyesThe thread/entity ID to move

No output schema declared.

No examples provided.

move_threads_bulk ~68

Move multiple email threads at once to a different column or board. Use this for batch triage operations.

NameTypeReqDescription
newBoardIdnumberyesTarget board ID
newColumnIdstringyesTarget column ID
threadIdsarrayyesArray of thread IDs to move

No output schema declared.

No examples provided.

remove_label_from_thread ~68

Remove a shared label from an email thread (or task).

NameTypeReqDescription
boardIdnumberyesThe board ID the thread belongs to
labelIdnumberyesThe label ID to remove
threadIdstringyesThe thread or task ID to remove the label from

No output schema declared.

No examples provided.

reply_to_thread ~175

Reply to an existing email thread. Sent from the current user's connected Gmail address (the JWT owner). For single-message threads, threadId works as messageId. For multi-message threads, pass the specific messageId you're replying to — get_thread returns it.

NameTypeReqDescription
bccstringBCC recipient email address
boardIdnumberyesThe board ID the thread belongs to
bodystringyesHTML body of the reply
ccstringCC recipient email address
messageIdstringSpecific message ID to reply to. Defaults to threadId, which is correct for threads with a single message.
threadIdstringyesThe thread ID to reply to
tostringyesRecipient email address (use get_thread's replyTo.to or sender field)

No output schema declared.

No examples provided.

search_contacts ~58

Search for contacts by name or email. The search text must not be empty. Returns matching contact records with name, email, phone, and domain.

NameTypeReqDescription
querystringyesSearch query — matches against name and email (must not be empty)

No output schema declared.

No examples provided.

search_knowledge ~112

Search a Help Center knowledge base by keyword. teamId, slug, and query are all optional except query — with no teamId or slug, the first team that has a configured Help Center slug is used.

NameTypeReqDescription
querystringyesSearch query text
slugstringHelp Center slug (public identifier). Overrides teamId-based resolution.
teamIdnumberTeam ID — resolves to the Help Center slug via the team's KB settings. Use list_teams to find your team ID.

No output schema declared.

No examples provided.

search_threads ~134

Search items across a board by content or sender. Returns matches with preview snippets. Matches can be email threads (`threadId`), task cards (`cardId`/`title`), or WhatsApp conversations (`cardId`/`contact`). Note: search may return empty results on boards with very few items. Use filter_threads or list_threads as an alternative.

NameTypeReqDescription
boardIdnumberyesThe board ID to search within
querystringyesSearch query text (must not be empty)
searchBystringSearch by thread content (subject/body) or by sender email. Defaults to content.

No output schema declared.

No examples provided.

send_new_email ~85

Compose and send a new email from a DragApp board's connected email address. Creates a new thread in the board.

NameTypeReqDescription
boardIdnumberyesThe board to send from (determines the sender email address)
bodystringyesHTML body of the email
subjectstringyesEmail subject line
tostringyesRecipient email address

No output schema declared.

No examples provided.

send_whatsapp_message ~129

Send a free-text WhatsApp message into an existing conversation. Note: WhatsApp only allows free-text messages inside the 24-hour customer service window; outside it, use send_whatsapp_template instead.

NameTypeReqDescription
boardIdnumberBoard ID. Auto-resolved from the card when omitted.
cardIdstringyesThe WhatsApp card ID (whatsappCardId) of the conversation to reply to.
columnIdstringColumn ID the card is in. Auto-resolved from the card when omitted.
textstringyesThe message text to send

No output schema declared.

No examples provided.

send_whatsapp_template ~259

Send a pre-approved WhatsApp template message into a conversation. Use this to reach a contact outside the 24-hour window. Call list_whatsapp_templates first to get the exact template name and language, and to see how many {{n}} variables it needs.

NameTypeReqDescription
boardIdnumberBoard ID. Auto-resolved from the card when omitted.
bodyParametersarrayValues to fill the template's {{1}}, {{2}}… BODY variables, in order. Required when the template has variables.
cardIdstringyesThe WhatsApp card ID (whatsappCardId) of the conversation to send to.
columnIdstringColumn ID the card is in. Auto-resolved from the card when omitted.
componentsarrayAdvanced: a fully-formed WhatsApp components array (for templates with media headers or buttons). Overrides bodyParameters when provided.
languageCodestringTemplate language code (e.g. 'fr', 'en_US'). Required only when a board has multiple templates sharing the same name; otherwise auto-resolved.
templateNamestringyesThe exact template name (e.g. 'french'). Get it from list_whatsapp_templates.

No output schema declared.

No examples provided.

toggle_ai_drafts ~93

Enable or disable AI-generated draft replies for a board. When enabling, you must choose a category: 'automatic' (drafts created without prompting) or 'manual' (drafts created on demand).

NameTypeReqDescription
boardIdnumberyesThe board ID
categorystringRequired when enabling. Defaults to 'automatic'.
enabledbooleanyestrue to enable AI drafts, false to disable

No output schema declared.

No examples provided.

toggle_automation ~71

Activate or deactivate a board automation. Pass active=true to enable or active=false to disable.

NameTypeReqDescription
activebooleanyestrue to activate, false to deactivate
automationIdnumberyesThe automation ID
boardIdnumberyesThe board the automation belongs to (required by the API)

No output schema declared.

No examples provided.

toggle_labels ~93

Add some labels and/or remove others from a thread in one call. The backend toggle endpoint is one-label-at-a-time, so this iterates internally.

NameTypeReqDescription
addLabelIdsarrayLabel IDs to add
boardIdnumberyesThe board ID the thread belongs to
removeLabelIdsarrayLabel IDs to remove
threadIdstringyesThe thread or task ID

No output schema declared.

No examples provided.

update_article ~90

Update an existing knowledge base article's title, body, or category. Use list_teams to find your team ID first.

NameTypeReqDescription
articleIdnumberyesThe article ID to update
bodystringNew article body in HTML
categoryIdnumberNew category ID
teamIdnumberyesThe team ID
titlestringNew article title

No output schema declared.

No examples provided.

update_card ~180

Update an existing card. Change the title, reassign, add a note, set a due date, or change status. Comments cannot be modified via this tool.

NameTypeReqDescription
assigneeAssignee email(s). Single string or array of strings.
boardIdnumberBoard the card belongs to
cardIdstringyesThe card ID to update
colorstringCard color code
columnIdstringColumn the card is in (string column ID like 'Label_1')
dueDatestringDue date in ISO-8601 (e.g. 2026-05-20T00:00:00.000Z)
notestringNew note body
statusstringCard status
titlestringNew card title

No output schema declared.

No examples provided.