pscat

io.github.PSCatLabs由 GitHub 帳號 PSCatLabs 發布v0.6.3更新於 Oct 30, 2026

Render and debug PostScript to PNG, SVG or PDF, write handwritten notes, and make generative art

已驗證STDIO僅桌面開發者工具媒體與設計

概覽

AI 產生的概覽

透過 MCP 提供的 PostScript 解譯器,讓助理把 PostScript/EPS 算繪成 PNG、SVG 或 PDF,並繪製生成藝術與黑板公式。

可以做什麼
  • 把 PostScript 與 EPS 程式算繪成 PNG、SVG 或 PDF,包含多頁文件與頁面範本
  • 依帶種子的程式繪製生成藝術、水彩油畫、版畫、手寫與字體設計
  • 用 chalkboard_math 工具把純 LaTeX 公式畫成黑板圖
  • 產生圖表、曲線圖與 QR 碼,輸出為精確的向量幾何
  • 以本機 MCP 伺服器形式提供十個工具,並附上供編碼代理閱讀的 Markdown 技能
適用情境
適合輸出必須精確可核對的情境:文字拼寫正確、QR 碼可掃描、圖表與資料一致、可列印的向量 PDF 或 SVG。也適合讓本身沒有影像輸出能力的模型繪製並檢視圖片。
執行需求
以 stdio 本機程序執行。可透過 cargo install pscat 安裝(含 pscat 與 pscat-mcp),或下載 macOS、Linux、Windows 預先編譯的執行檔;僅從原始碼建置時需要穩定的 Rust 工具鏈。可選執行 pscat fonts install 安裝完整字型包。未宣告驗證、環境變數或標頭。
安裝前請注意
它會執行傳入的 PostScript 程式,因此只算繪可信的檔案與程式片段。算繪會將輸出檔寫入本機檔案系統。不涉及憑證或付費。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

pscat

[The pscat logo: a cream sheet of paper with cat ears and a turned-down corner, with %! as its face, on a gold square] PostScript for precision and imagination.
The logo is drawn by pscat from its PostScript source.


pscat is a modern PostScript interpreter written in Rust for reliable document rendering and creative graphics. It renders PostScript and EPS to PNG, SVG and PDF from the command line, as an embeddable Rust library, in the browser via WebAssembly, or through MCP for AI agents.

  • Documents: letters, certificates, invitations and posters from page templates, charts and plots for papers, typewritten memos, and multi-page PDFs.
  • Art: generative patterns, watercolor and oil paint, printmaking, handwriting, chalkboards and display type.

pscat aims to replace Ghostscript for most PostScript work, and uses Ghostscript as its correctness reference: test expectations are pinned against Ghostscript's output. It can also show a program drawing, stroke by stroke, in a live window or in a browser tab.

[A certificate of achievement for Ada Lovelace, typeset in serif type inside a double rule on cream paper, from the pagekit certificate template] [Evening Stream, an autumn evening with a glowing sky, a stream tumbling over a small fall between dark banks, autumn trees and a cabin with a lit window]

Both drawn by pscat: a certificate from the page templates, and Evening Stream, painted with the paint library.

pscatlabs.github.io/pscat has the docs, the full gallery, a specimen of every font, and a live playground that runs the interpreter in your browser, no install.

[Cathedral Rose, a lace-like rosette woven from straight red and gold chords inside a gold ring on a dark purple ground] [Ring of Type, a sentence repeated around eleven concentric rings that shrink toward a large ampersand at the centre] [Hortus Machinalis, a herbarium plate with three branching plants labelled in Latin-style captions on cream paper]

[Ripple Range, a three-dimensional surface drawn as stacked ridges that shade from orange at the back to blue at the front, with a pale dip where the ripples meet] [Nightfall, Three Cuts, a moonlit ridge over water in three print styles: engraved sky and water, woodcut mountains and linocut reeds] [Alpine Lake, snow-capped peaks reflected in a still lake under a criss-cross brushed sky, with evergreens in the foreground]

When to use pscat

Use an image model (FLUX, Nano Banana, gpt-image and the like) for photorealism and loose painterly mood, where nothing has to be exact. Use pscat when the output must be exact and checkable: text spelled right, a QR code that scans, a chart that matches the data, a layout that prints at size as vector PDF or SVG, from a seeded program you can diff, edit and re-render, locally and free per image. Its watercolor and oil are deterministic, editable source too, and share a page with exact type and QR codes. It also gives a model with no image output of its own (as of November 2026, Claude) a way to draw real pictures and look at them. When to use pscat has the honest comparison and a decision table.

Install

sh
cargo install pscat          # pscat and pscat-mcp, from crates.iopscat fonts install          # optional: the full font catalog, as font packsnpm install pscat            # from 0.6.2: the wasm renderer for browsers and Node

Or download a ready-built binary for macOS, Linux or Windows from the releases page (no Rust needed). Getting started has the details. Then:

sh
pscat --png out.png some_file.ps

Quick start from a checkout

You need a stable Rust toolchain.

sh
cargo run -- --page 500x500 examples/sierpinski.ps   # watch it draw, livecargo run -- --png out.png examples/sierpinski.ps    # render to a PNG insteadcargo run -- -i                                      # REPL + window: type PostScript, watch it draw

A taste of the REPL:

PS> 40 2 add =42PS> mark 1 2 3PS<4> pstack321-mark-

To try it with nothing installed, open the playground. New to PostScript? Start with Learn PostScript. More sample programs live in examples/, and finished pieces in gallery/.

LaTeX on a chalkboard

pscat chalk writes a formula on a chalkboard from plain LaTeX, with no PostScript. The same LaTeX and seed give the same picture:

sh
pscat chalk 'x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}' -o quadratic.png
[x = (-b plus or minus the square root of b squared minus 4ac) over 2a, in white chalk on a slate board]

More boards, each with its command, are on the site; the options and the supported LaTeX are in the dry-media guide. MCP clients get the same board from the chalkboard_math tool.

Guides

Everything else is in docs/guides/:

For AI agents

pscat works well from a coding agent. The skills in plugin/skills/ (pscat, psart, psviz, functional-postscript) are plain Markdown any agent can read, and pscat-mcp is an MCP server with ten tools. In Claude Code, both come as one plugin: /plugin install pscat --marketplace PSCatLabs/pscat (after installing pscat; see plugin/README.md). In Codex: codex plugin marketplace add PSCatLabs/pscat, then codex plugin add pscat@pscat. See the agents guide. Any other MCP client can run pscat mcp (the same server as pscat-mcp), and pscat is listed in the MCP Registry from 0.6.3:

  • MCP Registry name: mcp-name: io.github.PSCatLabs/pscat

Contributing

Start with CONTRIBUTING.md (including how contributions are licensed), then AGENTS.md for conventions and SDLC.md for how changes land. Report security problems as SECURITY.md describes, and see docs/STABILITY.md for what stays stable between releases. docs/dev/HANDOFF.md orients you in the code, docs/dev/ARCHITECTURE.md explains the design, and docs/dev/ has the contributor notes, such as how to preview the website. docs/archive/ holds the project's history, including the original stage-by-stage status log.

Why

I used to write raw PostScript by hand in college and send it straight to a LaserWriter. This is a from-scratch Rust interpreter built to relive that — watching a hand-written recursive PostScript program draw itself, live, without depending on a decades-old C codebase to do it.

Licence

pscat's code is dual-licensed under MIT or Apache-2.0, at your option. The package also embeds font data: the Liberation faces, the URW Symbol and ZapfDingbats faces and the Courier Prime-derived typewriter outlines, under the SIL Open Font License 1.1, and the TeX Gyre faces, under the GUST Font License (LPPL-1.3c). That's why Cargo.toml says (MIT OR Apache-2.0) AND OFL-1.1 AND LPPL-1.3c. The font terms cover only the embedded font data, not pscat's code.

The fonts in fonts/catalog/ keep their own upstream licences. The original gallery, example and shirt art is dedicated to the public domain under CC0-1.0, with a few exceptions. CC0 grants no rights in the pscat name or logo. THIRD_PARTY_NOTICES.md lists what is under which terms.

SDLC

See SDLC.md for how this repo's development lifecycle works (issue → branch → PR → review → merge → cleanup) and the branch-protection/merge policy currently enforced on GitHub — generated and kept in sync by the sdlcify skill.

來源:README.md,提交 68ef3aa

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

1
  1. v0.6.3最新Oct 23, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分