@clazic/kordoc 2.1.3 → 2.1.5

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 CHANGED
@@ -192,28 +192,69 @@ kordoc watch ./수신함 -d ./변환결과 # 폴더 감시 모드
192
192
  kordoc watch ./문서 --webhook https://api/hook # 웹훅 알림
193
193
  ```
194
194
 
195
- ## MCP 서버 (Claude / Cursor / Windsurf)
195
+ ## MCP 서버
196
196
 
197
- ### 원격 MCP (설치 불필요 파일을 base64로 전송)
197
+ AI 도구에서 직접 문서를 파싱할 수 있습니다. **로컬 MCP**와 **원격 MCP** 가지 방식을 지원합니다.
198
+
199
+ | | 로컬 MCP | 원격 MCP |
200
+ |---|---|---|
201
+ | 지원 포맷 | HWP, HWPX, PDF, XLSX, DOCX | HWPX, PDF, XLSX, DOCX |
202
+ | 설치 | `npm install -g @clazic/kordoc` 필요 | 설치 불필요 |
203
+ | 파일 전달 | 파일 경로 직접 | base64 인코딩 |
204
+
205
+ ---
206
+
207
+ ### 로컬 MCP (전 포맷 지원, 권장)
208
+
209
+ **1. 전역 설치**
210
+
211
+ ```bash
212
+ npm install -g @clazic/kordoc
213
+ ```
214
+
215
+ **2. AI 도구별 설정**
216
+
217
+ #### Claude Code
218
+
219
+ `~/.claude.json` 에 추가:
198
220
 
199
221
  ```json
200
222
  {
201
223
  "mcpServers": {
202
224
  "kordoc": {
203
- "serverUrl": "https://kordoc-mcp.clazic.workers.dev"
225
+ "type": "stdio",
226
+ "command": "kordoc-mcp",
227
+ "args": [],
228
+ "env": {}
204
229
  }
205
230
  }
206
231
  }
207
232
  ```
208
233
 
209
- > HWPX, XLSX, DOCX, PDF 지원. HWP 5.x는 로컬 MCP 사용.
210
-
211
- ### 로컬 MCP (HWP 5.x 포함 전 포맷, 파일 경로 직접 접근)
234
+ 또는 터미널에서:
212
235
 
213
236
  ```bash
214
- npm install -g @clazic/kordoc
237
+ claude mcp add kordoc -- kordoc-mcp
238
+ ```
239
+
240
+ #### Gemini CLI
241
+
242
+ `~/.gemini/settings.json` 에 추가:
243
+
244
+ ```json
245
+ {
246
+ "mcpServers": {
247
+ "kordoc": {
248
+ "command": "kordoc-mcp"
249
+ }
250
+ }
251
+ }
215
252
  ```
216
253
 
254
+ #### Cursor / Windsurf / VS Code
255
+
256
+ 프로젝트 루트 `.mcp.json` 또는 설정 파일에 추가:
257
+
217
258
  ```json
218
259
  {
219
260
  "mcpServers": {
@@ -224,6 +265,37 @@ npm install -g @clazic/kordoc
224
265
  }
225
266
  ```
226
267
 
268
+ #### Windows
269
+
270
+ Windows에서는 `cmd`를 통해 실행해야 합니다:
271
+
272
+ ```json
273
+ {
274
+ "mcpServers": {
275
+ "kordoc": {
276
+ "command": "cmd",
277
+ "args": ["/c", "kordoc-mcp"]
278
+ }
279
+ }
280
+ }
281
+ ```
282
+
283
+ ---
284
+
285
+ ### 원격 MCP (설치 없이 바로 사용)
286
+
287
+ HWP 5.x를 제외한 모든 포맷 지원. 설치 없이 바로 연결 가능합니다.
288
+
289
+ ```json
290
+ {
291
+ "mcpServers": {
292
+ "kordoc": {
293
+ "serverUrl": "https://kordoc-mcp.clazic.workers.dev"
294
+ }
295
+ }
296
+ }
297
+ ```
298
+
227
299
  **7개 도구:**
228
300
 
229
301
  | 도구 | 설명 |
@@ -6,7 +6,7 @@ import {
6
6
  precheckZipSize,
7
7
  sanitizeHref,
8
8
  toArrayBuffer
9
- } from "./chunk-WQNXZXC4.js";
9
+ } from "./chunk-LP7HUOZB.js";
10
10
  import {
11
11
  parsePageRange
12
12
  } from "./chunk-MOL7MDBG.js";
@@ -309,7 +309,7 @@ var HEADING_RATIO_H2 = 1.3;
309
309
  var HEADING_RATIO_H3 = 1.15;
310
310
 
311
311
  // src/hwpx/parser.ts
312
- var MAX_DECOMPRESS_SIZE = 100 * 1024 * 1024;
312
+ var MAX_DECOMPRESS_SIZE = 500 * 1024 * 1024;
313
313
  var MAX_ZIP_ENTRIES = 500;
314
314
  function clampSpan(val, max) {
315
315
  return Math.max(1, Math.min(val, max));
@@ -1135,7 +1135,7 @@ function readRecords(data) {
1135
1135
  }
1136
1136
  return records;
1137
1137
  }
1138
- var MAX_DECOMPRESS_SIZE2 = 100 * 1024 * 1024;
1138
+ var MAX_DECOMPRESS_SIZE2 = 500 * 1024 * 1024;
1139
1139
  function decompressStream(data) {
1140
1140
  const opts = { maxOutputLength: MAX_DECOMPRESS_SIZE2 };
1141
1141
  if (data.length >= 2 && data[0] === 120) {
@@ -1969,7 +1969,7 @@ var END_OF_CHAIN = 4294967294;
1969
1969
  var FREE_SECT = 4294967295;
1970
1970
  var MAX_CHAIN_LENGTH = 1e6;
1971
1971
  var MAX_DIR_ENTRIES = 1e5;
1972
- var MAX_STREAM_SIZE = 100 * 1024 * 1024;
1972
+ var MAX_STREAM_SIZE = 500 * 1024 * 1024;
1973
1973
  function parseLenientCfb(data) {
1974
1974
  if (data.length < 512) throw new Error("CFB \uD30C\uC77C\uC774 \uB108\uBB34 \uC9E7\uC2B5\uB2C8\uB2E4 (\uCD5C\uC18C 512\uBC14\uC774\uD2B8)");
1975
1975
  if (!data.subarray(0, 8).equals(CFB_MAGIC)) throw new Error("CFB \uB9E4\uC9C1 \uBC14\uC774\uD2B8 \uBD88\uC77C\uCE58");
@@ -2147,7 +2147,7 @@ import { createRequire } from "module";
2147
2147
  var require2 = createRequire(import.meta.url);
2148
2148
  var CFB = require2("cfb");
2149
2149
  var MAX_SECTIONS = 100;
2150
- var MAX_TOTAL_DECOMPRESS = 100 * 1024 * 1024;
2150
+ var MAX_TOTAL_DECOMPRESS = 500 * 1024 * 1024;
2151
2151
  function parseHwp5Document(buffer, options) {
2152
2152
  let cfb = null;
2153
2153
  let lenientCfb = null;
@@ -3410,7 +3410,7 @@ g.pdfjsWorker = pdfjsWorker;
3410
3410
  import { getDocument, GlobalWorkerOptions } from "pdfjs-dist/legacy/build/pdf.mjs";
3411
3411
  GlobalWorkerOptions.workerSrc = "";
3412
3412
  var MAX_PAGES = 5e3;
3413
- var MAX_TOTAL_TEXT = 100 * 1024 * 1024;
3413
+ var MAX_TOTAL_TEXT = 500 * 1024 * 1024;
3414
3414
  var PDF_LOAD_TIMEOUT_MS = 3e4;
3415
3415
  async function loadPdfWithTimeout(buffer) {
3416
3416
  const loadingTask = getDocument({
@@ -4375,7 +4375,7 @@ import { readFile } from "fs/promises";
4375
4375
  import JSZip3 from "jszip";
4376
4376
  import { DOMParser as DOMParser2 } from "@xmldom/xmldom";
4377
4377
  var MAX_SHEETS = 100;
4378
- var MAX_DECOMPRESS_SIZE3 = 100 * 1024 * 1024;
4378
+ var MAX_DECOMPRESS_SIZE3 = 500 * 1024 * 1024;
4379
4379
  var MAX_ROWS2 = 1e4;
4380
4380
  var MAX_COLS2 = 200;
4381
4381
  function cleanNumericValue(raw) {
@@ -4655,7 +4655,7 @@ async function parseXlsxDocument(buffer, options) {
4655
4655
  // src/docx/parser.ts
4656
4656
  import JSZip4 from "jszip";
4657
4657
  import { DOMParser as DOMParser3 } from "@xmldom/xmldom";
4658
- var MAX_DECOMPRESS_SIZE4 = 100 * 1024 * 1024;
4658
+ var MAX_DECOMPRESS_SIZE4 = 500 * 1024 * 1024;
4659
4659
  function getChildElements(parent, localName) {
4660
4660
  const result = [];
4661
4661
  const children = parent.childNodes;
@@ -5491,4 +5491,4 @@ export {
5491
5491
  extractFormFields,
5492
5492
  parse
5493
5493
  };
5494
- //# sourceMappingURL=chunk-P7ZKUWEP.js.map
5494
+ //# sourceMappingURL=chunk-A7G6BYLH.js.map