Chatworkタスク管理をClaudeで効率化する使い方
ChatworkのMCPサーバーでタスク・メッセージをClaudeから確認・作成する具体的な手順と、担当者指定や回数制限などの実務上の注意点をまとめました。
Chatworkタスク管理をClaudeでどう変えるか
Chatwork公式のMCPサーバーを接続すると、複数のグループチャットに散らばったタスクと未読メッセージを、日本語の指示だけでまとめて扱えるようになります。「今日中の期限は?」と聞くだけで済みます。差が出るのは一覧を眺める場面より、複数チャットをまたいでタスクを拾い上げ、担当者を決めて追加する場面です。
この記事は接続済みであることを前提に、タスクとメッセージの管理でつまずきやすい点と、使い分けの具体例に絞って扱います。業務系MCPサーバーはChatwork以外にも数多く公開されており、目的別の選び方はおすすめMCPサーバー10選で扱っています。
接続はすでに済ませておく
Chatwork公式が公開している@chatwork/mcp-serverは、APIトークンを1つ環境変数に渡すだけで動きます。Claude Codeなら以下のコマンドで追加できます。
claude mcp add chatwork \
-e CHATWORK_API_TOKEN=YOUR_CHATWORK_API_TOKEN \
-- npx -y @chatwork/mcp-serverclaude mcp listで✔ Connectedと出れば準備完了です。接続方式の詳細や別のMCPサーバーとの共通点はClaude Code MCP設定ガイドにまとめてあります。接続できないときの切り分けはMCPサーバーに接続できないときの切り分け手順を参照してください。
自分のタスクとチャットのタスクを使い分ける
タスクを確認するツールは2系統に分かれます。片方は自分が担当者のタスクだけを横断で見るもの、もう片方は1つのチャットの中のタスクを見るものです。目的によって選ぶツールが変わります。
| 目的 | 使うツール | 取得できる範囲 |
|---|---|---|
| 自分が担当者のタスクを全チャット横断で確認 | 使うツールlist_my_tasks | 取得できる範囲最大100件、依頼者IDや完了状態で絞り込み可 |
| 特定チャットのタスクを全担当者分確認 | 使うツールlist_room_tasks | 取得できる範囲そのチャット内の最大100件、担当者IDでも絞り込み可 |
| 1件のタスクの詳細を確認 | 使うツールget_room_task | 取得できる範囲期限・依頼者・完了状態を含む詳細 |
| 未完了・完了だけに絞る | 使うツール上記2つにstatus指定 | 取得できる範囲open(未完了)かdone(完了)の2択 |
statusはopenとdoneの2値しかありません。Chatwork自体に「進行中」のような中間ステータスや優先度の概念が無いため、Claudeに「優先度の高いタスクだけ」と頼んでも、Chatworkのデータには優先度フィールドが存在せず判断材料がありません。緊急度は本文やタスク名に書き込む運用で補う必要があります。
タスクを作るときはアカウントIDでつまずく
create_room_taskでタスクを追加するとき、担当者は名前ではなくアカウントIDで指定します。Chatwork API側の仕様として、担当者に指定できるのは「そのチャットに参加しているメンバーのアカウントID」に限られ、名前や表示名では受け付けません。
チャットに参加していない相手はそもそも担当者に指定できません。社外のパートナーにタスクを振りたい場合は、先にそのチャットへ招待してからでないとツールも失敗します。
期限の指定も2種類あります。limit_typeにdateかtimeを渡すと期限付き、noneにすると期限なしのタスクになります。省略時の既定値はtime(時刻指定)なので、日付だけ決まっていて時刻を決めたくない場合は明示的にdateを指定してください。
メッセージを確認・投稿する使い分け
メッセージ系のツールも用途で選び方が変わります。
| 目的 | 使うツール | 一言 |
|---|---|---|
| 直近のやり取りを要約させる | 使うツールlist_room_messages | 一言既定は前回取得分からの差分のみ |
| 1件の内容だけ確認 | 使うツールget_room_message | 一言メッセージIDが分かっている前提 |
| 新規投稿 | 使うツールpost_room_message | 一言本文をそのまま渡すだけ |
| 見た/見てないを操作 | 使うツールread_room_messages / unread_room_message | 一言通知の未読管理に使う |
| 誤字修正・撤回 | 使うツールupdate_room_message / delete_room_message | 一言削除は元に戻せない |
list_room_messagesにはforceという引数があり、既定値の0では前回そのチャットを取得した時点からの差分だけを返します。強制的に最新100件をまとめて取りたいときはforceを1にする必要があります。「今日の未読を要約して」のような使い方には既定値のままで十分ですが、「このチャットの直近のやり取りを全部見せて」と頼むときはforce=1を意識しないと、意図より少ない件数しか返らないことがあります。
毎朝の状況把握を1回の呼び出しにする
get_my_statusは、未読チャット数・自分宛ての未読数・未完了タスク数をまとめて返すツールです。mytask_num(担当タスクの総数)とmytask_room_num(タスクがあるチャット数)の両方が含まれるため、「今日やることある?」と聞いたときにClaudeがまずこのツールで全体量を把握し、件数が多ければlist_my_tasksで内訳を取りにいく、という2段階の判断ができます。
出社直後にChatworkを開いて未読とタスクを1画面ずつ確認する代わりに、この1回の呼び出しで「対応が要るかどうか」の一次判定を済ませられるのが実務上の使いどころです。件数がゼロなら、そのままタスク一覧の取得を省略できます。
指示の出し方と呼ばれるツールの対応
自然文でどう頼むと、どのツールがどの順で呼ばれるかを具体例で示します。
- 「今日期限の自分のタスクを教えて」→
list_my_tasksを呼び、limit_timeが当日の範囲に入るものだけ抽出して回答します - 「経理チームのチャットに、来週月曜期限で領収書提出のタスクを佐藤さん宛てに作って」→ まず
list_roomsか既存の文脈でチャットを特定し、list_room_membersで佐藤さんのアカウントIDを確認してから、limit_typeをdateにしたcreate_room_taskを呼びます - 「昨日の夜以降の未読を要約して」→
list_room_messagesを呼び、send_timeが該当時間以降のメッセージだけを抜き出して要約します
いずれもツール自体は1回の呼び出しで単純な操作しかしないため、複数ステップが必要な指示ほど、途中でアカウントIDやチャットIDの特定が挟まる分だけ呼び出し回数が増えます。
見落としやすい2つの回数制限
ChatworkのAPIには全体の呼び出し回数制限に加えて、投稿系のエンドポイントだけにかかる追加制限があります。
全体としては5分あたり300回までです。これはタスク確認や一覧取得も含めた全ツール共通の上限です。それとは別に、メッセージ投稿(post_room_message)とタスク追加(create_room_task)は、同じチャットに対して10秒あたり10回までという、より厳しい制限がかかります。
この2段構成が効いてくるのは、複数チャットへ一括でタスクや連絡を流すような使い方です。「10部屋全部に同じ連絡を今すぐ送って」と頼むと全体制限には収まっても、同一チャットへ短時間に連投する構成だと引っかかる場合があります。制限に達すると429エラーが返り、10秒ほど空けてからのリトライが必要になります。
よくあるつまずき
100件を超える過去のタスクは一度に取得できません。 list_my_tasksにもlist_room_tasksにもページ送りの仕組みが無く、古いタスクを遡って集計するような使い方は設計上想定されていません。棚卸しをするなら、期間を区切ってstatus=doneで絞り込みながら追う方法が現実的です。
グループチャットの退席・削除は取り消せない操作です。退席すると自分が担当していたタスクとファイルがそのチャットから消え、削除するとメッセージ・タスク・ファイルすべてが失われます。Claudeに「使っていないチャットを整理して」のような曖昧な指示を出すと、意図しないチャットまで削除対象に含まれる恐れがあります。破壊的な操作は対象を1つずつ確認してから実行する運用にしてください。
タスクの担当者に複数人を指定すると、Chatwork側では1人1人に同じ内容のタスクが個別に作成されます。「チーム全員に同じタスクを振って」と頼んだ結果、担当者の数だけタスクIDが返ってくるのは仕様どおりの挙動です。
Chatworkのタスク画面とは何が違うか
Chatworkには元々「マイタスク」画面があり、自分が担当者のタスクを全チャット横断で見ることはAI無しでもできます。ここでClaudeを挟む意味は、閲覧そのものより「確認して、判断して、次の操作に移す」までを1つの指示にまとめられる点にあります。
たとえば「今日期限のタスクを確認して、終わっていないものだけ担当者に催促のメッセージを送って」という指示は、Chatwork単体では一覧確認・担当者の特定・メッセージ作成という3画面をまたぐ作業です。Claude経由ならlist_my_tasksで期限を確認し、get_room_taskで担当チャットを特定し、post_room_messageで催促文を投稿するところまでを一連の流れとして任せられます。個々のツールはAPIをそのまま薄くラップしただけですが、組み合わせて連続実行できる点が手作業との違いです。
よくある質問
過去のメッセージを全部さかのぼって取り込めますか
できません。forceを1にしても取得できるのは最新100件までで、それより古い履歴を追うページ送りの仕組みは用意されていません。長期間のやり取りを調べたい場合は、Chatwork本体の検索機能と併用する必要があります。
サブタスクや親子関係のあるタスクは作れますか
作れません。タスクのデータには依頼者・担当者・本文・期限・完了状態はありますが、他のタスクとの親子関係を示す項目自体がAPIに存在しません。関連するタスクをまとめたい場合は、本文に参照先を書き込むといった運用で代替することになります。
作成済みのタスクの本文や期限を後から編集できますか
できません。用意されているのは完了状態(open/done)を変更するupdate_room_task_statusだけで、本文や期限を書き換えるエンドポイント自体がChatworkに存在せず、削除もできません。内容を間違えたときは、新しいタスクを作り直して古い方を完了扱いにする運用になります。
自分が依頼したタスクだけに絞り込めますか
できます。list_room_tasksには担当者を絞るaccount_idとは別に、依頼者を絞るassigned_by_account_idが用意されています。「自分が振ったタスクの進捗」を追うときはassigned_by_account_id、「自分が振られたタスク」を追うときはaccount_id(またはlist_my_tasks)を使い分けます。
まとめ
Chatworkのタスク・メッセージ管理をClaudeに任せる場合、一覧確認はlist_my_tasksとlist_room_tasksの使い分け、タスク追加は担当者をアカウントIDで事前に調べておくことが最初のハードルです。一覧系は最大100件・ページ送り無しという制約があり、投稿系にはチャット単位で10秒10回という追加の回数制限もかかります。これらを踏まえたうえで、確認から次の操作まで1つの指示にまとめられる点が、Chatwork単体の画面操作との一番の違いです。