DeckExtract
Server Details
Download DocSend and Papermark decks as PDF or PPTX, including email-gated and protected links.
- Status
- Healthy
- Uptime
- 100.0% over 48 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: account_status reports plan and quota, while deckextract performs the actual extraction. There is no overlap or risk of confusion between them.
The names use different conventions: account_status is snake_case, while deckextract is a single concatenated lowercase word. Both are readable and lowercase, but the set lacks a predictable shared verb_noun or noun_noun pattern.
Two tools is slightly below the ideal 3-15 range, but the server's purpose is narrow and both tools earn their place. It covers the core extraction action plus account/quota awareness without bloat.
The surface covers extraction, verification retries, usage quota, and account status. Minor gaps exist, such as no standalone extraction history or explicit async job-status tool, but core workflows are supported.
Available Tools
2 toolsaccount_statusCheck your DeckExtract account statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | 'unlimited' is the Pro plan |
| No | ||
| isPro | Yes | |
| remaining | Yes | Extractions left this month; null when unlimited |
| monthlyLimit | Yes | Free-plan monthly cap; null when unlimited |
| monthlyUsage | Yes | Extractions used this calendar month |
| authenticated | Yes | Whether the caller is signed in |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so behavioral traits are covered. The description adds detail on what data is returned, which is useful but not beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters, good annotations, and an output schema, the description is adequately complete. It specifies the key returned fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage is 100%. Description confirms 'Takes no input,' matching the empty input schema. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns account plan, sign-in status, and usage/quota. Verb 'returns' and resource 'calling account's status' are specific. Sibling 'deckextract' is likely for a different purpose, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it takes no input, implying it can be called freely. Does not explicitly state when not to use it, but context with sibling tool makes it clear this is for status checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deckextractExtract a DocSend or Papermark deckAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| otp | No | The 6-digit verification code the deck emailed to the viewer (requires_email_otp step). Send together with otpSessionId. | |
| url | Yes | The deck sharing link, e.g. https://docsend.com/view/... or https://papermark.com/view/... — on a requires_email_confirmation retry, pass the confirmation link from the verification email instead. | |
| No | Email to present to email-gated decks. If omitted, an ephemeral address is generated automatically when the deck requires one. | ||
| format | No | Output format (default 'pdf') | |
| analyze | No | If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Part of DeckExtract for Funds. | |
| password | No | Passcode for passcode-protected decks | |
| sessionId | No | 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 | No | Resume token from a prior requires_email_otp reply. The parked session lives ~5 minutes; a wrong code returns a fresh token. |
Output Schema
| Name | Required | Description |
|---|---|---|
| format | Yes | |
| analysis | No | Structured deck analysis (present when analyze=true succeeded) |
| expiresAt | Yes | ISO timestamp when the URL/resource expires |
| sizeBytes | Yes | |
| sourceUrl | Yes | |
| downloadUrl | Yes | Temporary URL of the extracted deck |
| resourceUri | Yes | MCP resource URI (deckextract://deck/...) to read the bytes via resources/read |
| analysisError | No | Set when extraction succeeded but analysis could not be produced |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: the return shape (temporary download URL plus a deckextract:// resource), ZIP output for data rooms, the analyze opt-in tied to DeckExtract for Funds, resume-token retry mechanics, 15-90 second latency, and a 5-per-IP-per-30-minute rate limit. The annotations only flag openWorld/idempotent/non-destructive, so the description carries real operational weight without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return shape, then layered retry/rate-limit detail. Dense but nearly every sentence conveys actionable information; the parenthetical about data rooms is slightly clunky but earns its place by clarifying ZIP behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with an output schema, the description covers the gaps the schema does not: async timing, rate limits, retry/auth paths, and output alternatives. An agent has everything needed to invoke and recover from failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining the workflow interlock between parameters (that otp is fetched from the emailed code and must be paired with the resumed session, and that url is repurposed as the confirmation link on a retry). This adds meaning about how parameters relate, not just what they are.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Extract') and resource ('a deck') plus the exact source domains (DocSend or Papermark sharing link). It is trivially distinguishable from the only sibling, account_status, which is an unrelated account tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete conditional guidance: how to handle decks that trigger an emailed verification step, which parameters to retry with for Papermark (otp + otpSessionId) vs DocSend (url confirmation link + sessionId), and that data rooms should be passed as a normal link. It does not explicitly state when NOT to use the tool, which keeps it at 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
deckextract1 field changed- changed
Input schema / properties / analyze / descriptionPrevious value: -"If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Requires a DeckExtract Pro account."New value: +"If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Part of DeckExtract for Funds."
1 tool update
- Changed
deckextract4 fields changed- added
Input schema / properties / otpAdded value: +{ + "description": "The 6-digit verification code the deck emailed to the viewer (requires_email_otp step). Send together with otpSessionId.", + "type": "string" +} - added
Input schema / properties / otpSessionIdAdded value: +{ + "description": "Resume token from a prior requires_email_otp reply. The parked session lives ~5 minutes; a wrong code returns a fresh token.", + "type": "string" +} - added
Input schema / properties / sessionIdAdded value: +{ + "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.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"The deck sharing link, e.g. https://docsend.com/view/... or https://papermark.com/view/..."New value: +"The deck sharing link, e.g. https://docsend.com/view/... or https://papermark.com/view/... — on a requires_email_confirmation retry, pass the confirmation link from the verification email instead."
2 tool updates
- Added
account_status - Changed
deckextract1 field changed- changed
Input schema / properties / analyze / descriptionPrevious value: -"If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Requires a DeckExtract Pro API key in the Authorization header."New value: +"If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Requires a DeckExtract Pro account."
1 tool update
- Changed
deckextract7 fields changed- added
Input schema / properties / analyzeAdded value: +{ + "description": "If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Requires a DeckExtract Pro API key in the Authorization header.", + "type": "boolean" +} - added
Output schema / properties / analysisAdded value: +{ + "description": "Structured deck analysis (present when analyze=true succeeded)" +} - added
Output schema / properties / analysisErrorAdded value: +{ + "description": "Set when extraction succeeded but analysis could not be produced", + "type": "string" +} - changed
Output schema / properties / expiresAt / descriptionPrevious value: -"ISO timestamp when the URL expires"New value: +"ISO timestamp when the URL/resource expires" - changed
Output schema / properties / format / enumPrevious value: -[ - "pdf", - "pptx" -]New value: +[ + "pdf", + "pptx", + "zip" +] - added
Output schema / properties / resourceUriAdded value: +{ + "description": "MCP resource URI (deckextract://deck/...) to read the bytes via resources/read", + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "downloadUrl", - "format", - "sizeBytes", - "expiresAt", - "sourceUrl" -]New value: +[ + "downloadUrl", + "resourceUri", + "format", + "sizeBytes", + "expiresAt", + "sourceUrl" +]
1 tool update
- First observed
deckextract
Related MCP Connectors
Create polished slide decks from text or YouTube links in seconds. Fetch video transcripts to tran…
Generate, edit, and export AI presentations to PDF, PPTX, or a shareable link.
Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL.
Extract PDFs to Markdown, RAG chunks and cited tables; publish tracked Doc Links with read stats.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to convert NotebookLM PDF exports into high-quality PowerPoint presentations with automatic watermark removal and vector graphics preservation. It provides automated tools for slide conversion, metadata management, and document processing via the Model Context Protocol.17MIT
- AlicenseAqualityCmaintenanceConvert HTML to PDF/PNG/WebP/PPTX slide carousels with 11 themes. For LinkedIn carousels, decks, Instagram posts, and infographics — Puppeteer-based pixel-perfect rendering.62MIT

mulmocast-visionofficial
AlicenseCqualityAmaintenanceEnables LLMs to automatically generate presentation slides from natural language instructions using 80+ business-oriented templates, with auto-save and PDF export.834,921 npm1AGPL 3.0- AlicenseAqualityFmaintenanceGenerate professional AI-powered presentations from a topic, raw text, or document file. Export to PPTX, PDF, image, or shareable link.51MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.