Claude LINE WORKS連携をMCPで実現する方法
LINE WORKSはMCPを提供していないが、開発者向けAPIとコミュニティ製サーバーnworksで、メッセージ・カレンダー・タスクをClaudeから操作できる。設定手順と対応範囲を解説する。
Claude LINE WORKS連携をMCPで実現する方法はあるか
AnthropicがLINE WORKS向けに用意しているコネクタはありません。Claudeの一次統合はGoogle Drive・Gmail・Google Calendar・GitHub・Slack・Microsoft 365に限られ、LINE WORKSは含まれていません。
それでも連携自体は可能です。LINE WORKSは開発者向けAPIを提供しており、これをMCP(Model Context Protocol)サーバーとしてラップすれば、ClaudeからLINE WORKSのメッセージ・カレンダー・ドライブ・タスクを操作できます。本稿では、LINE WORKSのAPI全体像と、それを実装したコミュニティ製MCPサーバー「nworks」を使った具体的な連携手順を解説します。
LINE WORKS APIとは何か
LINE WORKS APIとは、LINE WORKSが提供する開発者向けAPI群で、Bot・Directory(ユーザー/組織管理)・Calendar・Drive・Mail・Board(掲示板)・Task・Formなど15以上のカテゴリに分かれています。認証はOAuth 2.0ベースで、Developer Consoleでアプリを登録し、認可サーバーからAccess Tokenを取得してから各APIを呼び出す流れです。
トークンの有効期間は用途によって決まっています。
| トークン種別 | 有効期間 | 用途 |
|---|---|---|
| 認可コード | 有効期間10分 | 用途1回限りの使い捨て |
| Access Token | 有効期間1時間または24時間 | 用途API呼び出し |
| Refresh Token | 有効期間90日 | 用途Access Tokenの再発行 |
| ID Token | 有効期間1時間 | 用途ユーザー認証情報の受け渡し |
API呼び出し時はAuthorization: Bearer {token}の形式でヘッダーにトークンを載せます。認可方式は認可コードフロー(Access Token取得に推奨)とImplicit Flow(ID Token取得専用)の2種類があり、ドキュメントでもImplicit FlowをAccess Token取得には使わないよう明記されています。
Service Account(JWT)によるBot認証
ユーザーの操作を介さずBotからメッセージを送りたい場合は、Service Account(JWT)認証を使います。流れは5段階です。①Developer ConsoleでService Accountと秘密鍵を発行、②Client IDとService Accountの情報からJWTを生成、③秘密鍵でJWTに電子署名、④LINE WORKSへAccess Token発行をリクエスト、⑤期限切れ時はRefresh Tokenで再発行。発行されたService Accountにはアプリ専用の仮想管理者権限が付与され、ユーザーのログインを挟まずにBot経由でメッセージを送信できます。
nworksとは — 26ツールを備えたコミュニティ製MCPサーバー
nworksとは、LINE WORKS(NAVER WORKS)向けに公開されているMCPサーバー兼CLIで、Apache-2.0ライセンスで公開されています。READMEには「Unofficial and community-maintained; not affiliated with LINE WORKS / NAVER WORKS」と明記されており、LINE WORKS社とは独立したコミュニティ主導のプロジェクトです。
提供する26のツールは7カテゴリに分かれます。
| カテゴリ | ツール数 | 主な機能 |
|---|---|---|
| セットアップ・認証 | ツール数5 | 主な機能認証情報設定・ログイン・ログアウト・ステータス確認 |
| メッセージ | ツール数3 | 主な機能テキスト送信・ボタンメッセージ・メンバー一覧 |
| カレンダー | ツール数4 | 主な機能イベント一覧・作成・更新・削除 |
| ドライブ | ツール数3 | 主な機能ファイル一覧・アップロード・ダウンロード |
| メール | ツール数3 | 主な機能送信・一覧・詳細表示 |
| タスク | ツール数4 | 主な機能一覧・作成・更新・削除 |
| 掲示板 | ツール数4 | 主な機能掲示板一覧・投稿一覧・投稿詳細表示・投稿作成 |
セットアップの3ステップ
ステップ1: Developer Consoleでアプリを登録する
LINE WORKS Developer Consoleで新規アプリを作成し、リダイレクトURLとしてhttp://localhost:9876/callbackを登録します。ここでクライアントIDとクライアントシークレットが発行されます。
ステップ2: 必要なスコープでログインする
nworksのCLIから、使いたい機能に応じたスコープを指定してログインします。
nworks login --user --scope "calendar calendar.read file file.read mail mail.read task task.read board board.read user.read"すべての機能をまとめて許可したい場合は、プリセットを使う方法もあります。
nworks login --user --preset all必須の環境変数はNWORKS_CLIENT_IDとNWORKS_CLIENT_SECRETの2つです。Bot経由でメッセージを送信したい場合は、任意でNWORKS_SERVICE_ACCOUNT・NWORKS_PRIVATE_KEY_PATH・NWORKS_BOT_IDも設定します。クライアントシークレットや秘密鍵のパスのようなセンシティブな値は、READMEでもMCP設定のenvフィールド経由で渡すよう指定されています。
ステップ3: Claude側にMCPサーバーとして登録する
Claude Desktopの設定ファイルに以下を追加します。パスはOSによって異なり、macOSは~/Library/Application Support/Claude/claude_desktop_config.json、Windowsは%APPDATA%\Claude\claude_desktop_config.jsonです。
{
"mcpServers": {
"nworks": {
"command": "nworks",
"args": ["mcp"]
}
}
}MCPサーバーの追加自体の基本操作はClaude Code MCP設定ガイドで解説している手順と同じです。設定後は「今週のカレンダーの予定を一覧して」「未読メールの要点をまとめて」のように話しかければ、対応するツールが呼び出されます。
メッセージ送信とBot APIの使い分け
LINE WORKSでの自動メッセージ送信には2つの経路があります。ユーザーOAuthによる送信と、Service Accountを使ったBot経由の送信です。
| 用途 | User OAuth | Service Account(Bot) |
|---|---|---|
| 自分名義でのメッセージ・タスク操作 | User OAuth◎ 個人の権限範囲で完結する | Service Account(Bot)対象外 |
| チャネル一斉通知・Bot運用 | User OAuth△ 個人アカウントでは不向き | Service Account(Bot)◎ Bot IDを使った運用に適する |
| 承認プロセスの重さ | User OAuth軽い(スコープ指定のみ) | Service Account(Bot)重い(サービスアカウント発行が必要) |
日常的な個人利用(自分のカレンダー確認やメール送信)にはUser OAuthで十分ですが、チーム通知や定型メッセージの自動配信を組む場合はService AccountによるBot運用を検討します。
よくあるつまずき
- リダイレクトURLの不一致: Developer Consoleに登録したリダイレクトURLとCLIが待ち受けるポート(
localhost:9876)が一致しないと、認可コードを受け取れず認証が失敗します - スコープの過不足:
taskスコープを使う場合はuser.readが併せて必要です。個別のツールだけを有効化しようとしてスコープを絞りすぎると、想定した機能が動かないことがあります - Access Tokenの失効: Access Tokenの有効期間は最短1時間です。長時間のセッションでは自動更新の仕組み(Refresh Token)が効いているか確認します
- コミュニティ製ツールである点の周知不足: nworksはLINE WORKS社のサポート対象外です。社内で導入する場合は、開発元がLINE WORKS社ではない旨と、障害時にベンダーサポートを受けられない点をチーム内で共有しておくと運用トラブルを避けやすくなります
よくある質問
Slack連携と同じ感覚で使えるか
SlackはClaude Connectorsのプレビルド統合として提供されますが、LINE WORKSはコミュニティ製のMCPサーバー経由という点が異なります。導入の手軽さではSlackに軍配が上がりますが、機能面ではnworksもメッセージ・カレンダー・ドライブ・メール・タスク・掲示板と幅広くカバーしています。CoworkでのSlack連携ワークフローの考え方はCoworkのSlack連携ワークフローで解説しています。
Bot APIのメッセージ送信に頻度制限はあるか
LINE WORKSのAPI全般に呼び出し頻度の制限があります。通知の一斉送信のような使い方をする場合は、短時間に大量のリクエストを送らず、対象ユーザーごとに間隔を空けて送信する設計にしておくと制限に引っかかりにくくなります。大規模な配信を組む前に、少人数のテストグループで挙動を確認するのが安全です。
LINE(個人向け)とLINE WORKSは同じAPIか
別物です。LINE WORKSは法人向けのビジネスチャット・グループウェアで、個人向けLINEとはAPI体系もDeveloper Consoleも独立しています。個人向けLINEにはLINE Messaging APIという別のAPI体系があり、Bot開発の考え方は似ていても認証方式もエンドポイントも共通していません。本稿で扱っているのはLINE WORKS側のAPIです。
複数のLINE WORKSアカウントを1つのClaudeから扱えるか
nworksの認証情報はアプリ単位です。複数のLINE WORKSテナントを扱う場合は、テナントごとに別々のクライアントID・シークレットでログインし、MCPサーバーの設定を分ける構成になります。
Service Accountの秘密鍵はどう保管すればよいか
JWT署名に使う秘密鍵はローカルのファイルパスで指定する形が一般的です。NWORKS_PRIVATE_KEY_PATHのように環境変数でパスだけを渡し、鍵の中身自体をリポジトリやチャット履歴に含めないのが基本の運用です。チームで共有する場合は、秘密情報を管理するボールト(HashiCorp Vault等)からその都度読み出す構成にすると漏えいリスクを抑えられます。
まとめ
Claude LINE WORKS連携は、純正のコネクタこそ存在しないものの、LINE WORKSのAPIとコミュニティ製MCPサーバーnworksを組み合わせれば実現できます。ポイントは3つです。①Developer Consoleでアプリを登録しリダイレクトURLを正しく設定する、②用途に応じて必要最小限のスコープでログインする、③個人利用はUser OAuth、Bot運用はService Account(JWT)と使い分ける。コミュニティ製ツールである点を踏まえ、センシティブな認証情報の扱いだけは慎重に運用してください。