mcpField
P
pscat

pscat

Local
pscatlabs.github.ioMedia & Design2Updated 1d ago

About pscat

pscat is a Rust PostScript interpreter for developers and artists who want to watch programs draw live or render them to files. It also includes libraries for generative art, painting, lettering, charts, and other creative work, plus an MCP server for agents.

Key features

  1. 01Watch PostScript draw live
  2. 02Render to PNG, SVG, and PDF
  3. 03Run the interpreter in a browser
  4. 04Use libraries for generative art and drawing
  5. 05Interact through a REPL

Use cases

  1. 01Debug PostScript drawing programs
  2. 02Render PostScript pages to image or document files
  3. 03Create generative art and charts with its libraries

MCP support

pscat-mcp exposes four tools to MCP clients. The same server can be started with `pscat mcp`.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
cargopscat0.6.3

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

pscat

pscat is a PostScript interpreter written in Rust. PostScript is a programming language for drawing pages; pscat runs your program and shows the picture as it is drawn, in a live window, or renders it to PNG, SVG or PDF. It also runs in a browser tab, and it ships with PostScript libraries for making art: generative patterns, paint and watercolor, printmaking, lettering, charts and more. It was built for fun, not as a Ghostscript replacement, though it aims for broad PostScript coverage over time.

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

Install

cargo install pscat          # pscat and pscat-mcp, from crates.io
pscat fonts install          # optional: the full font catalog, as font packs
npm 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:

pscat --png out.png some_file.ps

Quick start from a checkout

You need a stable Rust toolchain.

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

A taste of the REPL:

PS> 40 2 add =
42
PS> mark 1 2 3
PS<4> pstack
3
2
1
-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/.

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) are plain Markdown any agent can read, and pscat-mcp is an MCP server with four 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 and the Courier Prime-derived typewriter outlines, both under the SIL Open Font License 1.1. That's why Cargo.toml says (MIT OR Apache-2.0) AND OFL-1.1. The OFL term covers 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.