@milcho0604/velog-mcp 0.5.0 → 0.6.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.ko.md +6 -6
- package/README.md +6 -6
- package/dist/client.d.ts +1 -1
- package/dist/client.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/tools/drafts.js +142 -9
- package/dist/tools/drafts.js.map +1 -1
- package/dist/tools/publish.js +14 -2
- package/dist/tools/publish.js.map +1 -1
- package/docs/architecture.md +1 -1
- package/docs/decisions/0001-why-build-our-own.md +1 -1
- package/docs/tools.md +1 -1
- package/npm-shrinkwrap.json +3 -3
- package/package.json +2 -4
package/README.ko.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# velog-mcp
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@milcho0604/velog-mcp)
|
|
4
|
-
[](https://nodejs.org)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](package.json)
|
|
7
7
|
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
있다 — 오류 없이 빈 결과를 주는 경우, 발행글을 비공개로 만드는 경우 포함.
|
|
28
28
|
|
|
29
29
|
**3. 런타임 의존성 2개.** `@modelcontextprotocol/sdk` 와 `zod` 뿐이다.
|
|
30
|
-
HTTP
|
|
30
|
+
HTTP 와 테스트 러너와 타입스크립트 실행은 전부 Node 내장을 쓴다.
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
34
34
|
## 설치
|
|
35
35
|
|
|
36
|
-
**Node.js
|
|
36
|
+
**Node.js 22.18 이상**이 필요하다. 실행되는 것은 컴파일된 `dist/index.js` 지만, 개발과 검증이 `.ts` 를 직접 실행하고 그게 플래그 없이 도는 첫 버전이 22.18 이다. CI 는 22.18 과 24 와 26 에서 돌린다.
|
|
37
37
|
|
|
38
38
|
### Claude Code 플러그인으로 (권장)
|
|
39
39
|
|
|
@@ -63,7 +63,7 @@ npm 에 올려뒀으니 클론할 것 없이 MCP 클라이언트가 `npx` 로
|
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
claude mcp add velog -e VELOG_REFRESH_TOKEN=여기에_토큰 \
|
|
66
|
-
-- npx -y @milcho0604/velog-mcp@0.
|
|
66
|
+
-- npx -y @milcho0604/velog-mcp@0.6.0
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
이 방식은 토큰이 클라이언트 설정 파일에 남는다. 위의 플러그인 방식은 키체인에 넣는다.
|
|
@@ -85,7 +85,7 @@ MCP 클라이언트 설정 파일(`claude_desktop_config.json`, `.mcp.json` 등)
|
|
|
85
85
|
"mcpServers": {
|
|
86
86
|
"velog": {
|
|
87
87
|
"command": "npx",
|
|
88
|
-
"args": ["-y", "@milcho0604/velog-mcp@0.
|
|
88
|
+
"args": ["-y", "@milcho0604/velog-mcp@0.6.0"],
|
|
89
89
|
"env": {
|
|
90
90
|
"VELOG_REFRESH_TOKEN": "여기에 토큰"
|
|
91
91
|
}
|
|
@@ -98,7 +98,7 @@ Claude Code CLI 라면:
|
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
100
|
claude mcp add velog -e VELOG_REFRESH_TOKEN=여기에_토큰 \
|
|
101
|
-
-- npx -y @milcho0604/velog-mcp@0.
|
|
101
|
+
-- npx -y @milcho0604/velog-mcp@0.6.0
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
로컬 체크아웃으로 돌리려면 command 를
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# velog-mcp
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@milcho0604/velog-mcp)
|
|
4
|
-
[](https://nodejs.org)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](package.json)
|
|
7
7
|
|
|
@@ -30,13 +30,13 @@ calls. Six server-side quirks are written up in
|
|
|
30
30
|
empty list, and one that can turn your published posts private.
|
|
31
31
|
|
|
32
32
|
**3. Two runtime dependencies.** `@modelcontextprotocol/sdk` and `zod`. HTTP, test
|
|
33
|
-
runner, and TypeScript execution all come from Node
|
|
33
|
+
runner, and TypeScript execution all come from Node itself.
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
|
37
37
|
## Install
|
|
38
38
|
|
|
39
|
-
Requires **Node.js
|
|
39
|
+
Requires **Node.js 22.18 or newer**. What runs is the compiled `dist/index.js`, but development and verification execute `.ts` directly, and 22.18 is the first release where that works without a flag. CI covers 22.18, 24 and 26.
|
|
40
40
|
|
|
41
41
|
### As a Claude Code plugin (recommended)
|
|
42
42
|
|
|
@@ -68,7 +68,7 @@ Published on npm, so nothing to clone — your MCP client runs it via `npx`. See
|
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
70
|
claude mcp add velog -e VELOG_REFRESH_TOKEN=your_refresh_token \
|
|
71
|
-
-- npx -y @milcho0604/velog-mcp@0.
|
|
71
|
+
-- npx -y @milcho0604/velog-mcp@0.6.0
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
The token stays in your client's config file here. The plugin route above puts it in
|
|
@@ -91,7 +91,7 @@ Add this to your MCP client config (`claude_desktop_config.json`, `.mcp.json`,
|
|
|
91
91
|
"mcpServers": {
|
|
92
92
|
"velog": {
|
|
93
93
|
"command": "npx",
|
|
94
|
-
"args": ["-y", "@milcho0604/velog-mcp@0.
|
|
94
|
+
"args": ["-y", "@milcho0604/velog-mcp@0.6.0"],
|
|
95
95
|
"env": {
|
|
96
96
|
"VELOG_REFRESH_TOKEN": "your_refresh_token"
|
|
97
97
|
}
|
|
@@ -104,7 +104,7 @@ With the Claude Code CLI:
|
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
106
|
claude mcp add velog -e VELOG_REFRESH_TOKEN=your_refresh_token \
|
|
107
|
-
-- npx -y @milcho0604/velog-mcp@0.
|
|
107
|
+
-- npx -y @milcho0604/velog-mcp@0.6.0
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
To run a local checkout instead, swap the command for
|
package/dist/client.d.ts
CHANGED
package/dist/client.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 벨로그 GraphQL 클라이언트.
|
|
3
3
|
*
|
|
4
|
-
* Node
|
|
4
|
+
* Node 내장 fetch 만 쓴다 — HTTP 라이브러리를 추가하지 않는다.
|
|
5
5
|
* 접속하는 호스트는 v3.velog.io 하나뿐이다 (docs/security.md).
|
|
6
6
|
*/
|
|
7
7
|
import { AuthRequiredError, TokenStore, buildCookieHeader, parseSetCookie, } from "./auth.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
10
10
|
import { type Capabilities } from './capabilities.ts';
|
|
11
11
|
import { VelogClient } from './client.ts';
|
|
12
12
|
export declare const SERVER_NAME = "velog-mcp";
|
|
13
|
-
export declare const SERVER_VERSION = "0.
|
|
13
|
+
export declare const SERVER_VERSION = "0.6.0";
|
|
14
14
|
export declare function createServer(client: VelogClient, capabilities?: Capabilities): McpServer;
|
|
15
15
|
/**
|
|
16
16
|
* 크롬이 있어야만 되는 도구들.
|
package/dist/index.js
CHANGED
|
@@ -28,7 +28,7 @@ import { registerImageTools } from "./tools/images.js";
|
|
|
28
28
|
export const SERVER_NAME = 'velog-mcp';
|
|
29
29
|
// ⚠️ 이 값은 네 곳이 함께 움직인다 — package.json / plugin.json / .mcp.json 의
|
|
30
30
|
// npx 핀 / 여기. 어긋나면 P8 테스트가 잡는다. 손으로 맞추지 말고 테스트를 믿을 것.
|
|
31
|
-
export const SERVER_VERSION = '0.
|
|
31
|
+
export const SERVER_VERSION = '0.6.0';
|
|
32
32
|
export function createServer(client, capabilities = { publicPublish: false, editProfile: false }) {
|
|
33
33
|
const server = new McpServer({ name: SERVER_NAME, version: SERVER_VERSION }, {
|
|
34
34
|
instructions: [
|
package/dist/tools/drafts.js
CHANGED
|
@@ -39,6 +39,19 @@ const QUERY_POST_STATE = `
|
|
|
39
39
|
post(input: $input) { id title is_temp meta user { username } }
|
|
40
40
|
}
|
|
41
41
|
`;
|
|
42
|
+
/**
|
|
43
|
+
* 초안 생성 직후 시리즈를 붙일 때 쓴다. `meta` 는 다시 실어 보내야 하고
|
|
44
|
+
* (editPost 는 전체 교체다), `series` 는 붙었는지 **확인**하는 데 쓴다.
|
|
45
|
+
*/
|
|
46
|
+
const QUERY_POST_FOR_SERIES = `
|
|
47
|
+
query PostForSeries($input: ReadPostInput!) {
|
|
48
|
+
post(input: $input) {
|
|
49
|
+
id title body tags url_slug thumbnail is_temp meta
|
|
50
|
+
series { id name }
|
|
51
|
+
user { username }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
42
55
|
/**
|
|
43
56
|
* 썸네일 입력 — 세 상태를 구분해야 한다.
|
|
44
57
|
*
|
|
@@ -62,6 +75,116 @@ function assertStayedDraft(post) {
|
|
|
62
75
|
`(is_temp=${post.is_temp}, id=${post.id}). 즉시 벨로그에서 확인하세요.`);
|
|
63
76
|
}
|
|
64
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* 초안을 만든 **직후** 시리즈를 붙인다.
|
|
80
|
+
*
|
|
81
|
+
* ★★ 왜 한 번 더 부르나 — 벨로그는 임시저장 **생성** 단계에서 `series_id` 를
|
|
82
|
+
* 조용히 버린다(호출부 주석의 서버 코드). `edit` 경로에는 그 조건이 없다.
|
|
83
|
+
* 이 시점의 서버는 초안 id 와 해석 끝난 series_id 를 이미 쥐고 있으므로
|
|
84
|
+
* 사용자가 두 번 부를 이유가 없다.
|
|
85
|
+
*
|
|
86
|
+
* ★★ **`post:<id>` 줄에서 돈다.** 생성은 `post:new` 줄에 있는데, 그 줄에 그대로
|
|
87
|
+
* 두면 `update_draft` 나 `publish_draft` 와 **다른 줄**이 되어 서로를 못 본다.
|
|
88
|
+
* 실제로 겹치면 늦게 도착한 이 edit 이 `DRAFT_ONLY` 로 방금 발행된 글을 다시
|
|
89
|
+
* 비공개 초안으로 내린다. 두 도구 다 성공을 보고하므로 아무도 모른다.
|
|
90
|
+
* (코덱스 교차검증 1차에서 재현됨. `velog_list_drafts` 는 직렬화되지 않아
|
|
91
|
+
* 생성이 끝나기 전에도 새 id 를 볼 수 있다.)
|
|
92
|
+
*
|
|
93
|
+
* ★★ 어떤 경우에도 **던지지 않는다.** 초안은 이미 저장됐다. 여기서 던지면 저장이
|
|
94
|
+
* 끝난 호출이 실패로 보고되고 사용자가 다시 부른다.
|
|
95
|
+
* ⚠️ 다만 이것이 중복 생성을 **막지는 못한다.** MCP SDK 는 호출이 취소되면
|
|
96
|
+
* 서버가 무엇을 반환하든 호출자 쪽 Promise 를 reject 한다. 취소된 뒤 재시도하면
|
|
97
|
+
* 초안은 두 개가 된다. 이건 이 함수가 없을 때도 마찬가지이고(생성 자체가 그렇다),
|
|
98
|
+
* 여기서 하는 일은 그 창을 넓히지 않는 것뿐이다. 예전 주석은 이걸 막는다고
|
|
99
|
+
* 적고 있었는데 사실이 아니었다.
|
|
100
|
+
*
|
|
101
|
+
* ★ `meta` 를 다시 읽어서 실어 보낸다. editPost 는 전체 교체라 `{}` 를 보내면
|
|
102
|
+
* 벨로그가 생성 때 만들어 둔 short_description 등이 지워진다.
|
|
103
|
+
*
|
|
104
|
+
* ★ 붙었다고 **말하기 전에 재조회로 확인한다.** editPost 응답은 갱신 전에 읽은
|
|
105
|
+
* post 를 돌려주므로 그것만 보고는 알 수 없다.
|
|
106
|
+
*
|
|
107
|
+
* ★ 실패를 두 종류로 나눈다. 아무것도 안 쓴 것이 확실하면 '적용되지 않음'이고,
|
|
108
|
+
* edit 을 보낸 뒤 확인에 실패했으면 '반영 여부 불명'이다. 후자를 전자로 적으면
|
|
109
|
+
* 사용자가 붙어 있는 시리즈를 다시 붙이려 든다.
|
|
110
|
+
*
|
|
111
|
+
* @returns 결과에 이어붙일 안내문. 성공이든 실패든 사람이 읽을 말을 돌려준다.
|
|
112
|
+
*/
|
|
113
|
+
function manualFixNote(postId, seriesId, lead) {
|
|
114
|
+
return (`${lead}\n\n` +
|
|
115
|
+
` 이어서 붙이려면 \`velog_update_draft\` 를 부르되, **전체 교체**라서 원래 값을 ` +
|
|
116
|
+
`다시 줘야 합니다. \`id="${postId}"\`, \`series_id="${seriesId}"\`, 그리고 방금 저장한 ` +
|
|
117
|
+
`title 과 body 를 그대로. tags 와 url_slug 와 thumbnail 을 생략하면 지워지거나 ` +
|
|
118
|
+
`새로 만들어집니다. 현재 값은 \`velog_get_post\` 로 읽을 수 있습니다.`);
|
|
119
|
+
}
|
|
120
|
+
async function attachSeriesToNewDraft(client, postId, seriesId, signal) {
|
|
121
|
+
const notApplied = manualFixNote(postId, seriesId, '\n\n⚠️ 시리즈는 **적용되지 않았습니다.** 벨로그가 임시저장 생성 단계에서' +
|
|
122
|
+
' series_id 를 무시하는데, 이어서 붙이려던 시도도 실패했습니다.');
|
|
123
|
+
const unknown = manualFixNote(postId, seriesId, '\n\n⚠️ 시리즈가 **붙었는지 확인하지 못했습니다.** 수정 요청은 보냈지만 결과를' +
|
|
124
|
+
' 확인하는 조회가 실패했습니다. 이미 붙어 있을 수 있으니 먼저 확인하세요.');
|
|
125
|
+
// ★ 이 글 전용 줄로 넘긴다. 이유는 위 주석.
|
|
126
|
+
// ⚠️ 바깥은 `post:new` 줄이다. 서버가 id 로 하필 "new" 를 돌려주면 두 키가 같아져
|
|
127
|
+
// 안쪽이 바깥쪽을 기다리는 교착이 된다. 그때는 붙이기를 포기하는 쪽이 낫다.
|
|
128
|
+
if (postId === 'new')
|
|
129
|
+
return notApplied;
|
|
130
|
+
return serializeWrite(`post:${postId}`, async () => {
|
|
131
|
+
let sent = false;
|
|
132
|
+
try {
|
|
133
|
+
const before = await client.request(QUERY_POST_FOR_SERIES, { input: { id: postId } }, { signal });
|
|
134
|
+
// 방금 만든 글을 못 읽으면 손대지 않는다.
|
|
135
|
+
if (!before.post || before.post.is_temp !== true)
|
|
136
|
+
return notApplied;
|
|
137
|
+
// ★ 이미 붙어 있으면 아무것도 쓰지 않는다. 벨로그가 언젠가 생성 단계에서도
|
|
138
|
+
// 붙이기 시작하면 이 함수는 조회 한 번으로 끝나야 한다.
|
|
139
|
+
if (before.post.series?.id === seriesId) {
|
|
140
|
+
return `\n\n📚 시리즈 **${before.post.series.name ?? seriesId}** 에 넣었습니다.`;
|
|
141
|
+
}
|
|
142
|
+
// ★ 우리가 방금 만든 글이라 소유권은 자명해 보이지만 검증한다. 이 레포는
|
|
143
|
+
// "자명하다"에 이미 당했고(ownership.ts), 구조 테스트가 editPost 마다 짝을
|
|
144
|
+
// 요구한다. 여기에 예외를 만들면 그 가드가 그만큼 헐거워진다.
|
|
145
|
+
await assertOwned(client, before.post, 'velog_create_draft');
|
|
146
|
+
// ★★ **생성 당시의 입력이 아니라 방금 읽은 현재 값**으로 전체교체를 만든다.
|
|
147
|
+
// editPost 는 전체 교체다. 생성 응답이 늦는 사이 update_draft 가 먼저
|
|
148
|
+
// `post:<id>` 줄을 잡고 제목·본문을 고칠 수 있는데, 그때 낡은 생성 입력을
|
|
149
|
+
// 다시 펼치면 그 수정이 통째로 되돌아간다. 두 호출 다 성공을 보고하므로
|
|
150
|
+
// 아무도 모른다. (코덱스 재검증에서 재현됨)
|
|
151
|
+
const input = {
|
|
152
|
+
id: postId,
|
|
153
|
+
title: before.post.title ?? '',
|
|
154
|
+
body: before.post.body ?? '',
|
|
155
|
+
tags: before.post.tags ?? [],
|
|
156
|
+
url_slug: before.post.url_slug ?? undefined,
|
|
157
|
+
meta: before.post.meta ?? {},
|
|
158
|
+
series_id: seriesId,
|
|
159
|
+
...DRAFT_ONLY, // ★ 마지막에 펼친다 — 초안 상태를 무엇도 못 덮게
|
|
160
|
+
};
|
|
161
|
+
// ★ 썸네일은 있을 때만 싣는다. 빈 값을 보내면 일부러 비워 둔 상태를 덮는다.
|
|
162
|
+
if (before.post.thumbnail)
|
|
163
|
+
input['thumbnail'] = before.post.thumbnail;
|
|
164
|
+
// ★ `sent` 를 세우는 자리가 중요하다. mutate() 는 fetch 보다 **먼저**
|
|
165
|
+
// 취소를 검사한다(client.ts 의 `options.signal?.throwIfAborted()`).
|
|
166
|
+
// 호출 직전에 무조건 세우면 요청이 0회인데도 '보냈다'가 되어, 아무것도
|
|
167
|
+
// 안 쓴 실패를 '반영 여부 불명'으로 잘못 보고한다. 같은 검사를 여기서
|
|
168
|
+
// 먼저 해서 그 경우를 '미적용' 쪽으로 갈라낸다.
|
|
169
|
+
signal?.throwIfAborted();
|
|
170
|
+
sent = true;
|
|
171
|
+
await client.mutate(MUTATION_EDIT_POST, { input }, { signal });
|
|
172
|
+
const after = await client.request(QUERY_POST_FOR_SERIES, { input: { id: postId } }, { signal });
|
|
173
|
+
// ★ 초안이 아니게 됐으면 붙었는지보다 그게 급하다.
|
|
174
|
+
if (after.post?.is_temp !== true) {
|
|
175
|
+
return ('\n\n🚨 시리즈를 붙이는 과정에서 이 글이 **임시저장이 아니게 됐습니다**' +
|
|
176
|
+
` (is_temp=${String(after.post?.is_temp)}, id=${postId}). 즉시 벨로그에서 확인하세요.`);
|
|
177
|
+
}
|
|
178
|
+
if (after.post.series?.id !== seriesId)
|
|
179
|
+
return notApplied;
|
|
180
|
+
return `\n\n📚 시리즈 **${after.post.series.name ?? seriesId}** 에 넣었습니다.`;
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
// 보내기 전에 죽었으면 아무것도 안 썼다. 보낸 뒤라면 반영됐을 수 있다.
|
|
184
|
+
return sent ? unknown : notApplied;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
65
188
|
function draftResult(post, verb) {
|
|
66
189
|
const username = post.user?.username;
|
|
67
190
|
const where = username
|
|
@@ -93,8 +216,8 @@ export function registerDraftTools(server, client) {
|
|
|
93
216
|
series_id: z
|
|
94
217
|
.string()
|
|
95
218
|
.optional()
|
|
96
|
-
.describe('소속시킬 시리즈 id.
|
|
97
|
-
'
|
|
219
|
+
.describe('소속시킬 시리즈 id. 벨로그가 임시저장 생성 단계에서 이걸 버리므로 ' +
|
|
220
|
+
'이 도구가 저장 직후 한 번 더 붙이고, 붙었는지 확인해 결과에 적는다. ' +
|
|
98
221
|
'생략하면 결과에 내 시리즈 목록을 함께 돌려준다'),
|
|
99
222
|
series_name: z
|
|
100
223
|
.string()
|
|
@@ -110,11 +233,17 @@ export function registerDraftTools(server, client) {
|
|
|
110
233
|
serializeWrite('post:new', async () => {
|
|
111
234
|
client.requireAuth('velog_create_draft');
|
|
112
235
|
let series_id = rawSeriesId?.trim() || undefined;
|
|
236
|
+
let seriesFromName = false;
|
|
113
237
|
// ★ 이름을 id 로. **저장 전에** 한다 — 못 찾으면 아무것도 안 쓴 채 멈춘다.
|
|
114
238
|
if (series_name !== undefined && series_id === undefined) {
|
|
115
239
|
series_id = await resolveSeriesId(client, await resolveMyUsername(client, extra.signal), series_name, 'velog_create_draft', extra.signal);
|
|
240
|
+
seriesFromName = true;
|
|
116
241
|
}
|
|
117
|
-
|
|
242
|
+
// ★ 이름으로 찾은 id 는 **내 시리즈 목록에서 고른 것**이라 소유권이 이미
|
|
243
|
+
// 증명돼 있다. 다시 목록을 받아 확인하면 같은 질의를 두 번 하는 것뿐이다.
|
|
244
|
+
// 검사가 필요한 것은 **사용자가 준** series_id 다 — safety.test.ts 의 A11 이
|
|
245
|
+
// 스스로 그 범위를 적어두고 있다.
|
|
246
|
+
if (series_id && !seriesFromName)
|
|
118
247
|
await assertOwnsSeries(client, series_id, 'velog_create_draft');
|
|
119
248
|
// ★ 초안은 is_private:true 라 벨로그 계수(is_private:false 만 셈)에
|
|
120
249
|
// 잡히지 않는다. 그래서 상한을 걸지 않는다 — 상한은 '공개 발행' 쪽에 있다.
|
|
@@ -138,12 +267,10 @@ export function registerDraftTools(server, client) {
|
|
|
138
267
|
// ★ 벨로그는 임시저장 생성 시 series_id 를 조용히 버린다:
|
|
139
268
|
// // apps/server/src/services/PostApiService/index.mts
|
|
140
269
|
// if (series_id && !data.is_temp) await appendToSeries(...)
|
|
141
|
-
// edit 경로에는 이 조건이
|
|
142
|
-
// 사용자가 알 방법이 없으므로 직접 알린다.
|
|
270
|
+
// edit 경로에는 이 조건이 없다. 그래서 여기서 edit 을 한 번 더 쳐서 붙인다.
|
|
143
271
|
const seriesNote = series_id
|
|
144
|
-
?
|
|
145
|
-
|
|
146
|
-
' 한 번 호출하면 그때 실제로 붙습니다.'
|
|
272
|
+
? // ★ 버려진 series_id 를 여기서 직접 다시 붙인다. 던지지 않는다.
|
|
273
|
+
await attachSeriesToNewDraft(client, data.writePost.id, series_id, extra.signal)
|
|
147
274
|
: // ★ 힌트 조회가 실패해도 저장은 이미 끝났다 — 전부 삼킨다.
|
|
148
275
|
await seriesHintSafely(client, async () => data.writePost.user?.username ??
|
|
149
276
|
(await resolveMyUsername(client, extra.signal)), series_id, extra.signal);
|
|
@@ -189,10 +316,16 @@ export function registerDraftTools(server, client) {
|
|
|
189
316
|
}
|
|
190
317
|
await assertOwned(client, before.post, 'velog_update_draft');
|
|
191
318
|
let series_id = rawSeriesId?.trim() || undefined;
|
|
319
|
+
let seriesFromName = false;
|
|
192
320
|
if (series_name !== undefined && series_id === undefined) {
|
|
193
321
|
series_id = await resolveSeriesId(client, before.post.user?.username ?? (await resolveMyUsername(client, extra.signal)), series_name, 'velog_update_draft', extra.signal);
|
|
322
|
+
seriesFromName = true;
|
|
194
323
|
}
|
|
195
|
-
|
|
324
|
+
// ★ 이름으로 찾은 id 는 **내 시리즈 목록에서 고른 것**이라 소유권이 이미
|
|
325
|
+
// 증명돼 있다. 다시 목록을 받아 확인하면 같은 질의를 두 번 하는 것뿐이다.
|
|
326
|
+
// 검사가 필요한 것은 **사용자가 준** series_id 다 — safety.test.ts 의 A11 이
|
|
327
|
+
// 스스로 그 범위를 적어두고 있다.
|
|
328
|
+
if (series_id && !seriesFromName)
|
|
196
329
|
await assertOwnsSeries(client, series_id, 'velog_update_draft');
|
|
197
330
|
if (before.post.is_temp !== true) {
|
|
198
331
|
throw new Error(`id=${id} 는 이미 발행된 글입니다. 이 도구로 수정하면 임시저장으로 내려가 ` +
|
package/dist/tools/drafts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drafts.js","sourceRoot":"","sources":["../../src/tools/drafts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drafts.js","sourceRoot":"","sources":["../../src/tools/drafts.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/publish.js
CHANGED
|
@@ -243,12 +243,18 @@ export function registerPublishTools(server, client, capabilities, limiter) {
|
|
|
243
243
|
client.requireAuth('velog_publish_post');
|
|
244
244
|
const { title, body, tags, url_slug, thumbnail, series_name } = args;
|
|
245
245
|
let series_id = args.series_id?.trim() || undefined;
|
|
246
|
+
let seriesFromName = false;
|
|
246
247
|
const isPrivate = resolvePrivacy(args.is_private);
|
|
247
248
|
// ★ 이름을 id 로 바꾼다. **저장 전에** 한다 — 못 찾으면 아무것도 안 쓴 채 멈춘다.
|
|
248
249
|
if (series_name !== undefined && series_id === undefined) {
|
|
249
250
|
series_id = await resolveSeriesId(client, await resolveMyUsername(client, extra.signal), series_name, 'velog_publish_post', extra.signal);
|
|
251
|
+
seriesFromName = true;
|
|
250
252
|
}
|
|
251
|
-
|
|
253
|
+
// ★ 이름으로 찾은 id 는 **내 시리즈 목록에서 고른 것**이라 소유권이 이미
|
|
254
|
+
// 증명돼 있다. 다시 목록을 받아 확인하면 같은 질의를 두 번 하는 것뿐이다.
|
|
255
|
+
// 검사가 필요한 것은 **사용자가 준** series_id 다 — safety.test.ts 의 A11 이
|
|
256
|
+
// 스스로 그 범위를 적어두고 있다.
|
|
257
|
+
if (series_id && !seriesFromName)
|
|
252
258
|
await assertOwnsSeries(client, series_id, 'velog_publish_post');
|
|
253
259
|
// ★ 상한은 '검증을 다 통과한 뒤' 소비한다. 앞에 두면 잘못된 입력으로
|
|
254
260
|
// 5번 실패해도 5분간 공개 발행이 막힌다.
|
|
@@ -409,6 +415,7 @@ export function registerPublishTools(server, client, capabilities, limiter) {
|
|
|
409
415
|
// `''` 로 평가돼 기존 시리즈가 전송에서 빠졌고, 전체교체형 editPost 가
|
|
410
416
|
// **연결을 끊었다.** 끊고 싶으면 벨로그에서 직접 할 일이다.
|
|
411
417
|
let series_id = args.series_id?.trim() || undefined;
|
|
418
|
+
let seriesFromName = false;
|
|
412
419
|
const { series_name } = args;
|
|
413
420
|
// ★ 병합 수정. 기존 값을 읽어 생략 필드를 채운다 — 초안 도구에서
|
|
414
421
|
// '생략하면 초기화'가 사고를 부른다는 걸 확인했으므로 이쪽은 보존한다.
|
|
@@ -429,8 +436,13 @@ export function registerPublishTools(server, client, capabilities, limiter) {
|
|
|
429
436
|
// ★ 이름을 id 로 바꾼다. **저장 전에** 한다 — 못 찾으면 아무것도 안 쓴 채 멈춘다.
|
|
430
437
|
if (series_name !== undefined && series_id === undefined) {
|
|
431
438
|
series_id = await resolveSeriesId(client, post.user?.username ?? (await resolveMyUsername(client, extra.signal)), series_name, 'velog_update_post', extra.signal);
|
|
439
|
+
seriesFromName = true;
|
|
432
440
|
}
|
|
433
|
-
|
|
441
|
+
// ★ 이름으로 찾은 id 는 **내 시리즈 목록에서 고른 것**이라 소유권이 이미
|
|
442
|
+
// 증명돼 있다. 다시 목록을 받아 확인하면 같은 질의를 두 번 하는 것뿐이다.
|
|
443
|
+
// 검사가 필요한 것은 **사용자가 준** series_id 다 — safety.test.ts 의 A11 이
|
|
444
|
+
// 스스로 그 범위를 적어두고 있다.
|
|
445
|
+
if (series_id && !seriesFromName)
|
|
434
446
|
await assertOwnsSeries(client, series_id, 'velog_update_post');
|
|
435
447
|
// ★★ 공개 범위는 **기존 값을 잇는다.** 게이트가 꺼져 있어도 마찬가지다.
|
|
436
448
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/tools/publish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/tools/publish.ts"],"names":[],"mappings":"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"}
|
package/docs/architecture.md
CHANGED
|
@@ -40,7 +40,7 @@ MCP 클라이언트 (Claude 등)
|
|
|
40
40
|
|
|
41
41
|
## 이 레포가 쓰지 않는 TypeScript 문법
|
|
42
42
|
|
|
43
|
-
Node
|
|
43
|
+
Node 는 22.18 부터 `.ts` 를 **타입 스트리핑**으로 직접 실행한다. 지우기만 하고 코드를
|
|
44
44
|
생성하지 않으므로, 변환이 필요한 문법은 `ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX` 로
|
|
45
45
|
죽는다. 실제로 겪은 것:
|
|
46
46
|
|
|
@@ -73,7 +73,7 @@ GraphQL POST 한 함수 + 도구 정의들이라 규모가 크지 않다.
|
|
|
73
73
|
|
|
74
74
|
## 결과
|
|
75
75
|
|
|
76
|
-
- 런타임 의존성 2개 유지 (MCP SDK, zod). fetch
|
|
76
|
+
- 런타임 의존성 2개 유지 (MCP SDK, zod). fetch 와 테스트 러너와 타입 스트리핑은 Node 내장
|
|
77
77
|
- introspection 실측을 `docs/api-reference.md` 에 날짜와 함께 고정
|
|
78
78
|
- 발행·삭제·소셜·계정 mutation 은 **미구현**. `docs/security.md` 에 목록과 이유 기록
|
|
79
79
|
|
package/docs/tools.md
CHANGED
|
@@ -157,7 +157,7 @@ views: 16323
|
|
|
157
157
|
| `tags` | | 태그 배열. 기본 `[]` |
|
|
158
158
|
| `url_slug` | | 생략하면 제목에서 생성. 한글 그대로 둔다 |
|
|
159
159
|
| `thumbnail` | | 이미지 URL |
|
|
160
|
-
| `series_id` | | `velog_list_series` 에서 얻은 id.
|
|
160
|
+
| `series_id` | | `velog_list_series` 에서 얻은 id. 벨로그가 초안 생성 단계에서 이걸 버리므로, 이 도구가 저장 직후 한 번 더 붙이고 붙었는지 확인해 결과에 적는다 |
|
|
161
161
|
|
|
162
162
|
성공하면 편집 URL 과 함께 **"아직 발행되지 않았습니다"** 를 명시한다.
|
|
163
163
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milcho0604/velog-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@milcho0604/velog-mcp",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.6.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"typescript-eslint": "^8.65.0"
|
|
26
26
|
},
|
|
27
27
|
"engines": {
|
|
28
|
-
"node": ">=
|
|
28
|
+
"node": ">=22.18.0"
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"node_modules/@eslint-community/eslint-utils": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milcho0604/velog-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Velog MCP server — 읽기 전면 지원. 쓰기는 초안과 비공개 발행이 기본이고, 공개 발행은 VELOG_ALLOW_PUBLIC=1 로 사용자가 켠다.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,9 +14,7 @@
|
|
|
14
14
|
"LICENSE",
|
|
15
15
|
"npm-shrinkwrap.json"
|
|
16
16
|
],
|
|
17
|
-
"engines": {
|
|
18
|
-
"node": ">=24"
|
|
19
|
-
},
|
|
17
|
+
"engines": { "node": ">=22.18.0" },
|
|
20
18
|
"scripts": {
|
|
21
19
|
"prebuild": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
22
20
|
"build": "tsc -p tsconfig.build.json",
|