nworks
nworks
Vorgestellt in awesome-mcp-servers
Voll ausgestatteter MCP-Server für LINE WORKS (NAVER WORKS). CLI + MCP-Server — 36 Tools für Nachrichten, Kalender, Drive, Mail, Aufgaben und Boards.
nworks ermöglicht es externen KI-Agenten (Claude, Cursor) und deinem Terminal, LINE WORKS von außen zu bedienen — ergänzend zur integrierten KI von LINE WORKS (AiStudio, WORKS AI), nicht als Ersatz. Inoffiziell und von der Community gepflegt; nicht mit LINE WORKS / NAVER WORKS verbunden.
Schnellstart
npm install -g nworks
nworks login --user
nworks calendar listZum ersten Mal? Du benötigst zunächst eine App in der Developer Console (Client-ID/Client-Secret), eine registrierte Redirect-URL und — für Bot-Nachrichten — die Genehmigung durch den Administrator. Siehe Onboarding- & Admin-Setup-Anleitung.
So nutzen es KI-Agenten tatsächlich
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
Installation
npx nworks # Run directly
npm install -g nworks # Global installAnmeldung
# 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 --usererfordert nur CLIENT_ID + CLIENT_SECRET. Werte, die bereits über Umgebungsvariablen oder die vorhandene Konfiguration gesetzt sind, werden nicht erneut abgefragt.
Developer Console: Um User-OAuth zu verwenden, registriere
http://localhost:9876/callbackals Redirect-URL in der Developer Console.
KI-Agenten-Integration (MCP-Server)
Funktioniert mit Claude Desktop, Cursor und anderen MCP-kompatiblen Clients.
Einrichtung
Zuerst anmelden:
nworks login --user --scope "calendar calendar.read file file.read mail mail.read task task.read board board.read user.read"Dann zur MCP-Konfiguration hinzufügen (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"nworks": {
"command": "nworks",
"args": ["mcp"]
}
}
}Eine Anmeldung aktiviert alle 36 Tools. Keine zusätzliche Umgebungskonfiguration erforderlich.
Ohne CLI-Anmeldung kann ein KI-Agent
nworks_setup→nworks_login_useraufrufen, um sich direkt über den Browser zu authentifizieren. Client-Secret und Pfad zum privaten Schlüssel müssen über dasenv-Feld der MCP-Konfiguration oder über Systemumgebungsvariablen vorkonfiguriert sein.
MCP-Tools (36)
Tool | Beschreibung | Authentifizierung |
Setup / Auth | ||
| API-Anmeldedaten konfigurieren (Client-ID usw.). Client-Secret wird über env gesetzt | — |
| User-OAuth-Browseranmeldung (alle Scopes enthalten) | — |
| Anmeldedaten und Tokens löschen | — |
| Authentifizierungsstatus prüfen | — |
| Verbindung diagnostizieren (Auth, Tokens, API-Status) | — |
Nachrichten | ||
| Nachricht an Benutzer/Kanal senden | Servicekonto |
| Kanalmitglieder auflisten | Servicekonto |
| Organisationsmitglieder auflisten | Servicekonto |
Kalender | ||
| Kalendertermine auflisten | User-OAuth (calendar.read) |
| Kalendertermin erstellen | User-OAuth (calendar + calendar.read) |
| Kalendertermin aktualisieren | User-OAuth (calendar + calendar.read) |
| Kalendertermin löschen | User-OAuth (calendar + calendar.read) |
Drive | ||
| Drive-Dateien/Ordner auflisten | User-OAuth (file.read) |
| Datei auf Drive hochladen | User-OAuth (file) |
| Datei herunterladen (lokal speichern, wenn >5MB) | User-OAuth (file.read) |
| Freigegebene Laufwerke auflisten | User-OAuth (file.read) |
| Dateien/Ordner in einem freigegebenen Laufwerk auflisten | User-OAuth (file.read) |
| Datei aus einem freigegebenen Laufwerk herunterladen (lokal speichern, wenn >5MB) | User-OAuth (file.read) |
| E-Mail senden | User-OAuth (mail) |
| Postfach auflisten | User-OAuth (mail.read) |
| E-Mail-Details lesen | User-OAuth (mail.read) |
| E-Mail-Anhang herunterladen (lokal speichern, wenn >5MB) | User-OAuth (mail.read) |
Aufgaben | ||
| Aufgaben auflisten | User-OAuth (task.read) |
| Aufgabe erstellen | User-OAuth (task + user.read) |
| Aufgabe aktualisieren/abschließen | User-OAuth (task + user.read) |
| Aufgabe löschen | User-OAuth (task + user.read) |
Boards | ||
| Boards auflisten | User-OAuth (board.read) |
| Board-Beiträge auflisten | User-OAuth (board.read) |
| Board-Beitrag im Detail lesen | User-OAuth (board.read) |
| Board-Beitrag erstellen | User-OAuth (board) |
Kontakte | ||
| Kontakte auflisten | User-OAuth (contact.read) |
| Kontaktdetails abrufen | User-OAuth (contact.read) |
| Kontakt erstellen | User-OAuth (contact) |
| Kontakt aktualisieren | User-OAuth (contact) |
| Kontakt löschen | User-OAuth (contact) |
| Kontakt-Tags auflisten | User-OAuth (contact.read) |
Beispiel für KI-Agenten-Nutzung
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-Nutzung
Alle Befehle unterstützen
--jsonfür Pipe-/Skript-/Agenten-Analyse.message send,mail sendunddrive uploadunterstützen--dry-runzum Testen ohne tatsächliches Senden.
Nachrichten (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>Verzeichnis
nworks directory members # List organization membersKalender (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>Drive (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>Mail (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.pdfAufgaben (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>Boards (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-commentKontakte (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 createerfordertcontactNameundpermission;permission.accessibleMembersmuss mindestens ein Mitglied auflisten (normalerweise dich selbst). Deine eigene Benutzer-ID erhältst du übernworks whoami.
CI/CD-Bereitstellungsbenachrichtigung
# Notify team channel after deployment in GitHub Actions
nworks message send --channel $CHANNEL_ID --text "v${VERSION} deployed"Team-Automatisierungsskript
# 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"
doneOAuth-Scopes
Füge die erforderlichen Scopes in der LINE WORKS Developer Console hinzu.
Scope | Zweck | Authentifizierung | Erforderlich für |
| Bot-Nachrichtenversand | Dienstkonto |
|
| Bot-Kanäle und Mitglieder lesen | Dienstkonto |
|
| Kalender schreiben | Benutzer-OAuth |
|
| Kalender lesen | Benutzer-OAuth |
|
| Drive lesen/schreiben | Benutzer-OAuth |
|
| Drive nur lesen | Benutzer-OAuth |
|
| E-Mails lesen/schreiben | Benutzer-OAuth |
|
| E-Mails nur lesen | Benutzer-OAuth |
|
| Aufgaben lesen/schreiben | Benutzer-OAuth |
|
| Aufgaben nur lesen | Benutzer-OAuth |
|
| Benutzerinformationen lesen | Dienstkonto / Benutzer-OAuth |
|
| Boards lesen/schreiben | Benutzer-OAuth |
|
| Boards nur lesen | Benutzer-OAuth |
|
| Kontakte lesen/schreiben | Benutzer-OAuth |
|
| Kontakte nur lesen | Benutzer-OAuth |
|
Voreinstellungen sind einfacher als die Auflistung von Scopes:
nworks login --user --preset all # default: full functionality in one login nworks login --user --preset readonly # read-only scopes
defaultist ein Alias vonall. Der Nachrichtenversand nutzt das Dienstkonto (bot) und funktioniert daher unabhängig von der Voreinstellung. Ein erneuter Login schränkt den Zugriff nie ein – neu angeforderte Scopes werden mit dem vorhandenen Token zusammengeführt, sodass ein Wechsel der Voreinstellungen nur zusätzliche Berechtigungen hinzufügt. Für eine individuell zusammengestellte Auswahl verwenden Sie--scope "calendar calendar.read".
Umgebungsvariablen
Legen Sie Umgebungsvariablen fest, um nworks ohne nworks login zu verwenden (nützlich für CI/Agenten).
# 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 loggingMCP Server mit Umgebungsvariablen
Sensible Werte (Client Secret, Private-Link-Pfad) müssen über das env-Feld der MCP-Konfiguration festgelegt werden. Nicht sensible Werte wie die Client-ID können vom KI-Agenten über das Tool nworks_setup konfiguriert werden.
{
"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)>"
}
}
}
}License
Apache-2.0
Maintenance
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
- AlicenseAqualityDmaintenanceAI-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 Jap10MIT
- AlicenseAqualityDmaintenanceSelf-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.39129MIT

LINE Bot MCP Serverofficial
AlicenseAqualityAmaintenanceMCP server that integrates the LINE Messaging API to enable AI agents to send messages and manage LINE Official Accounts.121,252770Apache 2.0- FlicenseCqualityCmaintenanceMCP server that enables AI agents to control all DingTalk features (messaging, calendar, tasks, approvals, etc.) via natural language using the DingTalk Workspace CLI.83
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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