@chatwork/mcp-server
v1.0.0
Published
MCP (Model Context Protocol) server for operating Chatwork from AI
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 3000stdio と違い、クライアントがサーバを起動することはありません。接続する前に自分で起動しておく必要があります。
| フラグ | 環境変数 | 既定値 | 備考 |
| ----------------- | ------------------- | --------------------------- | ------------------------------------------------- |
| --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
