{"serverId":"mcp-registry/page.doc/pdf-extract","tools":[{"name":"create_doc_link","fixed":{"name":"create_doc_link","description":"Publish a PDF as a tracked doc.page Doc Link and get back a shareable URL. The link belongs to the API key's account and also appears in its doc.page library. Requires an API key. Free plan: up to 3 active links; custom vanity slugs are premium-only. Optional expiry and open-notification toggle.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"http(s) URL of the PDF to publish (max 25 MB)."},"name":{"type":"string","description":"Display name in the library. Defaults to the filename."},"slug":{"type":"string","description":"Custom vanity slug (premium plans only). Lowercase letters, digits and hyphens."},"expiresAt":{"type":"string","description":"ISO 8601 date-time after which the link stops working. Omit for no expiry."},"notifyOnOpen":{"type":"boolean","description":"Email the account owner on the first open. Default true."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":269,"tokensAfter":269},{"name":"get_chunks","fixed":{"name":"get_chunks","description":"Split a PDF into semantic chunks ready for embeddings (RAG). Each chunk carries its text, estimated tokens, starting page, section heading and the source element ids for citation.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"http(s) URL of the PDF to chunk."},"maxTokens":{"type":"integer","description":"Target chunk size in tokens. Default 512."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"get_doc_link_stats","fixed":{"name":"get_doc_link_stats","description":"Reading analytics for one Doc Link of the API key's account, by id or slug. Always returns the summary (total views, unique visitors, last visit). Premium plans additionally get countries, visitor companies (as_org) and per-page views + average dwell time; pass include:[\"visits\"] for the recent visit rows. Requires an API key.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Doc Link item id (from create_doc_link or list_doc_links)."},"slug":{"type":"string","description":"Doc Link slug — alternative to id."},"include":{"type":"array","items":{"enum":["visits"],"type":"string"},"description":"Extra sections. \"visits\" adds the recent visit rows (enriched on premium plans)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":222,"tokensAfter":222},{"name":"list_doc_links","fixed":{"name":"list_doc_links","description":"List the Doc Links of the API key's account (id, slug, URL, name, disabled/expiry state, total views, last view). Use this to recover links created in earlier sessions before querying stats. Requires an API key.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"list_tables","fixed":{"name":"list_tables","description":"Return every table in a PDF as structured JSON (reconstructed rows and columns) with page and bounding box for verifiable citations. Uses the semantic (hybrid) engine.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"http(s) URL of the PDF."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"revoke_doc_link","fixed":{"name":"revoke_doc_link","description":"Disable a Doc Link of the API key's account (by id or slug) so the public URL stops serving. The item and its stats remain in the library; on the free plan this frees an active-link slot. Requires an API key.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Doc Link item id."},"slug":{"type":"string","description":"Doc Link slug — alternative to id."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128}],"toolsChanged":6,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}