Task402 PDF Tools
Paid PDF generation and deterministic tools for search, citations, comparison, and page rendering.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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#"
}커뮤니티
증거