Server definition
- Hash
- sha256:43c1dc4f6fce409ef9e13265a75765f172c0702771b6d760af2d144696106b4c
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": "Call the `deckextract` tool with a DocSend or Papermark link to extract the deck; you get back a short-lived download link plus a readable `deckextract://deck/...` resource for the PDF/PPTX/ZIP. Pass `analyze: true` (part of DeckExtract for Funds) to also get structured deck data — company, team, round, metrics, market, competition. Some decks email a verification code or link to the viewer: the tool reply then includes the resume token(s) and the exact retry call. If a mail tool is connected (Gmail, Microsoft 365 / Outlook, AnyMailMCP, …), read the verification email from the inbox and retry the tool with it — no need to ask the user. Extractions typically take 15-90 seconds and need a signed-in account (the client prompts you to sign in on first use). Use `account_status` to check the current plan (free, Solo or Funds) and remaining monthly usage.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "account_status",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"authenticated": {
"description": "Whether the caller is signed in",
"type": "boolean"
},
"email": {
"type": [
"string",
"null"
]
},
"isPro": {
"type": "boolean"
},
"monthlyLimit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Free-plan monthly cap; null when unlimited"
},
"monthlyUsage": {
"description": "Extractions used this calendar month",
"type": "integer"
},
"plan": {
"description": "'unlimited' is the Pro plan",
"enum": [
"anonymous",
"free",
"unlimited"
],
"type": "string"
},
"remaining": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Extractions left this month; null when unlimited"
}
},
"required": [
"authenticated",
"plan",
"isPro",
"monthlyUsage",
"monthlyLimit",
"remaining"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"analyze": {
"description": "If true, also return structured analysis of the deck (company, team, round, metrics, market, competition). Part of DeckExtract for Funds.",
"type": "boolean"
},
"email": {
"description": "Email to present to email-gated decks. If omitted, an ephemeral address is generated automatically when the deck requires one.",
"format": "email",
"type": "string"
},
"format": {
"description": "Output format (default 'pdf')",
"enum": [
"pdf",
"pptx"
],
"type": "string"
},
"otp": {
"description": "The 6-digit verification code the deck emailed to the viewer (requires_email_otp step). Send together with otpSessionId.",
"type": "string"
},
"otpSessionId": {
"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"
},
"password": {
"description": "Passcode for passcode-protected decks",
"type": "string"
},
"sessionId": {
"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"
},
"url": {
"description": "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.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "deckextract",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"analysis": {
"description": "Structured deck analysis (present when analyze=true succeeded)"
},
"analysisError": {
"description": "Set when extraction succeeded but analysis could not be produced",
"type": "string"
},
"downloadUrl": {
"description": "Temporary URL of the extracted deck",
"type": "string"
},
"expiresAt": {
"description": "ISO timestamp when the URL/resource expires",
"type": "string"
},
"format": {
"enum": [
"pdf",
"pptx",
"zip"
],
"type": "string"
},
"resourceUri": {
"description": "MCP resource URI (deckextract://deck/...) to read the bytes via resources/read",
"type": "string"
},
"sizeBytes": {
"type": "integer"
},
"sourceUrl": {
"type": "string"
}
},
"required": [
"downloadUrl",
"resourceUri",
"format",
"sizeBytes",
"expiresAt",
"sourceUrl"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:43c1dc4f6fce409ef9e13265a75765f172c0702771b6d760af2d144696106b4c | sha256sum