MCPサーバー
DragAppのMCPサーバーは47個のツールを12カテゴリにわたって提供し、MCP対応のあらゆるAIクライアントに、ボード、メール、カード、連絡先、ナレッジベース、分析、自動化へのフルアクセスを与えます。
接続方法は2つあります。ホスト型エンドポイントのURLをAIクライアントのコネクタ設定に貼り付ける方法(インストール不要で最速)と、オープンソースのサーバーを設定ファイルからローカルで実行する方法です。どちらでも、使えるツールも権限も同じです。
Model Context Protocol 標準に基づいて構築されています。オープンソース(MITライセンス)です。
接続(ホスト型エンドポイント)
最も速い接続方法は、ホスト型エンドポイントです。3ステップ、約2分。設定ファイルもローカルへのインストールも再起動も不要です。
- コネクターを追加します。 AIクライアントのコネクタ設定(Claudeの場合: 設定 › コネクタ › カスタムコネクタを追加)で、このURLを貼り付けて保存します:コネクタURL
https://app.dragapp.com/mcp - 「Connect」をクリックします。 ブラウザでDragの接続ページが開き、DragAppのAPIキーの入力を求められます。
- APIキーを入力してください。 DragAppの 設定 › 連携からコピーし、接続ページに貼り付けて送信します。Dragがキーを検証し、アクセストークンとしてクライアントに渡します。これで接続が有効になります。
確認するには、クライアントに「DragAppのボードを一覧表示して」と頼んでみてください。各ツールを初めて使うときに許可を求めてくるので、何を許可するかを細かく管理できます。
キーを入力するのは接続ページでの1回だけです。URLに表示されることはなく、MCPサービスは自社のサーバーに何も保存しません。
内部的には、PKCEと動的クライアント登録を備えた標準的なOAuth 2.1の認可コードフローで、MCPのStreamable HTTPトランスポート上で提供されます。そのため、リモートMCPコネクタに対応したクライアントであれば接続できます。
インストール(ローカル方式)
サーバーを自分で運用したい場合や、Cursor、Windsurf、Claude Codeなど設定ファイルを使うクライアントをお使いの場合も、npmパッケージを引き続き完全にサポートしています。npxで直接実行でき、インストールは不要です:
npx -y @dragapp/mcp-serverまたは、グローバルにインストール:
npm install -g @dragapp/mcp-server認証
どちらの接続方法もDragApp APIキーで認証し、いずれの場合も接続には既存のDragの権限がそのまま引き継がれます。ホスト型のエンドポイントでは、安全な接続ページでキーを一度入力すると、それがクライアントのアクセストークンになります。MCPサービス側には何も保存されません。ローカル接続では、サーバーが DRAG_API_KEY 環境変数からキーを読み取ります。
APIキーは Dragの「設定」→「連携」から取得できます。そこからいつでも取り消すことができます。
APIキーはDragAppワークスペースへのフルアクセスを許可します。秘密にして、バージョン管理には絶対にコミットしないでください。
クライアントの設定
AIクライアントのMCP設定ファイルに次のJSONを追加します:
{
"mcpServers": {
"dragapp": {
"command": "npx",
"args": ["-y", "@dragapp/mcp-server"],
"env": {
"DRAG_API_KEY": "your-api-key"
}
}
}
}設定ファイルの場所
| クライアント | 設定ファイルのパス |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude Code | ~/.claude.json または .mcp.json |
ツールリファレンス
47個のツールを12カテゴリにわたって提供します。各ツールは、接続されたすべてのMCPクライアントで自動的に利用できます。
メール
8| ツール | 説明 |
|---|---|
list_threads | ボードの特定の列にあるメールスレッドを一覧表示します |
get_thread | HTML本文を含む1件のメールメッセージを取得 |
reply_to_thread | 既存のメールスレッドに返信する |
send_new_email | ボードから新しいメールを送信 |
search_threads | すべてのボードを横断してスレッドを検索 |
filter_threads | ラベル、担当者、ステータスでスレッドを絞り込み |
move_thread | スレッドを別の列に移動 |
move_threads_bulk | 複数のスレッドを一括で移動 |
ボード
5| ツール | 説明 |
|---|---|
list_boards | 認証済みユーザーがアクセスできるすべてのボードを一覧表示します |
get_board | 特定のボードの詳細を取得 |
list_columns | ボード内のすべての列を一覧表示します |
list_board_members | ボードのすべてのメンバーを一覧表示します |
list_teams | ワークスペース内のすべてのチームを一覧表示します |
カード
6| ツール | 説明 |
|---|---|
list_cards_in_column | 特定の列内のすべてのカードを一覧表示します |
get_card | 特定のカードの詳細を取得 |
create_card | カラムに新しいカードを作成 |
update_card | カードのプロパティ(タイトル、説明、担当者、期日)を更新 |
move_card | カードを別の列または位置に移動 |
archive_card | カードをアーカイブする |
ラベル
4| ツール | 説明 |
|---|---|
list_labels | ボードで使用できるすべてのラベルを一覧表示します |
add_label_to_thread | メールスレッドにラベルを追加 |
remove_label_from_thread | メールスレッドからラベルを外す |
toggle_labels | ボード上のラベルの表示を切り替え |
コメント
2| ツール | 説明 |
|---|---|
add_comment | カードまたはスレッドに社内コメントを追加 |
get_comment | 特定のコメントの詳細を取得 |
タスク
1| ツール | 説明 |
|---|---|
create_task | カードにタスク(チェックリスト項目)を作成 |
連絡先
3| ツール | 説明 |
|---|---|
search_contacts | 名前またはメールアドレスで連絡先を検索 |
get_contact_conversations | 特定の連絡先とのすべての会話を取得 |
create_contact | ワークスペースに新しい連絡先を作成 |
ナレッジベース
5| ツール | 説明 |
|---|---|
list_articles | ナレッジベースのすべての記事を一覧表示します |
get_article | ナレッジベース記事の全文を取得 |
create_article | ナレッジベースの記事を新規作成 |
update_article | 既存のナレッジベース記事を更新 |
search_knowledge | クエリでナレッジベースを検索 |
分析
4| ツール | 説明 |
|---|---|
get_response_times | ボードの応答時間の指標を取得 |
get_avg_response_time | ボード全体の平均応答時間を取得 |
get_daily_activity | 日次のアクティビティ指標(作成・返信・解決されたスレッド数)を取得 |
get_closed_activity | クローズ/解決済みスレッドの指標を取得 |
自動化
3| ツール | 説明 |
|---|---|
list_automations | ボードに設定されているすべての自動化を一覧表示します |
toggle_automation | 特定の自動化を有効化または無効化 |
toggle_ai_drafts | ボードでAI下書きの生成を有効化または無効化 |
| ツール | 説明 |
|---|---|
get_whatsapp_conversation | WhatsAppボード上のWhatsApp会話(カード)の全メッセージ履歴を取得します。チャットメッセージを順番に返します。WhatsAppボードでlist_threads / search_threadsが返すcardId(`cardId`フィールド)を使用してください。 |
list_whatsapp_templates | WhatsAppボードで使用できる、事前承認済みのWhatsAppメッセージテンプレートを一覧表示します。各テンプレートの名前、言語、ステータス、カテゴリ、本文、必要な {{n}} 変数の数を返します。送信できるのは APPROVED のテンプレートのみです。 |
send_whatsapp_message | 既存の会話にWhatsAppの自由テキストメッセージを送信します。注:WhatsAppでは、自由テキストメッセージは24時間のカスタマーサービスウィンドウ内でのみ送信できます。ウィンドウ外ではsend_whatsapp_templateを使用してください。 |
send_whatsapp_template | 事前承認済みのWhatsAppテンプレートメッセージを会話に送信します。24時間ウィンドウ外の連絡先に連絡する場合に使用します。先にlist_whatsapp_templatesを呼び出して正確なテンプレート名と言語を取得し、{{n}}変数がいくつ必要かを確認してください。 |
例
自然言語のプロンプトと、その裏でAIクライアントが呼び出すツール。
“サポートボードの未読メールを表示して”
list_boards → list_columns → list_threads
AIクライアントがサポートボードを見つけ、該当する列を特定し、件名、送信者、タイムスタンプ付きでスレッドを一覧表示します。
“佐藤さんからの最新メールに返信して”
search_threads → get_thread → reply_to_thread
すべてのボードから佐藤さんのスレッドを検索し、メッセージ全文を取得してから、返信を作成して送信します。
“今週の平均応答時間は?”
get_avg_response_time
分析ツールを直接呼び出し、期間比較付きで平均応答時間を返します。
“このバグ報告でSprintボードにカードを作成して”
list_boards → list_columns → create_card
Sprintボードを見つけ、適切な列(例:Backlog)を特定し、バグの詳細を記載したカードを作成します。
“請求関連のスレッドをすべて佐藤さんに割り当てて”
filter_threads → move_threads_bulk
BILLINGラベルでスレッドを絞り込み、佐藤さんに割り当てられた列へ一括で移動します。
“ナレッジベースで返金ポリシーを検索して”
search_knowledge
ナレッジベースを検索し、一致する記事を抜粋付きで返します。
開発
リポジトリをクローンしてローカルで実行します:
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自動リビルド付きの開発環境:
npm run devリンク
GitHubリポジトリ:ソースコード、Issue、コントリビューション
npmパッケージ: @dragapp/mcp-server
Model Context Protocol:MCPの仕様
REST APIドキュメント:DragApp REST APIリファレンス
ライセンス:MIT
お困りですか?
