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
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 27 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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
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
claude mcp add com-dragapp-mcp-server -- npx -y @dragapp/mcp-server
codex mcp add com-dragapp-mcp-server -- npx -y @dragapp/mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-dragapp-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"@dragapp/mcp-server"
],
"enabled": true
}
}
} openclaw mcp add com-dragapp-mcp-server --command npx --arg -y --arg @dragapp/mcp-server
mcp_servers:
com-dragapp-mcp-server:
command: "npx"
args: ["-y", "@dragapp/mcp-server"] {
"mcpServers": {
"com-dragapp-mcp-server": {
"command": "npx",
"args": [
"-y",
"@dragapp/mcp-server"
]
}
}
} 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.
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.
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.
add_comment ~53
Add a comment to a card. Comments are internal team messages attached to cards, visible to all board members.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Comment text |
| cardId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID the thread belongs to |
| labelId | number | yes | The label ID to assign |
| threadId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cardId | number | yes | The card ID |
| tagId | string | yes | The tag ID to add |
No output schema declared.
No examples provided.
archive_card ~33
Archive (delete) a card from a DragApp board.
| Name | Type | Req | Description |
|---|---|---|---|
| cardId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Article body in HTML |
| categoryId | number | — | Category to file the article under |
| teamId | number | yes | The team ID |
| title | string | yes | Article 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee | string | — | Email address of an assignee (single email). |
| boardId | number | yes | Board to add the card to |
| columnId | string | yes | Column ID string (e.g. 'Label_1') — use list_columns to find it |
| comment | string | — | Comment to add to the card |
| note | string | — | Note to add to the card |
| title | string | yes | Card 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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Contact email address | |
| name | string | yes | Contact name |
| note | string | — | Note about the contact |
| phone | string | — | Phone 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee | string | — | Email address of the assignee |
| boardId | number | yes | The board to create the task on |
| columnId | string | yes | Column ID to place the task in, e.g. 'Label_1' |
| comment | string | — | Initial comment attached to the task |
| dueDate | string | — | Due date in ISO-8601 format (e.g. 2026-05-20T00:00:00.000Z). Saved via a separate call after the task is created. |
| note | string | — | Initial note attached to the task |
| title | string | yes | Task 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assignees | array | — | Filter by assignee user IDs (as strings). Use "-1" for unassigned threads. Get user IDs from list_teams or list_board_members. |
| boardId | number | yes | The board ID to filter within |
| columnId | string | yes | The column ID to filter within (required) |
| tagList | array | — | Filter 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.
| Name | Type | Req | Description |
|---|---|---|---|
| articleId | number | yes | The article ID |
| teamId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID |
| dateFrom | string | yes | Start date for the period (ISO-8601) |
| dateTo | string | yes | End 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | — | Optional board ID. Speeds up the lookup; not required. |
| cardId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID |
| dateFrom | string | yes | Start date for the period (ISO-8601) |
| dateTo | string | yes | End date for the period (ISO-8601) |
No output schema declared.
No examples provided.
get_comment ~27
Retrieve a specific comment by its ID.
| Name | Type | Req | Description |
|---|---|---|---|
| commentId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| contactId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID |
| dateFrom | string | yes | Start date for the period (ISO-8601) |
| dateTo | string | yes | End 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID |
| dateFrom | string | yes | Start date for the period (ISO-8601) |
| dateTo | string | yes | End 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID the message belongs to |
| messageId | string | — | The message/thread ID to retrieve (same value used for both) |
| threadId | string | — | Alias 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).
| Name | Type | Req | Description |
|---|---|---|---|
| cardId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| teamId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID |
| columnId | number | yes | The column ID |
| limit | number | — | Cards per page (default: 10) |
| page | number | — | Page 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID to list threads from |
| columnId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The WhatsApp board ID |
| limit | number | — | Maximum 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).
| Name | Type | Req | Description |
|---|---|---|---|
| cardId | string | yes | The card ID to move |
| newBoardId | number | — | Target board ID. Required for cross-board moves; auto-resolved from the card's current board when omitted. |
| newColumnId | string | yes | Target column ID (label-style string, e.g. 'Label_2'). Get it from list_columns. |
| newPosition | number | — | Position 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.
| Name | Type | Req | Description |
|---|---|---|---|
| newBoardId | number | yes | Target board ID |
| newColumnId | string | yes | Target column ID |
| position | number | — | Position in the target column (0 = top, default: 0) |
| threadId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| newBoardId | number | yes | Target board ID |
| newColumnId | string | yes | Target column ID |
| threadIds | array | yes | Array 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).
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID the thread belongs to |
| labelId | number | yes | The label ID to remove |
| threadId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| bcc | string | — | BCC recipient email address |
| boardId | number | yes | The board ID the thread belongs to |
| body | string | yes | HTML body of the reply |
| cc | string | — | CC recipient email address |
| messageId | string | — | Specific message ID to reply to. Defaults to threadId, which is correct for threads with a single message. |
| threadId | string | yes | The thread ID to reply to |
| to | string | yes | Recipient 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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search 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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search query text |
| slug | string | — | Help Center slug (public identifier). Overrides teamId-based resolution. |
| teamId | number | — | Team 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID to search within |
| query | string | yes | Search query text (must not be empty) |
| searchBy | string | — | Search 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board to send from (determines the sender email address) |
| body | string | yes | HTML body of the email |
| subject | string | yes | Email subject line |
| to | string | yes | Recipient 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | — | Board ID. Auto-resolved from the card when omitted. |
| cardId | string | yes | The WhatsApp card ID (whatsappCardId) of the conversation to reply to. |
| columnId | string | — | Column ID the card is in. Auto-resolved from the card when omitted. |
| text | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | — | Board ID. Auto-resolved from the card when omitted. |
| bodyParameters | array | — | Values to fill the template's {{1}}, {{2}}… BODY variables, in order. Required when the template has variables. |
| cardId | string | yes | The WhatsApp card ID (whatsappCardId) of the conversation to send to. |
| columnId | string | — | Column ID the card is in. Auto-resolved from the card when omitted. |
| components | array | — | Advanced: a fully-formed WhatsApp components array (for templates with media headers or buttons). Overrides bodyParameters when provided. |
| languageCode | string | — | Template language code (e.g. 'fr', 'en_US'). Required only when a board has multiple templates sharing the same name; otherwise auto-resolved. |
| templateName | string | yes | The 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).
| Name | Type | Req | Description |
|---|---|---|---|
| boardId | number | yes | The board ID |
| category | string | — | Required when enabling. Defaults to 'automatic'. |
| enabled | boolean | yes | true 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.
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | yes | true to activate, false to deactivate |
| automationId | number | yes | The automation ID |
| boardId | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| addLabelIds | array | — | Label IDs to add |
| boardId | number | yes | The board ID the thread belongs to |
| removeLabelIds | array | — | Label IDs to remove |
| threadId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| articleId | number | yes | The article ID to update |
| body | string | — | New article body in HTML |
| categoryId | number | — | New category ID |
| teamId | number | yes | The team ID |
| title | string | — | New 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee | — | — | Assignee email(s). Single string or array of strings. |
| boardId | number | — | Board the card belongs to |
| cardId | string | yes | The card ID to update |
| color | string | — | Card color code |
| columnId | string | — | Column the card is in (string column ID like 'Label_1') |
| dueDate | string | — | Due date in ISO-8601 (e.g. 2026-05-20T00:00:00.000Z) |
| note | string | — | New note body |
| status | string | — | Card status |
| title | string | — | New card title |
No output schema declared.
No examples provided.