pdf-tools
Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.
사용해야 할까요
품질 및 안전성
발견 사항 (5)
- LOWmerge_pdfs에서
- LOWextract_pages에서
- LOWwatermark_pdf에서
- LOWadd_page_numbers에서
- LOWflatten_pdf에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"pdf-tools": {
"url": "https://pdfia.com/mcp"
}
}
}원격 엔드포인트
https://pdfia.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (10)
⚪merge_pdfs(files)
Merge multiple PDF files into one, in the order given. Returns the merged PDF as base64.
입력 스키마
{
"type": "object",
"properties": {
"files": {
"type": "array",
"items": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"description": "2+ PDFs, base64-encoded, in merge order"
}
},
"required": [
"files"
]
}🟢split_pdf(file, ranges)
Split a PDF into parts. Provide ranges like "1-3, 5, 8-10" (each comma group becomes one output PDF), or omit ranges to get every page as its own PDF. Returns base64 files.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"ranges": {
"type": "string",
"description": "e.g. \"1-3, 5, 8-10\"; omit for one file per page"
}
},
"required": [
"file"
]
}🟢extract_pages(file, pages)
Extract the given pages into a new PDF (original order). Returns base64.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"pages": {
"type": "string",
"description": "Page list like \"2, 5-7\" (1-based)"
}
},
"required": [
"file",
"pages"
]
}🔴remove_pages(file, pages)
Delete the given pages from a PDF. Returns the remaining document as base64.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"pages": {
"type": "string",
"description": "Page list like \"2, 5-7\" (1-based)"
}
},
"required": [
"file",
"pages"
]
}🟢rotate_pdf(file, degrees, pages)
Rotate pages clockwise by 90, 180, or 270 degrees. Rotates all pages unless a page list is given. Returns base64.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"degrees": {
"type": "number",
"enum": [
90,
180,
270
]
},
"pages": {
"type": "string",
"description": "Optional page list like \"1, 3\"; omit to rotate all"
}
},
"required": [
"file",
"degrees"
]
}⚪watermark_pdf(file, text, opacity, size, color)
Stamp a diagonal text watermark (e.g. "CONFIDENTIAL", "DRAFT") across every page. Returns base64.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"text": {
"type": "string",
"description": "Watermark text"
},
"opacity": {
"type": "number",
"description": "0.02–1, default 0.15"
},
"size": {
"type": "number",
"description": "Font size in points, 8–200, default 60"
},
"color": {
"type": "string",
"enum": [
"gray",
"red",
"blue"
],
"description": "Default gray"
}
},
"required": [
"file",
"text"
]
}🟡add_page_numbers(file, position, start, format, size)
Stamp page numbers onto every page of a PDF. Returns base64.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"position": {
"type": "string",
"enum": [
"bottom-center",
"bottom-right",
"bottom-left",
"top-center"
],
"description": "Default bottom-center"
},
"start": {
"type": "number",
"description": "First number, default 1"
},
"format": {
"type": "string",
"enum": [
"n",
"page-n",
"n-of-total"
],
"description": "Default n"
},
"size": {
"type": "number",
"description": "Font size 6–24, default 12"
}
},
"required": [
"file"
]
}🟢get_pdf_metadata(file)
Read a PDF's document properties (title, author, subject, keywords, creator, producer, dates, page count).
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
}
},
"required": [
"file"
]
}🟡set_pdf_metadata(file, title, author, subject, keywords, ...)
Rewrite a PDF's document properties. Pass empty strings to strip identifying metadata before sharing. Returns base64.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"title": {
"type": "string"
},
"author": {
"type": "string"
},
"subject": {
"type": "string"
},
"keywords": {
"type": "string",
"description": "Comma-separated"
},
"creator": {
"type": "string"
},
"producer": {
"type": "string"
}
},
"required": [
"file"
]
}⚪flatten_pdf(file)
Flatten fillable form fields into permanent page content so answers can't be edited. Returns base64.
입력 스키마
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
}
},
"required": [
"file"
]
}커뮤니티
증거