Chatwork MCP Server について
Chatwork MCP Server は、AI から Chatwork を操作するための MCP サーバーです。AI を通じてチャット、メッセージ、タスクを管理したい利用者を対象とし、Chatwork API v2 を基にした 31 個のツールを提供します。
主な機能
- 01Chatwork API v2 を基にした 31 個のツール
- 02チャット、メンバー、メッセージ、タスク、ファイルを網羅
- 03招待リンクとコンタクト承認依頼の管理
- 04stdio と Streamable HTTP の両方に対応
活用シーン
- 01AI クライアントから Chatwork のメッセージを投稿・取得・編集
- 02チャットのタスク状態を一括で確認・更新
- 03チャットのメンバーと招待リンクの管理
MCP 対応
本プロジェクトは、Chatwork の操作を MCP クライアント向けのツールとして公開する MCP サーバーです。HTTP モードでは、API トークンを Authorization リクエストヘッダーで渡します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
31掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
プロジェクトの README よりChatwork MCP Server
Chatwork を AI から操作するための MCP (Model Context Protocol) サーバーです。
できること
Chatwork API v2 の操作を 31 個のツールとして公開しています。
| カテゴリ | ツール |
|---|---|
| 自分の情報 | get_me / get_my_status / list_my_tasks / list_contacts |
| チャット | list_rooms / create_room / get_room / update_room / delete_or_leave_room |
| メンバー | list_room_members / update_room_members |
| メッセージ | list_room_messages / post_room_message / read_room_messages / unread_room_message / get_room_message / update_room_message / delete_room_message |
| タスク | list_room_tasks / create_room_task / get_room_task / update_room_task_status |
| ファイル | list_room_files / get_room_file |
| 招待リンク | get_room_link / create_room_link / update_room_link / delete_room_link |
| コンタクト承認依頼 | list_incoming_requests / accept_incoming_request / reject_incoming_request |
前提
- Node.js 22(CI が想定しているバージョン)
- Chatwork の API トークン(発行方法は Chatwork API のドキュメント を参照)
セットアップ
Claude Desktop
- Claude Desktop を起動
- メニューから「設定」をクリック
- 「開発者」タブをクリック
- 「構成を編集」をクリック
- ファイルビューワーで
claude_desktop_config.jsonが示されるので、好みのエディタで開く - 以下の設定を入力する
{
"mcpServers": {
"chatwork": {
"command": "npx",
"args": ["@chatwork/mcp-server"],
"env": {
"CHATWORK_API_TOKEN": "YOUR_CHATWORK_API_TOKEN"
}
}
}
}
Claude Code
以下のコマンドを実行してください。
claude mcp add chatwork -e CHATWORK_API_TOKEN=YOUR_CHATWORK_API_TOKEN -- npx -y @chatwork/mcp-server
トランスポート
既定は stdio です。上記の設定例はいずれも stdio で動作するため、変更は不要です。
Streamable HTTP
サーバを 1 箇所に立てて複数の利用者から使いたい場合は、Streamable HTTP で起動できます。
npx @chatwork/mcp-server --transport http --port 3000
stdio と違い、クライアントがサーバを起動することはありません。接続する前に自分で起動しておく必要があります。
| フラグ | 環境変数 | 既定値 | 備考 |
|---|---|---|---|
--transport | MCP_TRANSPORT | stdio | stdio または http |
--port | PORT | 3000 | |
--host | HOST | 127.0.0.1 | |
--allowed-hosts | MCP_ALLOWED_HOSTS | localhost,127.0.0.1,[::1] | Host ヘッダの許可リスト。既定はループバックのみ |
--allowed-hosts はホスト名だけを照合します。ポート番号は指定しても無視され、
起動時に stderr へ警告を出します(localhost:3000 は localhost として扱われます)。
IPv6 アドレスは角括弧付きで指定してください([::1])。
エンドポイントは POST /mcp です。API トークンは環境変数ではなくリクエストヘッダで渡します。
Authorization: Bearer YOUR_CHATWORK_API_TOKEN
ヘッダが無い場合は 401 を返します。stdio モードと違い、CHATWORK_API_TOKEN
環境変数へのフォールバックは行いません(サーバの環境変数のアカウントとして
第三者に操作されるのを防ぐため)。
開発
git clone https://github.com/chatwork/chatwork-mcp-server.git
cd chatwork-mcp-server
npm ci
| コマンド | 内容 |
|---|---|
npm run build | esbuild で dist/index.js にバンドルする |
npm run dev | ビルドを watch モードで実行する |
npm test | Vitest でテストを実行する(.env.test が必要) |
npm run type-check | TypeScript の型チェック |
npm run lint | ESLint + Prettier のチェック |
Streamable HTTPでの起動する
npm run start:http # 127.0.0.1:3000 で待ち受ける
npm run start:http -- --port 3001 # 追加のフラグは -- の後ろに書く
MCP Inspectorで動作確認する
inspector.example.json をコピーしてトークンを書き込み、npm run inspect で起動します。
cp inspector.example.json inspector.json # Authorization の値を自分のトークンに書き換える
npm run inspect
サーバは別のターミナルで起動しておく必要があります。--port を変えた場合は
inspector.json の url も合わせて変更してください。
Inspector の設定でヘッダを渡さずに接続すると、401 に付く WWW-Authenticate: Bearer を
OAuth のチャレンジと解釈して OAuth フローに入り、接続に失敗します。
このサーバは OAuth に対応していないため、必ずヘッダで渡してください。
CLI モードから叩く場合は次のようにします。
npx @modelcontextprotocol/inspector --cli --config ./inspector.json \
--server chatwork-http --method tools/list
コントリビュート
今後、MCP に対応した AI ツールが増える可能性があります。使い方を追加してほしいツールがあった場合、あなたのコントリビュートをお待ちしています!
バグ報告・要望は Issues へお願いします。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。