MCP-Server

DeckExtract

com.deckextract/deckextract
Medien & Inhalte Produktivität Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Extracts DocSend and Papermark presentations or data rooms as downloadable PDF, PPTX, or ZIP files, with optional structured analysis.

account_status
Check your DeckExtract account status
Returns the calling account's plan (free or Pro), whether it's signed in, and this month's extraction usage and remaining quota. Takes no input.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['authenticated', 'plan', 'isPro', 'monthlyUsage', 'monthlyLimit', 'remaining'], 'properties': {'plan': {'enum': ['anonymous', 'free', 'unlimited'], 'type': 'string', 'description': "'unlimited' is the Pro plan"}, 'email': {'type': ['string', 'null']}, 'isPro': {'type': 'boolean'}, 'remaining': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'description': 'Extractions left this month; null when unlimited'}, 'monthlyLimit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'description': 'Free-plan monthly cap; null when unlimited'}, 'monthlyUsage': {'type': 'integer', 'description': 'Extractions used this calendar month'}, 'authenticated': {'type': 'boolean', 'description': 'Whether the caller is signed in'}}, 'additionalProperties': False}
deckextract
Extract a DocSend or Papermark deck
Extract a deck from a DocSend or Papermark sharing link. Returns a temporary download URL and a readable `deckextract://deck/...` resource for the PDF/PPTX (or a ZIP for data rooms — a DocSend Space or Papermark data room counts as one extraction like any other link). Pass `analyze: true` (part of DeckExtract for Funds) to also return structured deck data. Decks that email the viewer a verification step return resume tokens with retry instructions: fetch the emailed 6-digit code and retry with `otp` + `otpSessionId` (Papermark), or retry with `url` set to the emailed confirmation link + `sessionId` (DocSend). Typical extraction takes 15-90 seconds; the public API is rate limited to 5 extractions per IP per 30 minutes.
Externer Zugriff
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'otp': {'type': 'string', 'description': 'The 6-digit verification code the deck emailed to the viewer (requires_email_otp step). Send together with otpSessionId.'}, 'url': {'type': 'string', 'format': 'uri', 'description': 'The deck sharing link, e.g. https://docsend.com/view/... or https://papermark.com/view/... â\x80\x94 on a requires_email_confirmation retry, pass the confirmation link from the verification email instead.'}, 'email': {'type': 'string', 'format': 'email', 'description': 'Email to present to email-gated decks. If omitted, an ephemeral address is generated automatically when the deck requires one.'}, 'format': {'enum': ['pdf', 'pptx'], 'type': 'string', 'description': "Output format (default 'pdf')"}, 'analyze': {'type': 'boolean', 'description': 'If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Part of DeckExtract for Funds.'}, 'password': {'type': 'string', 'description': 'Passcode for passcode-protected decks'}, 'sessionId': {'type': 'string', 'description': 'Resume token from a prior requires_password or requires_email_confirmation reply. Echo it on the retry so the same viewer session is reused.'}, 'otpSessionId': {'type': 'string', 'description': 'Resume token from a prior requires_email_otp reply. The parked session lives ~5 minutes; a wrong code returns a fresh token.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['downloadUrl', 'resourceUri', 'format', 'sizeBytes', 'expiresAt', 'sourceUrl'], 'properties': {'format': {'enum': ['pdf', 'pptx', 'zip'], 'type': 'string'}, 'analysis': {'description': 'Structured deck analysis (present when analyze=true succeeded)'}, 'expiresAt': {'type': 'string', 'description': 'ISO timestamp when the URL/resource expires'}, 'sizeBytes': {'type': 'integer'}, 'sourceUrl': {'type': 'string'}, 'downloadUrl': {'type': 'string', 'description': 'Temporary URL of the extracted deck'}, 'resourceUri': {'type': 'string', 'description': 'MCP resource URI (deckextract://deck/...) to read the bytes via resources/read'}, 'analysisError': {'type': 'string', 'description': 'Set when extraction succeeded but analysis could not be produced'}}, 'additionalProperties': False}
Geändert
deckextract
1. October 2026 02:53
Hinzugefügt
account_status
17. September 2026 12:34
Hinzugefügt
deckextract
17. September 2026 12:34