nworks
nworks
Destacado en awesome-mcp-servers
Servidor MCP completo para LINE WORKS (NAVER WORKS). CLI + servidor MCP: 36 herramientas que cubren mensajes, calendario, drive, correo, tareas y tableros.
nworks permite que agentes de IA externos (Claude, Cursor) y tu terminal operen LINE WORKS desde fuera — complementario a la IA integrada de LINE WORKS (AiStudio, WORKS AI), no un reemplazo. No oficial y mantenido por la comunidad; no está afiliado a LINE WORKS / NAVER WORKS.
Inicio rápido
npm install -g nworks
nworks login --user
nworks calendar list¿Primera vez? Primero necesitas una aplicación en Developer Console (Client ID/Secret), una URL de redirección registrada y — para mensajes de bot — aprobación de administrador. Consulta la guía de configuración inicial.
Los agentes de IA lo usan así
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
Instalación
npx nworks # Run directly
npm install -g nworks # Global installInicio de sesión
# 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 --usersolo requiere CLIENT_ID + CLIENT_SECRET. Los valores ya establecidos mediante variables de entorno o configuración existente no se volverán a solicitar.
Developer Console: Para usar OAuth de usuario, registra
http://localhost:9876/callbackcomo URL de redirección en la Developer Console.
Integración con agentes de IA (servidor MCP)
Funciona con Claude Desktop, Cursor y otros clientes compatibles con MCP.
Configuración
Inicia sesión primero:
nworks login --user --scope "calendar calendar.read file file.read mail mail.read task task.read board board.read user.read"Luego añade a tu configuración de MCP (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"nworks": {
"command": "nworks",
"args": ["mcp"]
}
}
}Un solo inicio de sesión habilita las 36 herramientas. No se necesita configuración adicional de entorno.
Sin inicio de sesión mediante CLI, un agente de IA puede llamar a
nworks_setup→nworks_login_userpara autenticarse directamente mediante el navegador. El Client Secret y la ruta de la clave privada deben estar preconfigurados mediante el campoenvde la configuración de MCP o variables de entorno del sistema.
Herramientas MCP (36)
Herramienta | Descripción | Autenticación |
Configuración / Autenticación | ||
| Configurar credenciales de API (Client ID, etc.). El Client Secret se establece mediante env | — |
| Inicio de sesión OAuth de usuario en el navegador (todos los ámbitos incluidos) | — |
| Eliminar credenciales y tokens | — |
| Verificar estado de autenticación | — |
| Diagnosticar conexión (autenticación, tokens, estado de API) | — |
Mensajes | ||
| Enviar mensaje a usuario/canal | Service Account |
| Listar miembros del canal | Service Account |
| Listar miembros de la organización | Service Account |
Calendario | ||
| Listar eventos de calendario | OAuth de usuario (calendar.read) |
| Crear evento de calendario | OAuth de usuario (calendar + calendar.read) |
| Actualizar evento de calendario | OAuth de usuario (calendar + calendar.read) |
| Eliminar evento de calendario | OAuth de usuario (calendar + calendar.read) |
Drive | ||
| Listar archivos/carpetas de drive | OAuth de usuario (file.read) |
| Subir archivo a drive | OAuth de usuario (file) |
| Descargar archivo (se guarda localmente si >5MB) | OAuth de usuario (file.read) |
| Listar drives compartidos | OAuth de usuario (file.read) |
| Listar archivos/carpetas en un drive compartido | OAuth de usuario (file.read) |
| Descargar archivo de drive compartido (se guarda localmente si >5MB) | OAuth de usuario (file.read) |
Correo | ||
| Enviar correo | OAuth de usuario (mail) |
| Listar buzón de correo | OAuth de usuario (mail.read) |
| Leer detalle de correo | OAuth de usuario (mail.read) |
| Descargar adjunto de correo (se guarda localmente si >5MB) | OAuth de usuario (mail.read) |
Tareas | ||
| Listar tareas | OAuth de usuario (task.read) |
| Crear tarea | OAuth de usuario (task + task.read) |
| Actualizar/completar tarea | OAuth de usuario (task + task.read) |
| Eliminar tarea | OAuth de usuario (task + task.read) |
Tableros | ||
| Listar tableros | OAuth de usuario (board.read) |
| Listar publicaciones del tablero | OAuth de usuario (board.read) |
| Leer detalle de publicación del tablero | OAuth de usuario (board.read) |
| Crear publicación en el tablero | OAuth de usuario (board) |
Contactos | ||
| Listar contactos | OAuth de usuario (contact.read) |
| Obtener detalle de contacto | OAuth de usuario (contact.read) |
| Crear contacto | OAuth de usuario (contact) |
| Actualizar contacto | OAuth de usuario (contact) |
| Eliminar contacto | OAuth de usuario (contact) |
| Listar etiquetas de contacto | OAuth de usuario (contact.read) |
Ejemplo de uso con agente de IA
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"Uso de CLI
Todos los comandos admiten
--jsonpara análisis mediante scripts/agentes.message send,mail sendydrive uploadadmiten--dry-runpara probar sin enviar.
Mensajes (API de bot)
# 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>Directorio
nworks directory members # List organization membersCalendario (OAuth de usuario)
# 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 (OAuth de usuario)
# 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>Correo (OAuth de usuario)
# 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.pdfTareas (OAuth de usuario)
# 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>Tableros (OAuth de usuario)
# 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-commentContactos (OAuth de usuario)
# 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 createrequierecontactNameypermission;permission.accessibleMembersdebe incluir al menos un miembro (normalmente tú mismo). Obtén tu propio ID de usuario connworks whoami.
Notificación de despliegue CI/CD
# Notify team channel after deployment in GitHub Actions
nworks message send --channel $CHANNEL_ID --text "v${VERSION} deployed"Script de automatización de equipo
# 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Ámbitos de OAuth
Añade los ámbitos necesarios en la LINE WORKS Developer Console.
Alcance | Propósito | Autenticación | Requerido para |
| Mensajería del bot | Cuenta de servicio |
|
| Lectura de canal/miembros del bot | Cuenta de servicio |
|
| Escritura de calendario | OAuth de usuario |
|
| Lectura de calendario | OAuth de usuario |
|
| Lectura/escritura de Drive | OAuth de usuario |
|
| Solo lectura de Drive | OAuth de usuario |
|
| Lectura/escritura de correo | OAuth de usuario |
|
| Solo lectura de correo | OAuth de usuario |
|
| Lectura/escritura de tareas | OAuth de usuario |
|
| Solo lectura de tareas | OAuth de usuario |
|
| Lectura de información del usuario | Cuenta de servicio / OAuth de usuario |
|
| Lectura/escritura de tableros | OAuth de usuario |
|
| Solo lectura de tableros | OAuth de usuario |
|
| Lectura/escritura de contactos | OAuth de usuario |
|
| Solo lectura de contactos | OAuth de usuario |
|
Preajustes son más simples que enumerar los alcances:
nworks login --user --preset all # default: full functionality in one login nworks login --user --preset readonly # read-only scopes
defaultes un alias deall. El envío de mensajes usa la cuenta de servicio (bot), por lo que funciona sin importar el preajuste. Volver a iniciar sesión nunca reduce el acceso: los nuevos alcances solicitados se combinan con el token existente, así que cambiar de preajuste solo añade funcionalidad. Para un conjunto seleccionado a mano, usa--scope "calendar calendar.read".
Variables de Entorno
Define variables de entorno para usar nworks sin nworks login (útil para CI/agentes).
# 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 loggingServidor MCP con variables de entorno
Los valores sensibles (Client Secret, Private Key path) deben configurarse mediante el campo env de la configuración de MCP. Los valores no sensibles, como Client ID, pueden ser configurados por el agente de IA a través de la herramienta 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)>"
}
}
}
}Licencia
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