Twinkle HubTwinkle Hub
Sign in

📌 2026-06-30 added: 🎓 Teacher exam dual corpus — 12,731 qualification questions + 2,421 recruitment questions (519 datasets)

View full changelog →

Extract PDF text

twtools-extract_pdf_text

GenericMIT

提取 PDF 內文(pymupdf-based, born-digital only)。

Args:
    source: PDF URL 或 base64-encoded PDF 內容。
    max_pages: 最多處理幾頁(None = 全部)。

Returns: text + per-page list + is_scanned flag。

**行為說明(重要,client agents 請注意)**:
- 對 born-digital PDF(含可選取文字):正常回 text + pages
- 對 scanned / image-only PDF:**這不是錯誤**,會優雅降級回
  `{is_scanned: true, reason: "OCR required, ..."}`,無 `error` 欄位、
  也不丟例外。掃描件 OCR 屬高階方案 call_agent 範圍,本 tool 不處理。
- 下游 agent 看到 `is_scanned: true` 應該當作「PDF 不適合此 tool」而非
  「呼叫失敗」,可改走 OCR 或請使用者重供 born-digital 版本。

Input schema

{
  "properties": {
    "source": {
      "title": "Source",
      "type": "string"
    },
    "max_pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Pages"
    }
  },
  "required": [
    "source"
  ],
  "title": "extract_pdf_textArguments",
  "type": "object"
}

How to call

Once your Twinkle Hub MCP client is configured, your agent will see twtools-extract_pdf_text. Just ask it to call — example:

# Ask Claude / any MCP client:
請用 twtools-extract_pdf_text 處理 "…"。

# It will call:
twtools-extract_pdf_text(input="…")

Haven't set up a client yet?

Claude Desktop in 3 minutes — download the .mcpb and double-click, or see docs for other clients.

See user docs