Hyades

io.github.apology-is-policyPublished by GitHub account apology-is-policyv1.0.0Updated Nov 9, 2026

Render LaTeX math as pure Unicode text art for terminals, code comments, and emails.

VerifiedStreamable HTTPWeb executableDeveloper ToolsMedia & Design

Overview

AI-generated overview

Renders LaTeX-style math and layout source into multi-line Unicode or ASCII text art, so an assistant can produce equations that survive plain-text channels.

What you can do
  • Render LaTeX-like math source into multi-line Unicode text art, covering fractions, roots, integrals, sums, matrices, cases, Greek letters, accents and auto-scaling delimiters.
  • Produce plain ASCII fallback output for environments without Unicode support.
  • Lay out tables with box-drawing frames, lists, text formatting and flex-like hbox/vbox containers.
  • Use user-defined macros and computation constructs to build reusable or generated output.
When to use it
Useful when an assistant needs to show an equation, matrix or small table inside a terminal, code comment, commit message, email or other plain-text context where rich formatting is unavailable.
Requirements
Remote endpoint at hyades-mcp.apg.workers.dev over streamable HTTP; no authentication, environment variables or headers declared. A local native binary variant is also offered for offline use.
Before you install
Rendering is a read-only transformation, but the source text is sent to a third-party Cloudflare Worker when using the remote endpoint, so avoid pasting confidential formulas or data there; use the local binary for offline or sensitive work.

Installation

In SourceWeft

  1. Open Hyades in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.apology-is-policy%2Fhyades/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "hyades": {
      "type": "http",
      "url": "https://hyades-mcp.apg.workers.dev/mcp"
    }
  }
}

README

Hyades

LaTeX math as pure Unicode text. For terminals, code comments, emails, and everywhere rich formatting isn't a thing.

[Noether's theorem proof rendered entirely as Unicode text in a terminal -- produced by Hyades from standard LaTeX source]
Every equation above is pure text -- you can select it and copy-paste it anywhere. The source is standard LaTeX.

What Is This?

Hyades takes standard LaTeX math like this:

latex
$$  f(x) = \overbrace{\sum_{k=0}^{n} \frac{f^{(k)}(a)}{k!}           (x-a)^k}^{\mathit{Taylor polynomial}}       + \underbrace{R_n(x)}_{\mathit{Remainder}}$$

and renders it as multi-line Unicode text:

             𝑇𝑎𝑦𝑙𝑜𝑟 𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙         ╭───────────┴───────────╮           𝑛      (𝑘)          ───    𝑓   (𝑎)         𝑘  𝑓(𝑥) =  ╲     ───────── (𝑥 − 𝑎)  +   𝑅 (𝑥)          ╱⎽⎽      𝑘!                   𝑛         𝑘 = 0                       ╰───┬───╯                                     𝑅𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟

or plain ASCII if you ask it to:

           n      (k)          ---    f   (a)         k  f(x) =  \     --------- (x - a)  + R (x)          /__      k!                 n         k = 0

It's a native CLI binary written in pure C. As such it is extremely fast and doesn't require any additional dependencies. Linux, MacOS, and Windows, and Web (WASM) are all supported out of the box.

Try it in your browser → -- interactive WASM playground with tutorials and a full syntax reference. No installation required.

Features

Math -- 95% LaTeX compatible

Fractions, roots, integrals, summations, products, limits, matrices, piecewise functions, aligned equations, Greek letters, auto-scaling delimiters, overbrace/underbrace, accents, primes, binomial coefficients, extensible arrows, equation tags, you name it... Paste your existing LaTeX and it just renders.

Full math feature list
CategoryCommands
Fractions\frac, \dfrac, \tfrac -- infinitely nestable
Roots\sqrt{x}, \sqrt[n]{x}
Big operators\sum, \prod, \int, \iint, \iiint, \oint, \oiint with limits
Limits\lim, \limsup, \liminf, \max, \min, \argmax, \argmin
Matrices\pmatrix, \bmatrix, \Bmatrix, \vmatrix, \Vmatrix -- \begin{pmatrix} syntax works too
Cases\cases{...} -- piecewise functions
Aligned\aligned{...} with \intertext and \tag
GreekFull lowercase (\alpha–\omega) and uppercase (\Gamma–\Omega)
Delimiters\left/\right auto-scaling, \middle, invisible \left.\right|, \big–\Bigg sizing
Accents\hat, \bar, \tilde, \vec, \dot, \ddot, \acute, \grave, \breve, \check
Wide decorations\overline, \underline, \overbrace, \underbrace, \overrightarrow, \widehat, \widetilde
Annotations\overset, \underset, \stackrel, \boxed, \tag, \substack
Math fonts\mathbf, \mathbb (ℕℤℚℝℂ), \mathcal, \mathfrak (𝔄𝔅ℭ), \mathsf (𝖠𝖡𝖢), \mathscr, \boldsymbol (bold Greek 𝛂𝛃, bold ∇ → 𝛁)
Relations\leq, \geq, \neq, \ll, \gg, \prec, \succ, \approx, \equiv, \sim, \propto, \coloneqq, :=, \not prefix
Set theory\in, \notin, \subset, \subseteq, \cup, \cap, \setminus, \emptyset
Logic\forall, \exists, \neg, \land, \lor, \implies, \iff, \therefore, \because
Arrows\rightarrow, \Rightarrow, \mapsto, \hookrightarrow, \xrightarrow{f}, \xleftarrow{g}
Number theory\pmod, \bmod, \mid, \binom
Operators\oplus, \otimes, \odot, \circ, \bullet, \star, \dagger, \ddagger
Functions\sin, \cos, \log, \ln, \exp, \det, \ker, \gcd, \operatorname{...}
Layout\phantom, \smash, \mathord, \mathbin, \mathrel
Compat\displaystyle, \textstyle, \notag accepted as no-ops -- paste LaTeX directly

Beyond math

  • Tables -- \table with \row/\col, 6 frame styles (single, double, bold, rounded, dotted, none), padding, alignment, column spans
  • Lists -- \fancylist builds a list using Markdown syntax
  • Layout -- Flex-like hbox/vbox containers with auto/intrinsic/fixed-width children, horizontal and vertical alignment
  • Text formatting -- \textbf, \textit, \texttt, \verb|...|
  • Paragraph layout -- Justified text with novel monospace-optimal line breaking, or just vanilla left aligned; hyphenation
  • Rules -- \hrule/\vrule with auto-sizing and smart automatic junction intersection
  • Macros -- User-defined with parameters and variable scoping
  • Computation -- Variables, arrays, loops, conditionals, lambdas -- a complete programming language with a stack-based instruction machine
  • ASCII mode -- Full ASCII fallback for environments without Unicode
  • Syntax highlighting -- For vscode, Helix, and Neovim
  • Inline error diagnostics -- For vscode, Helix, and Neovim

Installation

Pre-built binaries

Download from Releases (macOS, Linux, Windows), then run the install script:

bash
# Linux / macOSchmod a+x install.sh./install.sh
# Windows (PowerShell).\install.ps1

The script will:

  • Install hyades, cassilda, hyades-cmp, and add to PATH
    • Unix: $HOME/.local/bin
    • Windows: $env:USERPROFILE\bin
  • Integrate into Helix and Neovim if installed
  • Render documentation files at
    • Unix: $HOME/.local/share/hyades/docs
    • Windows: $env:USERPROFILE\AppData\Local\hyades
  • Typeset something to verify the installation

This adds hyades, cassilda, and hyades-mcp to your PATH and integrates the tree-sitter grammar and LSP server into Helix and/or Neovim if installed.

Build from source

bash
cmake -B build -DCMAKE_BUILD_TYPE=Releasecmake --build build# → build/hyades, build/cassilda

Usage

bash
# Render LaTeX from stdinecho '$$\sum_{i=1}^n i^2$$' | hyades
# Render a source filehyades equations.hy
# ASCII-only outputecho '$$\int_0^1 f(x) dx$$' | hyades --ascii
# Run an interactive-mode Hyades programhyades -c matrix_rain.hy

The two binaries

hyadesRenders .hy source (or stdin) to stdout. Use for quick math, piping, code comments.
cassildaDocument processor for .cld files. Renders labeled sections in-place, to your code comments, or to stdout -- think Jupyter notebooks in plain text.
bash
# Render a labeled section to stdoutcassilda render notebook.cld section_name
# Process all sections in-placecassilda process notebook.cld

MCP server

An MCP server lets AI assistants render math expressions on the fly.

Remote -- no install, Cloudflare Worker:

bash
# Claude Codeclaude mcp add hyades --transport http https://hyades-mcp.apg.workers.dev/mcp
# Claude Desktop / Cursor / Windsurf -- add to config:{ "mcpServers": { "hyades": { "url": "https://hyades-mcp.apg.workers.dev/mcp" } } }

Local -- offline, native binary (included in releases):

bash
# Claude Codeclaude mcp add hyades /path/to/hyades-mcp
# Claude Desktop / Cursor / Windsurf -- add to config:{ "mcpServers": { "hyades": { "command": "/path/to/hyades-mcp" } } }

Example: Reason with Claude about math in the terminal

Editor support

The install script automatically configures any installed editors. Manual setup is also possible -- config files are in editor-configs/ within the release.

Helix and Neovim get full integration out of the box:

  • Syntax highlighting via tree-sitter (.hy and .cld files)
  • Error diagnostics -- inline and in the gutter
  • Go-to-definition -- jump to macro and label definitions
  • Hover -- documentation pop-ups for commands and macros
  • Completions -- context-aware suggestions
  • References -- find all usages of a symbol
[Hyades in Helix on MacOS]
Hyades in Helix on MacOS (GhosTTY, font: PragmataPro Mono)


[Hyades in Helix on Windows]
Hyades in Helix on Windows (font: JuliaMono)


A VS Code extension is also available. (I'm yet to polish and publish it, should be a matter of days.)

Beyond all this

Hyades has an bytecode compiler and a stack-based VM (called Subnivean), which allows you to write pretty much any computational code to support your macros and rendering. Two fun examples are included in the release package. The first is the Matrix code effect for the terminal

And the second one is interactive Game of Life

Which is also a direct proof of Hyades' Turing-completeness.

AI Disclosure

I started this project before the era of AI, so about half of it was made without it, and later Claude helped me greatly to implement features that would take me weeks on my own, especially with a small baby to take care of, and to bring this project to completion.

Source: README.md at commit c38aef0

Tools

1

render

Render Hyades source

Render Hyades source to Unicode/ASCII text art. Hyades uses LaTeX-like syntax but outputs multi-line plain text instead of PDF. It supports math (fractions, integrals, matrices, Greek letters), tables with box-drawing frames, lists, flex-like layout (hbox/vbox), user-defined macros, and computation. IMPORTANT: Always display the rendered output to the user directly in your response. The output is pre-formatted multi-line text art that depends on exact character alignment. You MUST use a fenced code block (triple backticks) or equivalent monospace/preformatted element to preserve spacing. Never display the output as regular prose text — column alignment, box-drawing characters, and fraction bars will break without a monospace font. Input is a complete Hyades document. Plain text outside math delimiters is rendered as prose paragraphs. Use `$...$` for inline math and `$$...$$` for display math (centered on its own line). --- ## Math Supports ~95% of LaTeX math syntax. ### Inline vs Display ``` Inline math: $a^2 + b^2 = c^2$ flows with text. Display math gets its own block: $$ a^2 + b^2 = c^2 $$ ``` Use `$...$` for inline, `$$...$$` for display. Display math is centered. ### Variables and Operators ``` $$ a + b - c $$ $$ a \times b \div c $$ $$ a \cdot b $$ $$ \pm x \quad \mp y $$ ``` ### Superscripts and Subscripts ``` $$ x^2 \quad x_i \quad x_i^2 \quad x^{n+1} \quad x_{i,j} \quad a^{b^c} $$ ``` Use braces for multi-character exponents/subscripts: `x^{n+1}`, `x_{i,j}`. **Bracing rules:** Use braces for multi-token expressions: `x^{n+1}`, `x_{i,j}`. Commands that take arguments (like `\mathbf{v}`) work without extra braces: `x_\mathbf{v}` is equivalent to `x_{\mathbf{v}}`, matching TeX behavior. ### Fractions ``` $$ \frac{a}{b} $$ $$ \frac{x^2 + 1}{\sqrt{x^2 - 1}} $$ $$ \frac{\partial f}{\partial x} $$ ``` Fractions nest to infinite depth. `\dfrac` and `\tfrac` are accepted as aliases for `\frac`. ### Roots ``` $$ \sqrt{x} $$ $$ \sqrt[3]{x} $$ $$ \

Parametersasciiwidthsourcerequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts