Presio

xyz.presio由 presio.xyz 發布官方發布者v1.0.0更新於 Nov 2, 2026

Present PDFs from the browser: upload to start a slideshow or validate Presio sidecars. No auth.

已驗證Streamable HTTP可網頁執行效率與工作流媒體與設計

概覽

AI 產生的概覽

Presio 的託管 MCP 伺服器讓助理上傳 PDF 以啟動瀏覽器簡報、驗證講者備忘與媒體附件,並讀取外掛開發指南。

可以做什麼
  • 上傳 PDF 啟動本機 Presio 簡報,回傳一個可在瀏覽器開啟的網址,也可用 session_id 與 controller_token 取代既有簡報的檔案
  • 驗證 PDF 中內嵌的講者備忘與媒體附件是否有效
  • 讀取 Presio 外掛開發指南,包含清單檔與 window.presio API
適用情境
適合想讓助理把 PDF 變成含控制端與觀眾端的簡報,或在正式簡報前檢查檔案中備忘與媒體是否有效的場合。
執行需求
遠端 MCP 端點 presio.xyz,透過 HTTP 存取;未宣告需要驗證、環境變數或標頭。需要瀏覽器開啟回傳的簡報網址。
安裝前請注意
上傳 PDF 會把檔案送到託管服務,本機簡報保留 7 天。取代既有簡報需要其 session_id 與 controller_token,兩者等同存取憑證,不宜隨意分享。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Presio,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/xyz.presio%2Fpresio/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "presio": {
      "type": "http",
      "url": "https://presio.xyz/mcp"
    }
  }
}

README

Presio

Present PDFs from your browser: a no-install alternative to Pympress. Try it at presio.ch or presio.xyz (use presio.ch if your institution blocks .xyz).

Plugins

Open a PDF, drive the slides from one browser window and show them in another. This repository is the source of the hosted service.

[Demo]

[How it works]

Features

  • Local by default: your PDF stays in the browser and works offline. Local presentations are kept for 7 days.
  • Controller + viewer: the viewer window mirrors the controller, in sync.
  • Present across devices: log in and sync to get a 6-character code. Viewers enter it on the home page and follow along live.
  • Shared control: give someone a passphrase to drive.
  • Speaker notes: shown next to the current and next slide, rendered as markdown.
  • Embedded media: videos, GIFs and YouTube/Vimeo, with playback synced to viewers.
  • Timer, a customizable layout and remappable shortcuts.
  • Plugins: add features such as polls or captions; see Plugins.
  • Agent APIs: an MCP server and a REST API; see Use it from an AI agent.

Adding videos and speaker notes

Any PDF works. For notes and media, use the official packages, or embed them by hand (see Embedding notes by hand):

Typst

typst
#import "@preview/presio:0.2.3": media, speaker-notes
= Introduction
Hello world.
#speaker-notes[  Remember to mention the demo before moving on.]
#media("https://www.youtube.com/watch?v=dQw4w9WgXcQ", width: 60%, aspect-ratio: 16/9)

LaTeX

[Open in Overleaf]

latex
\documentclass{beamer}\usepackage{presio}
\begin{document}
\begin{frame}{Introduction}  Hello world.  \presionote{Remember to mention the demo before moving on.}\end{frame}
\begin{frame}{The demo}  \presiomedia[width=0.7\linewidth]{https://www.youtube.com/watch?v=dQw4w9WgXcQ}\end{frame}
\end{document}

To install, copy presio.sty from the package repository next to your .tex file.

Embedding notes by hand

Presio reads speaker notes from JSON files attached to the PDF (Typst) or from note: link annotations (LaTeX).

Typst: define a helper and call it on each slide:

typst
#let speaker-notes(notes) = context {  // Page number keeps the attachment filename unique per slide  let page-num = counter(page).display()  let filename = "notes-slide-" + page-num + ".json"
  let json-string = json.encode((slide: page-num, notes: notes))
  pdf.attach(    filename,    bytes(json-string),    description: "Speaker notes for slide " + page-num,    mime-type: "application/json",  )}
#speaker-notes("Remember to mention the demo.")

LaTeX: use hyperref to create an invisible note: link:

latex
\usepackage{hyperref}
\newcommand{\speakernote}[1]{%  \href{note:#1}{\phantom{n}}%}
% Usage on a slide:\speakernote{Remember to mention the demo.}

Check the result at presio.ch/check, which reports whether the notes and media on each page are valid.

Plugins

Plugins add features such as live polls or closed captions. Browse them under the presio-plugin topic on GitHub and add one from Settings → Discover plugins.

To build your own, paste this prompt into Claude Code, Codex or Cursor:

text
Read https://presio.ch/plugins.md and build me a Presio plugin. Ask me what it should do first.

Use it from an AI agent

Agents can present and check PDFs over MCP or REST. Start at presio.ch/llms.txt. To add the MCP server to Claude Code:

bash
claude mcp add --transport http presio https://presio.ch/mcp

Self-hosting

For a full deployment (accounts, cross-device sync, your own domain) see deploy/README.md.

For a single offline container with no accounts or Supabase:

bash
docker run -d -p 3001:3001 -e PRESIO_MODE=local -e LOCAL_DATA_DIR=/data \  -e TRUST_PROXY=false -v presio-data:/data \  ghcr.io/potentialhedge/presio-local:1

:1 tracks the current major version, so it gets no breaking changes (see Versions and upgrading). See Running fully local / offline for what this mode includes.

來源:README.md,提交 ccb1c13

工具

3

present_pdf

Present a PDF

Upload a PDF to start a local Presio presentation. Returns a url — open it in a browser to finish handoff (skips share). To replace an existing presentation's deck instead of creating one, pass its session_id plus controller_token (the t= parameter of the url from the original create call) and the same link keeps working. Same as POST /api/present.

輸入參數filenamepdf_base64必填session_idcontroller_token

check_pdf

Check PDF sidecars

Validate Presio notes/media sidecar attachments in a PDF. Same as POST /api/check.

輸入參數pdf_base64必填

plugin_guide

How to build a Presio plugin

The guide to building a Presio plugin: the workflow (a presio-<name> GitHub repo from the template, the checker, a tag, and a ?plugins= link that loads it), the manifest, and the full window.presio API. Read it before writing a plugin. Same as GET /plugins.md.

無需輸入參數。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分