nworks_board_create
Writes a post to a board, with comments and notifications switchable per post.
Operate LINE WORKS from an agent — bot messages, calendar, mail, drive, tasks and boards.
LABSCO SUMMARY
Two authentication paths sit side by side and it is worth knowing which one a task needs: the bot posts messages through a Service Account and a signed JWT, while calendar, mail, drive, tasks and boards go through a browser OAuth login you complete once. The diagnostic tools exist because of that split — they report which half is configured and whether the token is still good, before a call fails for a reason nobody can see.
An unofficial client for LINE WORKS (NAVER WORKS). Bot messaging runs on a Service Account, while calendar, mail, drive, tasks and boards run on a user OAuth login — one login covers all of them.
A LINE WORKS Developer Console app — Client ID and Client Secret, a registered redirect URL, and admin approval for bot messaging. NWORKS_CLIENT_ID and NWORKS_CLIENT_SECRET are both required — set them in the environment, or let nworks login --user ask for them once. Bot messaging additionally needs NWORKS_SERVICE_ACCOUNT, NWORKS_BOT_ID and NWORKS_PRIVATE_KEY_PATH pointing at the key that signs the JWT. Everything else runs on a user OAuth login you start from inside the conversation — take the default scope so one login covers all of it. Installed with npx nworks or globally from npm, and it doubles as a CLI. Unofficial and community-maintained, with no affiliation to LINE WORKS.
One command plus credentials — npm install -g nworks, then supply credentials
USE CASES
List the calendar across the window you care about, then create or move whatever needs it.
Send the message to the channel as the bot — Service Account only, no user login involved.
Read the organisation directory for the userId, then message that person directly.
List the unread mail, read the ones that matter, and answer them.
List tasks by status, add what came out of the conversation, and close what is finished.
Find the board, check what is already on it, then write the post with notifications on.
List the folder, then download the file — to an output directory if it is over 5MB.
Check who you are signed in as, then run the diagnostic across credentials, token, key and API.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
nworks_board_createWrites a post to a board, with comments and notifications switchable per post.
nworks_board_listLists the NAVER WORKS boards available, page by page.
nworks_board_postsLists the posts on one board, addressed by boardId.
nworks_board_readReturns the full content of one post, by boardId and postId.
nworks_calendar_createCreates a calendar event with attendees, location, time zone and an optional notification.
nworks_calendar_deleteDeletes an event by eventId, optionally notifying the attendees.
nworks_calendar_listReturns a user's calendar events for a date range; requires a User OAuth login with the calendar.read scope.
nworks_calendar_updateUpdates an existing event by eventId, which nworks_calendar_list returns.
nworks_directory_membersLists the organisation's members, and is where the recipient userId for a message comes from.
nworks_doctorChecks the NAVER WORKS connection end to end: credentials, tokens, private key and API reachability.
nworks_drive_downloadDownloads a Drive file, returning its content directly or writing it to outputDir, which files over 5MB require.
nworks_drive_listLists files and folders in NAVER WORKS Drive; requires a User OAuth login with the file.read scope.
nworks_drive_uploadUploads a file to Drive from base64 content plus a file name, or from a local file path.
nworks_login_userStarts the User OAuth login and returns a URL to open; the default scope covers calendar, mail, tasks, drive and boards at once.
nworks_logoutDeletes the stored NAVER WORKS credentials and tokens.
nworks_mail_listLists received mail page by page, optionally only what is unread.
nworks_mail_readReturns one message in full, body and attachments included, by mailId.
nworks_mail_sendSends NAVER WORKS mail; delivery is asynchronous and a successful hand-off returns 202.
nworks_message_membersReturns the member list of a channel, using Service Account authentication.
nworks_message_sendSends a NAVER WORKS message from the bot to a user or a channel, using Service Account authentication.
nworks_setupStores the NAVER WORKS authentication settings the other tools use: clientId, and optionally serviceAccount, botId and domainId.
nworks_task_createCreates a TODO item with a title, content, due date and assignees, defaulting to the caller.
nworks_task_deleteDeletes a TODO item by taskId.
nworks_task_listLists TODO items, filterable by category and status.
nworks_task_updateEdits a TODO item or marks it complete, by taskId.
nworks_whoamiReports which NAVER WORKS account is authenticated and whether its token is still valid.
BEFORE YOU INSTALL
26 tools when we connected. The documentation lists 36 tools. Its suggested login --scope omits contact, hiding the six contact tools; nworks login --user --preset all includes them. The shared-drive tools and nworks_mail_download_attachment may be missing on older builds.
All 4 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 26 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npm install -g nworks{
"mcpServers": {
"nworks": {
"command": "nworks",
"args": [
"mcp"
]
}
}
}Bot messaging also needs NWORKS_SERVICE_ACCOUNT and NWORKS_BOT_ID in your environment; calendar, mail, drive, tasks and boards do not. Instead of putting the Client ID in the block, you can set it from the conversation with the nworks_setup tool.
{
"mcpServers": {
"nworks": {
"command": "npx",
"args": [
"-y",
"nworks",
"mcp"
],
"env": {
"NWORKS_CLIENT_ID": "<YOUR_NWORKS_CLIENT_ID>",
"NWORKS_CLIENT_SECRET": "<YOUR_NWORKS_CLIENT_SECRET>",
"NWORKS_PRIVATE_KEY_PATH": "<YOUR_NWORKS_PRIVATE_KEY_PATH>"
}
}
}
}Bot messaging also needs NWORKS_SERVICE_ACCOUNT and NWORKS_BOT_ID in your environment; calendar, mail, drive, tasks and boards do not. Instead of putting the Client ID in the block, you can set it from the conversation with the nworks_setup tool.