nworks 0.7.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 +182 -143
- package/dist/index.js +779 -14149
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +879 -14048
- package/dist/mcp.js.map +1 -1
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -1,85 +1,158 @@
|
|
|
1
1
|
# nworks
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/nworks)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[](https://www.npmjs.com/package/nworks)
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="assets/demo.gif" width="600" alt="nworks demo">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
First full MCP server for NAVER WORKS.
|
|
12
|
+
NAVER WORKS API를 스크립트나 AI 에이전트에서 쓰기 쉽게 만든 CLI + MCP 서버입니다.
|
|
13
|
+
|
|
14
|
+
**Automate messages, calendar, drive, mail, tasks, and boards — from CLI or AI agents.**
|
|
15
|
+
|
|
16
|
+
## Quickstart
|
|
6
17
|
|
|
7
18
|
```bash
|
|
8
|
-
|
|
19
|
+
npm install -g nworks
|
|
20
|
+
nworks login --user
|
|
21
|
+
nworks calendar list
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### AI 에이전트가 실제로 이렇게 씁니다
|
|
25
|
+
|
|
9
26
|
```
|
|
27
|
+
User: 오늘 일정 알려줘
|
|
28
|
+
|
|
29
|
+
Claude → nworks_calendar_list
|
|
30
|
+
→ 3건: 스탠드업(10:00), 점심미팅(12:00), 코드리뷰(15:00)
|
|
31
|
+
|
|
32
|
+
User: 팀 채널에 배포 완료 메시지 보내줘
|
|
10
33
|
|
|
11
|
-
|
|
34
|
+
Claude → nworks_message_send
|
|
35
|
+
{ "channel": "C001", "text": "v1.2.0 배포 완료" }
|
|
36
|
+
→ 메시지가 전송되었습니다
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Install
|
|
12
40
|
|
|
13
41
|
```bash
|
|
14
|
-
|
|
42
|
+
npx nworks # 바로 실행
|
|
43
|
+
npm install -g nworks # 글로벌 설치
|
|
15
44
|
```
|
|
16
45
|
|
|
17
|
-
##
|
|
46
|
+
## 로그인
|
|
18
47
|
|
|
19
48
|
```bash
|
|
20
|
-
#
|
|
21
|
-
nworks login
|
|
22
|
-
--client-id <CLIENT_ID> \
|
|
23
|
-
--client-secret <CLIENT_SECRET> \
|
|
24
|
-
--service-account <SERVICE_ACCOUNT> \
|
|
25
|
-
--private-key <PATH_TO_KEY> \
|
|
26
|
-
--bot-id <BOT_ID>
|
|
49
|
+
# User OAuth (캘린더, 드라이브, 메일, 할 일, 게시판)
|
|
50
|
+
nworks login --user --scope "calendar,calendar.read,file,file.read,mail,mail.read,task,task.read,board,board.read,user.read"
|
|
27
51
|
|
|
28
|
-
#
|
|
29
|
-
nworks login
|
|
52
|
+
# 봇 메시지 전송이 필요한 경우 (Service Account)
|
|
53
|
+
nworks login
|
|
30
54
|
|
|
31
55
|
# 인증 확인
|
|
32
56
|
nworks whoami
|
|
33
57
|
|
|
34
|
-
#
|
|
35
|
-
nworks
|
|
58
|
+
# 로그아웃
|
|
59
|
+
nworks logout
|
|
60
|
+
```
|
|
36
61
|
|
|
37
|
-
|
|
38
|
-
nworks directory members
|
|
62
|
+
> `nworks login --user`는 CLIENT_ID + CLIENT_SECRET만 있으면 됩니다. 환경변수나 기존 설정에 이미 있는 값은 다시 물어보지 않습니다.
|
|
39
63
|
|
|
40
|
-
|
|
41
|
-
nworks calendar list
|
|
64
|
+
> **Developer Console 설정**: User OAuth를 사용하려면 [Developer Console](https://dev.worksmobile.com)에서 Redirect URL에 `http://localhost:9876/callback`을 등록해야 합니다.
|
|
42
65
|
|
|
43
|
-
|
|
44
|
-
nworks calendar create --title "회의" --start "2026-03-14T14:00+09:00" --end "2026-03-14T15:00+09:00"
|
|
66
|
+
---
|
|
45
67
|
|
|
46
|
-
|
|
47
|
-
nworks drive list
|
|
68
|
+
## MCP 서버 (AI 에이전트 연동)
|
|
48
69
|
|
|
49
|
-
|
|
50
|
-
|
|
70
|
+
Claude Desktop, Cursor 등에서 MCP server로 NAVER WORKS 26개 도구를 사용할 수 있습니다.
|
|
71
|
+
메시지 전송, 일정 관리, 파일 업로드, 메일, 할 일, 게시판까지 — AI 에이전트가 NAVER WORKS 워크플로우를 자동화합니다.
|
|
51
72
|
|
|
52
|
-
|
|
53
|
-
nworks mail send --to "user@example.com" --subject "제목" --body "내용"
|
|
73
|
+
### 설정
|
|
54
74
|
|
|
55
|
-
|
|
56
|
-
nworks mail list
|
|
75
|
+
먼저 로그인합니다:
|
|
57
76
|
|
|
58
|
-
|
|
59
|
-
nworks task
|
|
60
|
-
|
|
61
|
-
# 할 일 생성
|
|
62
|
-
nworks task create --title "코드 리뷰" --body "PR #382 리뷰"
|
|
77
|
+
```bash
|
|
78
|
+
nworks login --user --scope "calendar,calendar.read,file,file.read,mail,mail.read,task,task.read,board,board.read,user.read"
|
|
79
|
+
```
|
|
63
80
|
|
|
64
|
-
|
|
65
|
-
nworks board list
|
|
81
|
+
그리고 MCP 설정에 추가합니다 (`~/.config/claude/claude_desktop_config.json`):
|
|
66
82
|
|
|
67
|
-
|
|
68
|
-
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"mcpServers": {
|
|
86
|
+
"nworks": {
|
|
87
|
+
"command": "nworks",
|
|
88
|
+
"args": ["mcp"]
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
69
92
|
```
|
|
70
93
|
|
|
71
|
-
|
|
94
|
+
끝입니다. 인증 한 번으로 26개 도구 모두 사용 가능 — 별도 env 설정이 필요 없습니다.
|
|
95
|
+
|
|
96
|
+
> **MCP에서 AI 에이전트가 직접 설정하기**: CLI 로그인 없이도 AI 에이전트가 `nworks_setup` → `nworks_login_user` 순서로 호출하면 브라우저 로그인만으로 전체 기능을 사용할 수 있습니다.
|
|
97
|
+
|
|
98
|
+
### MCP 도구 목록 (26개)
|
|
99
|
+
|
|
100
|
+
| 도구 | 설명 | 필요 인증 |
|
|
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
|
+
| **메시지** | | |
|
|
109
|
+
| `nworks_message_send` | 사용자/채널에 메시지 전송 | Service Account |
|
|
110
|
+
| `nworks_message_members` | 채널 구성원 조회 | Service Account |
|
|
111
|
+
| `nworks_directory_members` | 조직 구성원 조회 | Service Account |
|
|
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) |
|
|
135
|
+
|
|
136
|
+
### AI 에이전트 사용 예시
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
User: 내일 오후 2시에 회의 잡고, 팀 채널에 알려줘
|
|
72
140
|
|
|
73
|
-
|
|
141
|
+
Claude → nworks_calendar_create
|
|
142
|
+
{ "summary": "회의", "start": "2026-03-15T14:00:00", "end": "2026-03-15T15:00:00" }
|
|
143
|
+
→ 일정이 생성되었습니다
|
|
74
144
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
nworks login --user --scope calendar.read # scope 지정
|
|
79
|
-
nworks whoami # 인증 상태 확인
|
|
80
|
-
nworks logout # 로그아웃
|
|
145
|
+
Claude → nworks_message_send
|
|
146
|
+
{ "channel": "C001", "text": "내일 14:00 회의가 잡혔습니다" }
|
|
147
|
+
→ 메시지가 전송되었습니다
|
|
81
148
|
```
|
|
82
149
|
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## CLI 사용법
|
|
153
|
+
|
|
154
|
+
> 모든 명령어에 `--json` 지원 (파이프, 스크립트, 에이전트 파싱 용이). `message send`, `mail send`, `drive upload`는 `--dry-run`으로 실제 전송 없이 테스트 가능.
|
|
155
|
+
|
|
83
156
|
### 메시지 (Bot API)
|
|
84
157
|
|
|
85
158
|
```bash
|
|
@@ -107,22 +180,16 @@ nworks message members --channel <channelId>
|
|
|
107
180
|
nworks directory members # 조직 구성원 목록
|
|
108
181
|
```
|
|
109
182
|
|
|
110
|
-
### 캘린더 (User OAuth
|
|
183
|
+
### 캘린더 (User OAuth)
|
|
111
184
|
|
|
112
185
|
```bash
|
|
113
186
|
# 오늘 일정 조회
|
|
114
187
|
nworks calendar list
|
|
115
188
|
|
|
116
|
-
# 기간 지정
|
|
189
|
+
# 기간 지정
|
|
117
190
|
nworks calendar list --from "2026-03-14T00:00:00+09:00" --until "2026-03-14T23:59:59+09:00"
|
|
118
191
|
|
|
119
|
-
# 특정 사용자의 일정
|
|
120
|
-
nworks calendar list --user <userId>
|
|
121
|
-
|
|
122
192
|
# 일정 생성
|
|
123
|
-
nworks calendar create --title "회의" --start "2026-03-14T14:00:00+09:00" --end "2026-03-14T15:00:00+09:00"
|
|
124
|
-
|
|
125
|
-
# 초 생략 가능
|
|
126
193
|
nworks calendar create --title "회의" --start "2026-03-14T14:00+09:00" --end "2026-03-14T15:00+09:00"
|
|
127
194
|
|
|
128
195
|
# 장소/설명 포함
|
|
@@ -136,36 +203,22 @@ nworks calendar create --title "팀 회의" --start "2026-03-14T10:00+09:00" --e
|
|
|
136
203
|
# 일정 수정
|
|
137
204
|
nworks calendar update --id <eventId> --title "변경된 제목"
|
|
138
205
|
|
|
139
|
-
# 시간 변경
|
|
140
|
-
nworks calendar update --id <eventId> --start "2026-03-14T15:00+09:00" --end "2026-03-14T16:00+09:00"
|
|
141
|
-
|
|
142
206
|
# 일정 삭제
|
|
143
207
|
nworks calendar delete --id <eventId>
|
|
144
208
|
```
|
|
145
209
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
### 드라이브 (User OAuth 필요)
|
|
210
|
+
### 드라이브 (User OAuth)
|
|
149
211
|
|
|
150
212
|
```bash
|
|
151
|
-
#
|
|
213
|
+
# 파일/폴더 목록
|
|
152
214
|
nworks drive list
|
|
153
215
|
|
|
154
|
-
#
|
|
155
|
-
nworks drive list --folder <folderId>
|
|
156
|
-
|
|
157
|
-
# 페이지네이션
|
|
158
|
-
nworks drive list --count 50 --cursor <nextCursor>
|
|
159
|
-
|
|
160
|
-
# 파일 업로드 (루트)
|
|
216
|
+
# 파일 업로드
|
|
161
217
|
nworks drive upload --file ./report.pdf
|
|
162
218
|
|
|
163
219
|
# 특정 폴더에 업로드
|
|
164
220
|
nworks drive upload --file ./report.pdf --folder <folderId>
|
|
165
221
|
|
|
166
|
-
# 동일 파일명 덮어쓰기
|
|
167
|
-
nworks drive upload --file ./report.pdf --overwrite
|
|
168
|
-
|
|
169
222
|
# 파일 다운로드
|
|
170
223
|
nworks drive download --file-id <fileId>
|
|
171
224
|
|
|
@@ -173,9 +226,7 @@ nworks drive download --file-id <fileId>
|
|
|
173
226
|
nworks drive download --file-id <fileId> --out ./downloads --name report.pdf
|
|
174
227
|
```
|
|
175
228
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
### 메일 (User OAuth 필요)
|
|
229
|
+
### 메일 (User OAuth)
|
|
179
230
|
|
|
180
231
|
```bash
|
|
181
232
|
# 메일 전송
|
|
@@ -194,12 +245,10 @@ nworks mail list --unread
|
|
|
194
245
|
nworks mail read --id <mailId>
|
|
195
246
|
```
|
|
196
247
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
### 할 일 (User OAuth 필요)
|
|
248
|
+
### 할 일 (User OAuth)
|
|
200
249
|
|
|
201
250
|
```bash
|
|
202
|
-
# 할 일 목록
|
|
251
|
+
# 할 일 목록
|
|
203
252
|
nworks task list
|
|
204
253
|
|
|
205
254
|
# 미완료만 조회
|
|
@@ -214,16 +263,11 @@ nworks task create --title "배포" --due 2026-03-20
|
|
|
214
263
|
# 할 일 완료 처리
|
|
215
264
|
nworks task update --id <taskId> --status done
|
|
216
265
|
|
|
217
|
-
# 할 일 미완료로 되돌리기
|
|
218
|
-
nworks task update --id <taskId> --status todo
|
|
219
|
-
|
|
220
266
|
# 할 일 삭제
|
|
221
267
|
nworks task delete --id <taskId>
|
|
222
268
|
```
|
|
223
269
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
### 게시판 (User OAuth 필요)
|
|
270
|
+
### 게시판 (User OAuth)
|
|
227
271
|
|
|
228
272
|
```bash
|
|
229
273
|
# 게시판 목록
|
|
@@ -242,36 +286,7 @@ nworks board create --board <boardId> --title "공지사항" --body "내용"
|
|
|
242
286
|
nworks board create --board <boardId> --title "공지" --body "내용" --notify --no-comment
|
|
243
287
|
```
|
|
244
288
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
### MCP 서버
|
|
248
|
-
|
|
249
|
-
```bash
|
|
250
|
-
nworks mcp # stdio MCP 서버 시작
|
|
251
|
-
nworks mcp --list-tools # 등록된 tool 목록
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
## MCP 서버 연동 (Claude Desktop)
|
|
255
|
-
|
|
256
|
-
`~/.config/claude/claude_desktop_config.json`:
|
|
257
|
-
|
|
258
|
-
```json
|
|
259
|
-
{
|
|
260
|
-
"mcpServers": {
|
|
261
|
-
"nworks": {
|
|
262
|
-
"command": "npx",
|
|
263
|
-
"args": ["-y", "nworks", "mcp"],
|
|
264
|
-
"env": {
|
|
265
|
-
"NWORKS_CLIENT_ID": "<Client ID>",
|
|
266
|
-
"NWORKS_CLIENT_SECRET": "<Client Secret>",
|
|
267
|
-
"NWORKS_SERVICE_ACCOUNT": "<Service Account>",
|
|
268
|
-
"NWORKS_PRIVATE_KEY_PATH": "<Private Key 경로>",
|
|
269
|
-
"NWORKS_BOT_ID": "<Bot ID>"
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
```
|
|
289
|
+
---
|
|
275
290
|
|
|
276
291
|
## OAuth Scope 설정
|
|
277
292
|
|
|
@@ -281,39 +296,30 @@ nworks mcp --list-tools # 등록된 tool 목록
|
|
|
281
296
|
|-------|------|----------|--------------|
|
|
282
297
|
| `bot` | Bot 메시지 전송 | Service Account | `message send` |
|
|
283
298
|
| `bot.read` | Bot 채널/구성원 조회 | Service Account | `message members` |
|
|
284
|
-
| `
|
|
285
|
-
| `calendar` | 캘린더
|
|
286
|
-
| `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`의 의존성 |
|
|
287
301
|
| `file` | 드라이브 읽기/쓰기 | User OAuth | `drive list/upload/download` |
|
|
288
302
|
| `file.read` | 드라이브 읽기 전용 | User OAuth | `drive list/download` |
|
|
289
303
|
| `mail` | 메일 읽기/쓰기 | User OAuth | `mail send/list/read` |
|
|
290
304
|
| `mail.read` | 메일 읽기 전용 | User OAuth | `mail list/read` |
|
|
291
|
-
| `task` | 할 일 읽기/쓰기 | User OAuth | `task
|
|
292
|
-
| `task.read` | 할 일 읽기 전용 | User OAuth | `task list`
|
|
305
|
+
| `task` | 할 일 읽기/쓰기 | User OAuth | `task create/update/delete` (user.read도 함께 필요) |
|
|
306
|
+
| `task.read` | 할 일 읽기 전용 | User OAuth | `task list` |
|
|
307
|
+
| `user.read` | 사용자 정보 조회 | Service Account / User OAuth | `directory members`, `task create/update/delete`의 의존성 |
|
|
293
308
|
| `board` | 게시판 읽기/쓰기 | User OAuth | `board list/posts/read/create` |
|
|
294
309
|
| `board.read` | 게시판 읽기 전용 | User OAuth | `board list/posts/read` |
|
|
295
310
|
|
|
296
311
|
> **Tip**: scope를 변경한 후에는 토큰을 재발급해야 합니다.
|
|
297
312
|
> ```bash
|
|
298
|
-
> nworks logout && nworks login ...
|
|
313
|
+
> nworks logout && nworks login --user --scope "..."
|
|
299
314
|
> ```
|
|
300
315
|
|
|
301
|
-
> **Developer Console 설정**: User OAuth를 사용하려면 Developer Console에서 Redirect URL에 `http://localhost:9876/callback`을 등록해야 합니다.
|
|
302
|
-
|
|
303
316
|
## 사용 시나리오
|
|
304
317
|
|
|
305
318
|
### CI/CD 배포 알림
|
|
306
319
|
|
|
307
320
|
```bash
|
|
308
321
|
# GitHub Actions에서 배포 완료 후 팀 채널에 알림
|
|
309
|
-
nworks message send --channel $CHANNEL_ID --text "
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
### AI 에이전트 메시지
|
|
313
|
-
|
|
314
|
-
```bash
|
|
315
|
-
# Claude Desktop / Cursor에서 MCP tool로 직접 메시지 전송
|
|
316
|
-
# nworks mcp 서버가 nworks_message_send tool을 제공
|
|
322
|
+
nworks message send --channel $CHANNEL_ID --text "v${VERSION} 배포 완료"
|
|
317
323
|
```
|
|
318
324
|
|
|
319
325
|
### 팀 자동화 스크립트
|
|
@@ -321,34 +327,67 @@ nworks message send --channel $CHANNEL_ID --text "✅ v${VERSION} 배포 완료"
|
|
|
321
327
|
```bash
|
|
322
328
|
# 매일 아침 팀원에게 리마인더 전송
|
|
323
329
|
for userId in $(nworks directory members --json | jq -r '.users[].userId'); do
|
|
324
|
-
nworks message send --to "$userId" --text "
|
|
330
|
+
nworks message send --to "$userId" --text "오늘의 스탠드업 10시입니다"
|
|
325
331
|
done
|
|
326
332
|
```
|
|
327
333
|
|
|
328
|
-
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Advanced Configuration
|
|
337
|
+
|
|
338
|
+
### 환경 변수
|
|
339
|
+
|
|
340
|
+
환경변수로 인증 정보를 설정하면 `nworks login` 없이 바로 사용할 수 있습니다.
|
|
329
341
|
|
|
330
342
|
```bash
|
|
343
|
+
# 공통 (필수)
|
|
331
344
|
NWORKS_CLIENT_ID= # 필수
|
|
332
345
|
NWORKS_CLIENT_SECRET= # 필수
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
346
|
+
|
|
347
|
+
# 봇 메시지 전송 시에만 필요 (User OAuth만 쓰면 불필요)
|
|
348
|
+
NWORKS_SERVICE_ACCOUNT= # 봇 전용
|
|
349
|
+
NWORKS_PRIVATE_KEY_PATH= # 봇 전용
|
|
350
|
+
NWORKS_BOT_ID= # 봇 전용
|
|
351
|
+
|
|
352
|
+
# 선택
|
|
336
353
|
NWORKS_DOMAIN_ID= # optional
|
|
337
354
|
NWORKS_SCOPE= # optional (기본: bot bot.read user.read)
|
|
338
355
|
NWORKS_VERBOSE=1 # optional, 디버그 로깅
|
|
339
356
|
```
|
|
340
357
|
|
|
341
|
-
|
|
358
|
+
### MCP 서버에 환경 변수 직접 설정
|
|
359
|
+
|
|
360
|
+
`nworks login` 대신 환경 변수로 직접 설정할 수도 있습니다:
|
|
361
|
+
|
|
362
|
+
```json
|
|
363
|
+
{
|
|
364
|
+
"mcpServers": {
|
|
365
|
+
"nworks": {
|
|
366
|
+
"command": "npx",
|
|
367
|
+
"args": ["-y", "nworks", "mcp"],
|
|
368
|
+
"env": {
|
|
369
|
+
"NWORKS_CLIENT_ID": "<Client ID>",
|
|
370
|
+
"NWORKS_CLIENT_SECRET": "<Client Secret>"
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
봇 메시지도 사용하려면 `NWORKS_SERVICE_ACCOUNT`, `NWORKS_PRIVATE_KEY_PATH`, `NWORKS_BOT_ID`도 추가합니다.
|
|
378
|
+
|
|
379
|
+
---
|
|
342
380
|
|
|
343
381
|
## Roadmap
|
|
344
382
|
|
|
345
383
|
- ~~**v0.1** — 메시지, 조직 구성원, MCP 서버~~
|
|
346
384
|
- ~~**v0.2** — 캘린더 일정 조회 + User OAuth~~
|
|
347
|
-
- ~~**v0.3** — 드라이브 파일
|
|
348
|
-
- ~~**v0.4** — 메일 (`
|
|
349
|
-
- ~~**v0.5** — 할 일 (`
|
|
350
|
-
- ~~**v0.6** — 캘린더 쓰기 (`
|
|
351
|
-
- ~~**v0.7** — 게시판 (`
|
|
385
|
+
- ~~**v0.3** — 드라이브 파일 조회/업로드/다운로드~~
|
|
386
|
+
- ~~**v0.4** — 메일 (`mail send/list/read`)~~
|
|
387
|
+
- ~~**v0.5** — 할 일 (`task list/create/update/delete`)~~
|
|
388
|
+
- ~~**v0.6** — 캘린더 쓰기 (`calendar create/update/delete`)~~
|
|
389
|
+
- ~~**v0.7** — 게시판 (`board list/posts/read/create`)~~
|
|
390
|
+
- ~~**v1.0** — User OAuth 단독 로그인, MCP/CLI 인증 UX 개선, AI 에이전트 전용 설정 flow (nworks_setup → nworks_login_user), scope 자동 확장, 한국어 에러 안내, nworks doctor~~
|
|
352
391
|
|
|
353
392
|
## License
|
|
354
393
|
|