NextPDF Connect — MCP 概覽¶
什麼是 MCP?¶
Model Context Protocol(MCP) 是 Anthropic 開源的標準協定,讓 AI 語言模型能透過標準化介面安全地呼叫外部工具與資源。MCP 採用 JSON-RPC 2.0 傳輸,將工具定義(Schema)、呼叫(Call)與回應(Response)標準化。
AI 助理(Claude / GPT-4o 等)
↓ MCP 工具呼叫請求
MCP Server(nextpdf/mcp-server)
↓ 調用
NextPDF Core / Pro / Enterprise
↓ 回傳
PDF 操作結果
MCP 的核心優勢: - 工具可發現性:AI 助理可查詢可用工具清單與 Schema - 類型安全:JSON Schema 強制輸入驗證 - 標準化錯誤:統一的錯誤回應格式 - 無狀態設計:每次工具呼叫獨立,無隱性狀態
NextPDF Connect 設計理念¶
nextpdf/mcp-server 遵循以下設計原則:
1. 最小驚喜原則¶
每個 MCP 工具的行為與其名稱完全一致。工具不執行超出宣告範圍的操作,不留下副作用。
2. 防禦性輸入驗證¶
所有工具在執行前均驗證輸入: - PDF 檔案路徑存在性與可讀性 - 頁碼範圍合法性 - 檔案大小限制(防止記憶體耗盡攻擊) - 惡意 PDF 偵測(JS 注入、嵌入可執行檔)
3. 明確的風險標記¶
每個工具都有風險等級標記(low / medium / high),協助 AI 助理設計適當的 HITL 流程:
4. 漸進式功能解鎖¶
工具集依授權層級分為三組,Core 工具完全免費:
Core Tools (9 個,免費)
↳ 覆蓋 80% 的日常 PDF AI 任務
Pro Tools (8 個,商業授權)
↳ 解鎖進階分析與比對能力
Enterprise Tools (8 個,商業授權)
↳ 解鎖合規、鑑識與向量嵌入
工具呼叫流程¶
sequenceDiagram
participant AI as AI 助理
participant MCP as NextPDF MCP Server
participant Core as NextPDF Core/Pro/Enterprise
participant FS as 檔案系統
AI->>MCP: list_tools()
MCP-->>AI: 20 個工具定義(JSON Schema)
AI->>MCP: call_tool("parse_pdf", {"path": "/docs/report.pdf"})
MCP->>MCP: 輸入驗證(路徑安全性、檔案存在性)
MCP->>FS: 讀取 PDF 檔案
MCP->>Core: Document::parse("/docs/report.pdf")
Core-->>MCP: 解析結果
MCP-->>AI: {pages: 10, text: "...", metadata: {...}} 工具清單(摘要)¶
完整工具定義請見 工具目錄。
Core 工具(免費,9 個)¶
| 工具名稱 | 功能 | 風險等級 |
|---|---|---|
parse_pdf | 解析 PDF 元資料與結構 | low |
extract_text | 提取頁面文字內容 | low |
extract_metadata | 讀取文件屬性 | low |
compress_images | 壓縮嵌入影像 | medium |
add_watermark | 添加文字浮水印 | medium |
merge_pdfs | 合併多份 PDF | medium |
split_pdf | 依頁面範圍拆分 PDF | medium |
protect_pdf | 設定密碼保護 | high |
generate_pdf | 從 HTML/Markdown 生成 PDF | medium |
Pro 工具(8 個)¶
| 工具名稱 | 功能 | 風險等級 |
|---|---|---|
compare_pdfs | 語意比對兩份 PDF | low |
extract_tables | 提取表格為 JSON/CSV | low |
extract_forms | 讀取 AcroForm 欄位值 | low |
fill_form | 填寫 AcroForm 表單 | medium |
sign_pdf | PAdES B-B 數位簽章 | high |
validate_signatures | 驗證現有簽章 | low |
convert_to_pdfa | 轉換為 PDF/A 存檔格式 | medium |
redact_pdf | 不可逆文字塗黑 | high |
Enterprise 工具(8 個)¶
| 工具名稱 | 功能 | 風險等級 |
|---|---|---|
forensic_analyze | 鑑識分析(元資料、修改歷史) | low |
embed_documents | 向量化嵌入至向量資料庫 | medium |
semantic_search | 在已索引文件中語意搜尋 | low |
generate_invoice | 生成 ZUGFeRD 電子發票 | high |
batch_process | 批次 PDF 操作 | medium |
audit_trail | 生成操作審計報告 | low |
apply_policy | 套用合規政策(GDPR 塗黑等) | high |
hsm_sign | 透過 HSM 執行企業簽章 | high |
設計決策說明¶
為何選擇 JSON-RPC 而非 REST?¶
MCP 標準本身採用 JSON-RPC 2.0。這確保與所有支援 MCP 的 AI 平台相容,而不需要為每個平台設計獨立的 REST 包裝器。
為何工具不接受原始 PDF Bytes?¶
MCP 協定的設計假設工具運行在伺服器端,直接存取本地或網路檔案系統。傳遞大型 Bytes 會超過 JSON-RPC 的有效負載限制,且增加 AI 模型的 Token 消耗。工具接受 檔案路徑 或 URL,由 MCP Server 負責 I/O。