nworks 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -32
- package/dist/index.js +710 -14135
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +833 -14030
- package/dist/mcp.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://www.npmjs.com/package/nworks)
|
|
6
6
|
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="assets/demo.gif" width="600" alt="nworks demo">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
7
11
|
First full MCP server for NAVER WORKS.
|
|
8
12
|
NAVER WORKS API를 스크립트나 AI 에이전트에서 쓰기 쉽게 만든 CLI + MCP 서버입니다.
|
|
9
13
|
|
|
@@ -29,7 +33,7 @@ User: 팀 채널에 배포 완료 메시지 보내줘
|
|
|
29
33
|
|
|
30
34
|
Claude → nworks_message_send
|
|
31
35
|
{ "channel": "C001", "text": "v1.2.0 배포 완료" }
|
|
32
|
-
→
|
|
36
|
+
→ 메시지가 전송되었습니다
|
|
33
37
|
```
|
|
34
38
|
|
|
35
39
|
## Install
|
|
@@ -43,7 +47,7 @@ npm install -g nworks # 글로벌 설치
|
|
|
43
47
|
|
|
44
48
|
```bash
|
|
45
49
|
# User OAuth (캘린더, 드라이브, 메일, 할 일, 게시판)
|
|
46
|
-
nworks login --user --scope "calendar,calendar.read,file,mail,task,board,user.read"
|
|
50
|
+
nworks login --user --scope "calendar,calendar.read,file,file.read,mail,mail.read,task,task.read,board,board.read,user.read"
|
|
47
51
|
|
|
48
52
|
# 봇 메시지 전송이 필요한 경우 (Service Account)
|
|
49
53
|
nworks login
|
|
@@ -63,7 +67,7 @@ nworks logout
|
|
|
63
67
|
|
|
64
68
|
## MCP 서버 (AI 에이전트 연동)
|
|
65
69
|
|
|
66
|
-
Claude Desktop, Cursor 등에서 MCP server로 NAVER WORKS
|
|
70
|
+
Claude Desktop, Cursor 등에서 MCP server로 NAVER WORKS 26개 도구를 사용할 수 있습니다.
|
|
67
71
|
메시지 전송, 일정 관리, 파일 업로드, 메일, 할 일, 게시판까지 — AI 에이전트가 NAVER WORKS 워크플로우를 자동화합니다.
|
|
68
72
|
|
|
69
73
|
### 설정
|
|
@@ -71,7 +75,7 @@ Claude Desktop, Cursor 등에서 MCP server로 NAVER WORKS 22개 도구를 사
|
|
|
71
75
|
먼저 로그인합니다:
|
|
72
76
|
|
|
73
77
|
```bash
|
|
74
|
-
nworks login --user --scope "calendar,calendar.read,file,mail,task,board,user.read"
|
|
78
|
+
nworks login --user --scope "calendar,calendar.read,file,file.read,mail,mail.read,task,task.read,board,board.read,user.read"
|
|
75
79
|
```
|
|
76
80
|
|
|
77
81
|
그리고 MCP 설정에 추가합니다 (`~/.config/claude/claude_desktop_config.json`):
|
|
@@ -87,34 +91,47 @@ nworks login --user --scope "calendar,calendar.read,file,mail,task,board,user.re
|
|
|
87
91
|
}
|
|
88
92
|
```
|
|
89
93
|
|
|
90
|
-
끝입니다. 인증 한 번으로
|
|
94
|
+
끝입니다. 인증 한 번으로 26개 도구 모두 사용 가능 — 별도 env 설정이 필요 없습니다.
|
|
95
|
+
|
|
96
|
+
> **MCP에서 AI 에이전트가 직접 설정하기**: CLI 로그인 없이도 AI 에이전트가 `nworks_setup` → `nworks_login_user` 순서로 호출하면 브라우저 로그인만으로 전체 기능을 사용할 수 있습니다.
|
|
91
97
|
|
|
92
|
-
### MCP 도구 목록 (
|
|
98
|
+
### MCP 도구 목록 (26개)
|
|
93
99
|
|
|
94
100
|
| 도구 | 설명 | 필요 인증 |
|
|
95
101
|
|------|------|----------|
|
|
102
|
+
| **설정/인증** | | |
|
|
103
|
+
| `nworks_setup` | API 인증 정보 설정 (Client ID/Secret 등) | — |
|
|
104
|
+
| `nworks_login_user` | User OAuth 브라우저 로그인 (전체 scope 자동 포함) | — |
|
|
105
|
+
| `nworks_logout` | 인증 정보 및 토큰 삭제 | — |
|
|
106
|
+
| `nworks_whoami` | 인증 상태 확인 | — |
|
|
107
|
+
| `nworks_doctor` | 연결 상태 진단 (인증, 토큰, API 점검) | — |
|
|
108
|
+
| **메시지** | | |
|
|
96
109
|
| `nworks_message_send` | 사용자/채널에 메시지 전송 | Service Account |
|
|
97
110
|
| `nworks_message_members` | 채널 구성원 조회 | Service Account |
|
|
98
111
|
| `nworks_directory_members` | 조직 구성원 조회 | Service Account |
|
|
99
|
-
|
|
|
100
|
-
| `
|
|
101
|
-
| `
|
|
102
|
-
| `
|
|
103
|
-
| `
|
|
104
|
-
|
|
|
105
|
-
| `
|
|
106
|
-
| `
|
|
107
|
-
| `
|
|
108
|
-
|
|
|
109
|
-
| `
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
|
|
|
113
|
-
| `
|
|
114
|
-
| `
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
|
|
|
112
|
+
| **캘린더** | | |
|
|
113
|
+
| `nworks_calendar_list` | 캘린더 일정 조회 | User OAuth (calendar.read) |
|
|
114
|
+
| `nworks_calendar_create` | 캘린더 일정 생성 | User OAuth (calendar + calendar.read) |
|
|
115
|
+
| `nworks_calendar_update` | 캘린더 일정 수정 | User OAuth (calendar + calendar.read) |
|
|
116
|
+
| `nworks_calendar_delete` | 캘린더 일정 삭제 | User OAuth (calendar + calendar.read) |
|
|
117
|
+
| **드라이브** | | |
|
|
118
|
+
| `nworks_drive_list` | 드라이브 파일/폴더 목록 | User OAuth (file.read) |
|
|
119
|
+
| `nworks_drive_upload` | 드라이브 파일 업로드 | User OAuth (file) |
|
|
120
|
+
| `nworks_drive_download` | 드라이브 파일 다운로드 (5MB 초과 시 로컬 저장) | User OAuth (file.read) |
|
|
121
|
+
| **메일** | | |
|
|
122
|
+
| `nworks_mail_send` | 메일 전송 | User OAuth (mail) |
|
|
123
|
+
| `nworks_mail_list` | 메일 목록 조회 | User OAuth (mail.read) |
|
|
124
|
+
| `nworks_mail_read` | 메일 상세 조회 | User OAuth (mail.read) |
|
|
125
|
+
| **할 일** | | |
|
|
126
|
+
| `nworks_task_list` | 할 일 목록 조회 | User OAuth (task.read) |
|
|
127
|
+
| `nworks_task_create` | 할 일 생성 | User OAuth (task + user.read) |
|
|
128
|
+
| `nworks_task_update` | 할 일 수정/완료 | User OAuth (task + user.read) |
|
|
129
|
+
| `nworks_task_delete` | 할 일 삭제 | User OAuth (task + user.read) |
|
|
130
|
+
| **게시판** | | |
|
|
131
|
+
| `nworks_board_list` | 게시판 목록 조회 | User OAuth (board.read) |
|
|
132
|
+
| `nworks_board_posts` | 게시판 글 목록 조회 | User OAuth (board.read) |
|
|
133
|
+
| `nworks_board_read` | 게시판 글 상세 조회 | User OAuth (board.read) |
|
|
134
|
+
| `nworks_board_create` | 게시판 글 작성 | User OAuth (board) |
|
|
118
135
|
|
|
119
136
|
### AI 에이전트 사용 예시
|
|
120
137
|
|
|
@@ -123,11 +140,11 @@ User: 내일 오후 2시에 회의 잡고, 팀 채널에 알려줘
|
|
|
123
140
|
|
|
124
141
|
Claude → nworks_calendar_create
|
|
125
142
|
{ "summary": "회의", "start": "2026-03-15T14:00:00", "end": "2026-03-15T15:00:00" }
|
|
126
|
-
→
|
|
143
|
+
→ 일정이 생성되었습니다
|
|
127
144
|
|
|
128
145
|
Claude → nworks_message_send
|
|
129
146
|
{ "channel": "C001", "text": "내일 14:00 회의가 잡혔습니다" }
|
|
130
|
-
→
|
|
147
|
+
→ 메시지가 전송되었습니다
|
|
131
148
|
```
|
|
132
149
|
|
|
133
150
|
---
|
|
@@ -279,15 +296,15 @@ nworks board create --board <boardId> --title "공지" --body "내용" --notify
|
|
|
279
296
|
|-------|------|----------|--------------|
|
|
280
297
|
| `bot` | Bot 메시지 전송 | Service Account | `message send` |
|
|
281
298
|
| `bot.read` | Bot 채널/구성원 조회 | Service Account | `message members` |
|
|
282
|
-
| `
|
|
283
|
-
| `calendar` | 캘린더
|
|
284
|
-
| `calendar.read` | 캘린더 읽기 | User OAuth | `calendar list` |
|
|
299
|
+
| `calendar` | 캘린더 쓰기 | User OAuth | `calendar create/update/delete` (calendar.read도 함께 필요) |
|
|
300
|
+
| `calendar.read` | 캘린더 읽기 | User OAuth | `calendar list`, `calendar create/update/delete`의 의존성 |
|
|
285
301
|
| `file` | 드라이브 읽기/쓰기 | User OAuth | `drive list/upload/download` |
|
|
286
302
|
| `file.read` | 드라이브 읽기 전용 | User OAuth | `drive list/download` |
|
|
287
303
|
| `mail` | 메일 읽기/쓰기 | User OAuth | `mail send/list/read` |
|
|
288
304
|
| `mail.read` | 메일 읽기 전용 | User OAuth | `mail list/read` |
|
|
289
|
-
| `task` | 할 일 읽기/쓰기 | User OAuth | `task
|
|
305
|
+
| `task` | 할 일 읽기/쓰기 | User OAuth | `task create/update/delete` (user.read도 함께 필요) |
|
|
290
306
|
| `task.read` | 할 일 읽기 전용 | User OAuth | `task list` |
|
|
307
|
+
| `user.read` | 사용자 정보 조회 | Service Account / User OAuth | `directory members`, `task create/update/delete`의 의존성 |
|
|
291
308
|
| `board` | 게시판 읽기/쓰기 | User OAuth | `board list/posts/read/create` |
|
|
292
309
|
| `board.read` | 게시판 읽기 전용 | User OAuth | `board list/posts/read` |
|
|
293
310
|
|
|
@@ -370,7 +387,7 @@ NWORKS_VERBOSE=1 # optional, 디버그 로깅
|
|
|
370
387
|
- ~~**v0.5** — 할 일 (`task list/create/update/delete`)~~
|
|
371
388
|
- ~~**v0.6** — 캘린더 쓰기 (`calendar create/update/delete`)~~
|
|
372
389
|
- ~~**v0.7** — 게시판 (`board list/posts/read/create`)~~
|
|
373
|
-
-
|
|
390
|
+
- ~~**v1.0** — User OAuth 단독 로그인, MCP/CLI 인증 UX 개선, AI 에이전트 전용 설정 flow (nworks_setup → nworks_login_user), scope 자동 확장, 한국어 에러 안내, nworks doctor~~
|
|
374
391
|
|
|
375
392
|
## License
|
|
376
393
|
|