Task402 PDF Tools

Paid PDF generation and deterministic tools for search, citations, comparison, and page rendering.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
80%
이름 품질
98%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,442토큰 (도구 정의)
~1.6 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.91%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "x402-docs": {
      "url": "https://task402.xyz/mcp"
    }
  }
}

원격 엔드포인트

https://task402.xyz/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (10)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟡generate_pdf(title, markdown, idempotency_key)

Create a professionally formatted, paginated PDF from Markdown. Returns a short-lived download capability.

입력 스키마

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "markdown": {
      "type": "string",
      "minLength": 1,
      "maxLength": 245760
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "title",
    "markdown",
    "idempotency_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_pdf_job(job_id, capability)

Read the status for a PDF job using its unguessable capability.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    }
  },
  "required": [
    "job_id",
    "capability"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢inspect_pdf(document_id, capability)

Inspect a previously uploaded PDF using its document capability. Upload binary PDFs through POST /v1/documents; persist both the returned capability and recovery key securely.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    }
  },
  "required": [
    "document_id",
    "capability"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_document_map(document_id, capability, page)

Return page labels, sizes, native-text previews, bookmarks, and sparse-text warnings. Set page to include up to 500 positioned text blocks for that page.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "document_id",
    "capability"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_document(document_id, capability, query, page, limit)

Find exact normalized text matches in native PDF text (no OCR). Results and excerpts are bounded.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "document_id",
    "capability",
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢read_document(document_id, capability, pages)

Read extractable native text from up to 10 selected pages. Output is limited to 32,000 characters; scanned pages need OCR, which is not provided.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    },
    "pages": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 9007199254740991
      }
    }
  },
  "required": [
    "document_id",
    "capability",
    "pages"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢verify_document_citation(document_id, capability, page, quote)

Check that a quote of 5 to 500 characters appears on the stated page in extracted native text. This does not establish truth or visual reading order.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "quote": {
      "type": "string",
      "minLength": 5,
      "maxLength": 500
    }
  },
  "required": [
    "document_id",
    "capability",
    "page",
    "quote"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_pdfs(left_document_id, left_capability, right_document_id, right_capability)

Compare page count and normalized native text between two separately authorized uploaded PDFs. Image-only and visual differences are not compared.

입력 스키마

{
  "type": "object",
  "properties": {
    "left_document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "left_capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    },
    "right_document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "right_capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    }
  },
  "required": [
    "left_document_id",
    "left_capability",
    "right_document_id",
    "right_capability"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢validate_pdf_text(document_id, capability, page_count, required_text)

Check that the PDF parses, has an optional expected page count, and contains required text. This does not perform PDF/A, signature, visual, or OCR validation.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    },
    "page_count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "required_text": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 500
      }
    }
  },
  "required": [
    "document_id",
    "capability"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢render_pdf_page_region(document_id, capability, page, x, y, ...)

Render one authorized PDF page crop as PNG. x/y/width/height are normalized 0-1 page fractions; output is bounded to four million pixels.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "capability": {
      "type": "string",
      "minLength": 40,
      "maxLength": 64
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "x": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "y": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "width": {
      "type": "number",
      "minimum": 0.001,
      "maximum": 1
    },
    "height": {
      "type": "number",
      "minimum": 0.001,
      "maximum": 1
    },
    "scale": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 3
    }
  },
  "required": [
    "document_id",
    "capability",
    "page",
    "x",
    "y",
    "width",
    "height"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 10개