Skip to main content
Glama

nworks

npm version license npm downloads nworks MCP server

awesome-mcp-servers」で紹介されています

🇺🇸 English | 🇰🇷 한국어 | 🇯🇵 日本語

LINE WORKS(NAVER WORKS)向けのフル機能MCPサーバーです。CLI + MCPサーバー — メッセージ、カレンダー、ドライブ、メール、タスク、ボードをカバーする36のツールを提供します。

nworksは、外部のAIエージェント(Claude、Cursor)やターミナルからLINE WORKSを操作できるようにします。LINE WORKSの製品内AI(AiStudio、WORKS AI)を補完するものであり、置き換えるものではありません。非公式でコミュニティ保守のプロジェクトであり、LINE WORKS / NAVER WORKSとは提携していません。

クイックスタート

npm install -g nworks
nworks login --user
nworks calendar list

初めてですか? まずDeveloper Consoleアプリ(クライアントID/シークレット)、登録済みのリダイレクトURL、そしてボットメッセージング用の管理者承認が必要です。オンボーディング&管理者設定ガイドを参照してください。

AIエージェントは実際にこのように使います

User: Show me today's schedule

Claude → nworks_calendar_list
  → 3 events: Standup (10:00), Lunch meeting (12:00), Code review (15:00)

User: Send a deploy complete message to the team channel

Claude → nworks_message_send
  { "channel": "C001", "text": "v1.2.0 deploy complete" }
  → Message sent

User: Check my unread emails and summarize them

Claude → nworks_mail_list (unread)
  → 3 unread emails
Claude → nworks_mail_read (each)
  → "3 unread: 1) Deploy approval from CTO, 2) Meeting invite for Friday, 3) Weekly report reminder"

Related MCP server: synology-office-mcp

インストール

npx nworks             # Run directly
npm install -g nworks  # Global install

ログイン

# User OAuth (calendar, drive, mail, tasks, boards)
nworks login --user --scope "calendar calendar.read file file.read mail mail.read task task.read board board.read user.read"

# Bot messaging (Service Account)
nworks login

# Check auth status
nworks whoami

# Logout
nworks logout

nworks login --user はCLIENT_ID + CLIENT_SECRETのみが必要です。環境変数や既存の設定で設定済みの値は再度尋ねられません。

Developer Console: User OAuthを使用するには、Developer Consolehttp://localhost:9876/callbackをリダイレクトURLとして登録してください。


AIエージェント連携(MCPサーバー)

Claude Desktop、Cursor、その他のMCP互換クライアントで動作します。

セットアップ

まずログインします:

nworks login --user --scope "calendar calendar.read file file.read mail mail.read task task.read board board.read user.read"

次にMCP設定(~/.config/claude/claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "nworks": {
      "command": "nworks",
      "args": ["mcp"]
    }
  }
}

1回のログインで36のツールすべてが有効になります。追加の環境変数設定は不要です。

CLIログインなしでも、AIエージェントはnworks_setupnworks_login_userを呼び出してブラウザ経由で直接認証できます。クライアントシークレットと秘密鍵のパスは、MCP設定のenvフィールドまたはシステム環境変数で事前に設定しておく必要があります。

MCPツール(32)

ツール

説明

認証

セットアップ / 認証

nworks_setup

API認証情報(クライアントIDなど)を設定します。クライアントシークレットは環境変数で設定します

nworks_login_user

User OAuthブラウザログイン(すべてのスコープを含む)

nworks_logout

認証情報とトークンを削除します

nworks_whoami

認証状態を確認します

nworks_doctor

接続を診断します(認証、トークン、APIの健全性)

メッセージ

nworks_message_send

ユーザー/チャンネルにメッセージを送信します

Service Account

nworks_message_members

チャンネルメンバーを一覧表示します

Service Account

nworks_directory_members

組織メンバーを一覧表示します

Service Account

カレンダー

nworks_calendar_list

カレンダーイベントを一覧表示します

User OAuth (calendar.read)

nworks_calendar_create

カレンダーイベントを作成します

User OAuth (calendar + calendar.read)

nworks_calendar_update

カレンダーイベントを更新します

User OAuth (calendar + calendar.read)

nworks_calendar_delete

カレンダーイベントを削除します

User OAuth (calendar + calendar.read)

ドライブ

nworks_drive_list

ドライブのファイル/フォルダを一覧表示します

User OAuth (file.read)

nworks_drive_upload

ドライブにファイルをアップロードします

User OAuth (file)

nworks_drive_download

ファイルをダウンロードします(5MB超の場合はローカルに保存)

User OAuth (file.read)

nworks_sharedrive_list

共有ドライブを一覧表示します

User OAuth (file.read)

nworks_sharedrive_files

共有ドライブ内のファイル/フォルダを一覧表示します

User OAuth (file.read)

nworks_sharedrive_download

共有ドライブのファイルをダウンロードします(5MB超の場合はローカルに保存)

User OAuth (file.read)

メール

nworks_mail_send

メールを送信します

User OAuth (mail)

nworks_mail_list

メールボックスを一覧表示します

User OAuth (mail.read)

nworks_mail_read

メールの詳細を読み取ります

User OAuth (mail.read)

nworks_mail_download_attachment

メールの添付ファイルをダウンロードします(5MB超の場合はローカルに保存)

User OAuth (mail.read)

タスク

nworks_task_list

タスクを一覧表示します

User OAuth (task.read)

nworks_task_create

タスクを作成します

User OAuth (task + user.read)

nworks_task_update

タスクを更新/完了します

User OAuth (task + user.read)

nworks_task_delete

タスクを削除します

User OAuth (task + user.read)

ボード

nworks_board_list

ボードを一覧表示します

User OAuth (board.read)

nworks_board_posts

ボードの投稿を一覧表示します

User OAuth (board.read)

nworks_board_read

ボードの投稿詳細を読み取ります

User OAuth (board.read)

nworks_board_create

ボードの投稿を作成します

User OAuth (board)

連絡先

nworks_contact_list

連絡先を一覧表示します

User OAuth (contact.read)

nworks_contact_get

連絡先の詳細を取得します

User OAuth (contact.read)

nworks_contact_create

連絡先を作成します

User OAuth (contact)

nworks_contact_update

連絡先を更新します

User OAuth (contact)

nworks_contact_delete

連絡先を削除します

User OAuth (contact)

nworks_contact_list_tags

連絡先タグを一覧表示します

User OAuth (contact.read)

AIエージェントの使用例

User: Schedule a meeting tomorrow at 2pm and notify the team channel

Claude → nworks_calendar_create
  { "summary": "Meeting", "start": "2026-03-15T14:00:00", "end": "2026-03-15T15:00:00" }
  → Event created

Claude → nworks_message_send
  { "channel": "C001", "text": "Meeting scheduled tomorrow at 14:00" }
  → Message sent

User: Check my unread emails and summarize them

Claude → nworks_mail_list (unread)
  → 3 unread emails
Claude → nworks_mail_read (each)
  → "3 unread: 1) Deploy approval from CTO, 2) Meeting invite for Friday, 3) Weekly report reminder"

CLIの使用法

すべてのコマンドはパイプ/スクリプト/エージェント解析用に--jsonをサポートしています。message sendmail senddrive uploadは送信せずにテストするための--dry-runをサポートしています。

メッセージ(Bot API)

# Send text to user
nworks message send --to <userId> --text "Hello"

# Send text to channel
nworks message send --channel <channelId> --text "Announcement"

# Button message
nworks message send --to <userId> --type button --text "PR review request" \
  --actions '[{"type":"message","label":"Approve","postback":"approve"}]'

# List message
nworks message send --to <userId> --type list --text "Today's tasks" \
  --elements '[{"title":"Code review","subtitle":"PR #382"}]'

# List channel members
nworks message members --channel <channelId>

ディレクトリ

nworks directory members   # List organization members

カレンダー(User OAuth)

# List today's events
nworks calendar list

# Specify date range
nworks calendar list --from "2026-03-14T00:00:00+09:00" --until "2026-03-14T23:59:59+09:00"

# Create event
nworks calendar create --title "Meeting" --start "2026-03-14T14:00+09:00" --end "2026-03-14T15:00+09:00"

# With location/description
nworks calendar create --title "Lunch" --start "2026-03-14T12:00+09:00" --end "2026-03-14T13:00+09:00" \
  --location "Conference Room" --description "Quarterly review"

# With attendees + notification
nworks calendar create --title "Team meeting" --start "2026-03-14T10:00+09:00" --end "2026-03-14T11:00+09:00" \
  --attendees "user1@example.com,user2@example.com" --notify

# Update event
nworks calendar update --id <eventId> --title "Updated title"

# Delete event
nworks calendar delete --id <eventId>

ドライブ(User OAuth)

# List files/folders
nworks drive list

# Upload file
nworks drive upload --file ./report.pdf

# Upload to specific folder
nworks drive upload --file ./report.pdf --folder <folderId>

# Download file
nworks drive download --file-id <fileId>

# Specify output path/name
nworks drive download --file-id <fileId> --out ./downloads --name report.pdf

# List shared drives
nworks drive sharedrive-list

# List files in a shared drive (root)
nworks drive sharedrive-files --sharedrive <sharedriveId>

# List files in a shared drive folder
nworks drive sharedrive-files --sharedrive <sharedriveId> --folder <fileId>

# Download a shared drive file
nworks drive sharedrive-download --sharedrive <sharedriveId> --file-id <fileId>

メール(User OAuth)

# Send mail
nworks mail send --to "user@example.com" --subject "Subject" --body "Body"

# With CC/BCC
nworks mail send --to "user@example.com" --cc "cc@example.com" --subject "Subject" --body "Body"

# List inbox
nworks mail list

# Unread only
nworks mail list --unread

# Read mail detail
nworks mail read --id <mailId>

# Download a mail attachment
nworks mail download-attachment --id <mailId> --attachment-id <attachmentId>

# Specify output path/name
nworks mail download-attachment --id <mailId> --attachment-id <attachmentId> --out ./downloads --name invoice.pdf

タスク(User OAuth)

# List tasks
nworks task list

# Incomplete only
nworks task list --status TODO

# Create task
nworks task create --title "Code review" --body "Review PR #382"

# With due date
nworks task create --title "Deploy" --due 2026-03-20

# Mark as done
nworks task update --id <taskId> --status done

# Delete task
nworks task delete --id <taskId>

ボード(User OAuth)

# List boards
nworks board list

# List posts
nworks board posts --board <boardId>

# Read post detail
nworks board read --board <boardId> --post <postId>

# Create post
nworks board create --board <boardId> --title "Announcement" --body "Content"

# With notification + disable comments
nworks board create --board <boardId> --title "Notice" --body "Content" --notify --no-comment

連絡先(User OAuth)

# List contacts
nworks contact list

# Filter by tag
nworks contact list --tag <contactTagId>

# Get contact detail
nworks contact get --id <contactId>

# Create contact
nworks contact create --payload '{"contactName":{"lastName":"Kim","firstName":"Chulsoo"},"emails":[{"email":"chulsoo@example.com","primary":true}],"permission":{"accessibleRange":"MEMBER","isCoEditing":false,"accessibleMembers":[{"id":"<yourUserId>","type":"USER"}]}}'

# Update contact
nworks contact update --id <contactId> --payload '{"telephones":[{"type":"CELLPHONE","telephone":"010-1234-5678","primary":true}]}'

# Delete contact
nworks contact delete --id <contactId>

# List contact tags
nworks contact list-tags

contact createにはcontactNamepermissionが必要です。permission.accessibleMembersには少なくとも1人のメンバー(通常は自分自身)を指定する必要があります。自分のユーザーIDはnworks whoamiで取得できます。

CI/CDデプロイ通知

# Notify team channel after deployment in GitHub Actions
nworks message send --channel $CHANNEL_ID --text "v${VERSION} deployed"

チーム自動化スクリプト

# Send daily standup reminder to all members
for userId in $(nworks directory members --json | jq -r '.users[].userId'); do
  nworks message send --to "$userId" --text "Standup at 10:00 today"
done

OAuthスコープ

必要なスコープをLINE WORKS Developer Consoleで追加してください。

スコープ

目的

認証

必要な操作

bot

ボットのメッセージ送信

サービスアカウント

message send

bot.read

ボットのチャンネル/メンバー読み取り

サービスアカウント

message members

calendar

カレンダーの書き込み

ユーザーOAuth

calendar create/update/delete(calendar.read が必要)

calendar.read

カレンダーの読み取り

ユーザーOAuth

calendar list、カレンダー書き込みにも必要

file

ドライブの読み取り/書き込み

ユーザーOAuth

drive list/upload/download

file.read

ドライブの読み取り専用

ユーザーOAuth

drive list/download

mail

メールの読み取り/書き込み

ユーザーOAuth

mail send/list/read

mail.read

メールの読み取り専用

ユーザーOAuth

mail list/read

task

タスクの読み取り/書き込み

ユーザーOAuth

task create/update/delete(user.read が必要)

task.read

タスクの読み取り専用

ユーザーOAuth

task list

user.read

ユーザー情報の読み取り

サービスアカウント / ユーザーOAuth

directory members、タスク書き込みにも必要

board

ボードの読み取り/書き込み

ユーザーOAuth

board list/posts/read/create

board.read

ボードの読み取り専用

ユーザーOAuth

board list/posts/read

contact

連絡先の読み取り/書き込み

ユーザーOAuth

contact create/update/delete(contact.read が必要)

contact.read

連絡先の読み取り専用

ユーザーOAuth

contact list/get/list-tags

プリセットはスコープを列挙するより簡単です:

nworks login --user --preset all       # default: full functionality in one login
nworks login --user --preset readonly  # read-only scopes

defaultall のエイリアスです。メッセージ送信はサービスアカウント(bot)を使用するため、プリセットに関係なく機能します。 再ログインによってアクセスが狭められることはありません。新しく要求されたスコープは既存のトークンにマージされるため、プリセットを切り替えても機能が追加されるだけです。手動で選択する場合は --scope "calendar calendar.read" を使用します。


環境変数

環境変数を設定すると、nworks login を使用せずに nworks を利用できます(CI/エージェントに便利です)。

# Required
NWORKS_CLIENT_ID=
NWORKS_CLIENT_SECRET=

# Bot messaging only (not needed for User OAuth)
NWORKS_SERVICE_ACCOUNT=
NWORKS_PRIVATE_KEY_PATH=
NWORKS_BOT_ID=

# Optional
NWORKS_DOMAIN_ID=
NWORKS_SCOPE=              # default: bot bot.read user.read
NWORKS_VERBOSE=1           # debug logging

環境変数を使ったMCPサーバー

機密情報(Client Secret、Private Key のパス)はMCP設定の env フィールドで設定する必要があります。Client ID などの非機密情報は、AIエージェントが nworks_setup ツールを通じて設定できます。

{
  "mcpServers": {
    "nworks": {
      "command": "npx",
      "args": ["-y", "nworks", "mcp"],
      "env": {
        "NWORKS_CLIENT_SECRET": "<Client Secret>",
        "NWORKS_PRIVATE_KEY_PATH": "<Private Key file absolute path (for Service Account)>"
      }
    }
  }
}

ライセンス

Apache-2.0

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
28dResponse time
6dRelease cycle
4Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    AI-powered MCP server for managing LINE Official Accounts. Send broadcasts, push messages, check analytics, manage rich menus — all through natural language via Claude, ChatGPT, or Cursor. 10 tools included: * Account info, friend count, message quota * Broadcast, push message, multicast * Delivery stats, user profiles, follower list * Rich menu management Supports 95M+ LINE users across Jap
    10
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Self-hosted MCP server that exposes Synology Drive, Spreadsheet, MailPlus, and Calendar as structured tools for AI agents, enabling file, spreadsheet, email, and calendar management via natural language.
    39
    12
    9
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that integrates the LINE Messaging API to enable AI agents to send messages and manage LINE Official Accounts.
    12
    1,252
    770
    Apache 2.0
  • F
    license
    C
    quality
    C
    maintenance
    MCP server that enables AI agents to control all DingTalk features (messaging, calendar, tasks, approvals, etc.) via natural language using the DingTalk Workspace CLI.
    83

View all related MCP servers

Related MCP Connectors

  • Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yjcho9317/nworks'

If you have feedback or need assistance with the MCP directory API, please join our Discord server