Agent Tools
Back to MCP servers
● healthy

skills: {'id': 'render', 'name': 'render', 'description': '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.\n\nIMPORTANT: 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.\n\nInput 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).\n\n---\n\n## Math\n\nSupports ~95% of LaTeX math syntax.\n\n### Inline vs Display\n\n```\nInline math: $a^2 + b^2 = c^2$ flows with text.\n\nDisplay math gets its own block:\n\n$$ a^2 + b^2 = c^2 $$\n```\n\nUse `$...$` for inline, `$$...$$` for display. Display math is centered.\n\n### Variables and Operators\n\n```\n$$ a + b - c $$\n$$ a \\times b \\div c $$\n$$ a \\cdot b $$\n$$ \\pm x \\quad \\mp y $$\n```\n\n### Superscripts and Subscripts\n\n```\n$$ x^2 \\quad x_i \\quad x_i^2 \\quad x^{n+1} \\quad x_{i,j} \\quad a^{b^c} $$\n```\n\nUse braces for multi-character exponents/subscripts: `x^{n+1}`, `x_{i,j}`.\n\n**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.\n\n### Fractions\n\n```\n$$ \\frac{a}{b} $$\n$$ \\frac{x^2 + 1}{\\sqrt{x^2 - 1}} $$\n$$ \\frac{\\partial f}{\\partial x} $$\n```\n\nFractions nest to infinite depth. `\\dfrac` and `\\tfrac` are accepted as aliases for `\\frac`.\n\n### Roots\n\n```\n$$ \\sqrt{x} $$\n$$ \\sqrt[3]{x} $$\n$$ \\sqrt[n]{x^2 + y^2} $$\n```\n\nOptional argument gives the nth root: `\\sqrt[3]{x}`.\n\n### Parentheses and Grouping\n\n```\n$$ (a + b) \\quad [a + b] \\quad \\{a + b\\} \\quad |x| \\quad \\Vert x \\Vert $$\n```\n\nCurly braces need escaping: `\\{` and `\\}`.\n\n### Auto-Scaling Delimiters (\\left/\\right)\n\n`\\left` and `\\right` make delimiters grow to match their contents:\n\n```\n$$ \\left( \\frac{a}{b} \\right) \\quad \\left[ \\frac{a}{b} \\right] \\quad \\left| \\frac{a}{b} \\right| $$\n```\n\nWorks with all delimiter types: `( ) [ ] \\{ \\} | \\| \\lfloor \\rfloor \\lceil \\rceil \\langle \\rangle`.\n\nUse `\\left.` or `\\right.` for invisible (null) delimiters — essential for evaluation bars:\n\n```\n$$ \\left.\\frac{df}{dx}\\right|_{x=0} $$\n```\n\nUse `\\middle` inside `\\left...\\right` for scaled interior delimiters:\n\n```\n$$ \\left( \\frac{a}{b} \\middle| \\frac{c}{d} \\right) $$\n```\n\n### Explicit Delimiter Sizing (\\big through \\Bigg)\n\n`\\big`, `\\Big`, `\\bigg`, `\\Bigg` set delimiter sizes explicitly.\n\n`\\bigl`/`\\bigr`, `\\Bigl`/`\\Bigr`, `\\biggl`/`\\biggr`, `\\Biggl`/`\\Biggr` produce standalone one-sided delimiters:\n\n```\n$$ f(x)\\bigr|_{x=0} $$\n```\n\n### Floor and Ceiling\n\n```\n$$ \\lfloor x \\rfloor $$\n$$ \\lceil x \\rceil $$\n$$ \\left\\lfloor \\frac{x}{2} \\right\\rfloor $$\n```\n\n### Greek Letters\n\nLowercase: `\\alpha \\beta \\gamma \\delta \\epsilon \\zeta \\eta \\theta \\lambda \\mu \\nu \\xi \\pi \\rho \\sigma \\tau \\phi \\varphi \\chi \\psi \\omega`\n\nUppercase (only where different from Latin): `\\Gamma \\Delta \\Theta \\Lambda \\Xi \\Pi \\Sigma \\Phi \\Psi \\Omega`\n\n### Relations\n\n```\n$$ a \\neq b \\quad a \\leq b \\quad a \\geq b $$\n$$ a \\ll b \\quad a \\gg b $$\n$$ a \\approx b \\quad a \\equiv b \\quad a \\sim b \\quad a \\propto b $$\n$$ a \\prec b \\quad a \\succ b \\quad a \\preceq b \\quad a \\succeq b $$\n```\n\nDefinition symbols: `\\coloneqq` (≔), `\\eqqcolon` (≕), and `:=` (parsed as a single relation ≔):\n\n```\n$$ \\Phi := S $$\n$$ f \\coloneqq x^2 + 1 $$\n```\n\nColon alone is treated as punctuation (no space before, space after), useful in set-builder notation:\n\n```\n$$ \\{x : x > 0\\} $$\n```\n\nThe `\\not` prefix negates a relation: `\\not=` → ≠, `\\not\\in` → ∉, `\\not\\leq` → ≰, `\\not\\equiv` → ≢, `\\not\\subset` → ⊄, `\\not\\exists` → ∄\n\n### Set Theory\n\n```\n$$ x \\in A \\quad x \\notin A $$\n$$ A \\subset B \\quad A \\subseteq B \\quad A \\cup B \\quad A \\cap B \\quad \\emptyset $$\n$$ A \\setminus B $$\n```\n\n### Logic\n\n```\n$$ \\forall x \\in \\mathbb{R} \\quad \\exists x $$\n$$ p \\implies q \\quad p \\iff q $$\n$$ \\neg p \\quad p \\land q \\quad p \\lor q $$\n$$ \\therefore \\quad \\because \\quad \\top \\quad \\bot $$\n```\n\n### Arrows\n\n`\\rightarrow`, `\\Rightarrow`, `\\mapsto`, `\\longmapsto`, `\\hookrightarrow`, `\\hookleftarrow`, `\\leftarrow`, `\\leftrightarrow`, `\\Leftarrow`, `\\Leftrightarrow`, `\\uparrow`, `\\downarrow`, `\\updownarrow`, `\\nearrow`, `\\searrow`, `\\nwarrow`, `\\swarrow`.\n\nExtensible arrows with text labels:\n\n```\n$$ A \\xrightarrow{f} B \\xleftarrow{g} C $$\n```\n\n### Standard Functions\n\nStandard functions are set in upright type:\n\n```\n$$ \\sin x \\quad \\cos(x) \\quad \\tan x $$\n$$ \\log x \\quad \\log_2 x \\quad \\ln x \\quad \\exp(x) $$\n$$ \\sin^2 x + \\cos^2 x = 1 $$\n```\n\nAlso: `\\arcsin`, `\\arccos`, `\\arctan`, `\\sinh`, `\\cosh`, `\\tanh`, `\\det`, `\\dim`, `\\ker`, `\\deg`, `\\gcd`, `\\sup`, `\\inf`, `\\max`, `\\min`, `\\argmax`, `\\argmin`, `\\limsup`, `\\liminf`.\n\n### Custom Function Names (\\fn / \\operatorname)\n\n`\\fn{name}` or `\\operatorname{name}` produces an upright function name for functions Hyades doesn\'t know:\n\n```\n$$ \\fn{softmax}\\left(x_i\\right) = \\frac{e^{x_i}}{\\sum_j e^{x_j}} $$\n$$ \\operatorname{Tr}(A) $$\n```\n\n### Text in Math (\\text)\n\n`\\text{words}` inserts upright text inside math mode:\n\n```\n$$ x = 0 \\text{ if } y > 0 $$\n```\n\n### Accents and Decorations\n\nSingle-character: `\\hat{x}`, `\\bar{x}`, `\\tilde{x}`, `\\vec{x}`, `\\dot{x}`, `\\ddot{x}`, `\\acute{x}`, `\\grave{x}`, `\\breve{x}`, `\\check{x}`\n\nWide accents: `\\overline{AB}`, `\\underline{text}`, `\\overrightarrow{AB}`, `\\overleftarrow{AB}`, `\\widehat{xyz}`, `\\widetilde{xyz}`\n\n### Overset and Underset\n\n```\n$$ \\overset{n}{=} $$\n$$ \\underset{x}{y} $$\n$$ \\stackrel{\\text{def}}{=} $$\n```\n\n`\\overset{top}{base}` places annotation above base; `\\underset{bot}{base}` below. `\\stackrel` is an alias for `\\overset`.\n\n### Overbrace and Underbrace\n\n```\n$$ \\overbrace{a + b + c}^{3 \\text{ terms}} $$\n$$ \\underbrace{x + y + z}_{n \\text{ terms}} $$\n```\n\n### Primes\n\n```\n$$ f\'(x) \\quad f\'\'(x) \\quad f\'\'\'(x) \\quad f^{(n)}(x) $$\n```\n\n### Math Fonts\n\n`\\mathbf{v}` → bold, `\\mathbb{R}` → blackboard bold (ℕℤℚℝℂ), `\\mathcal{L}` → calligraphic, `\\mathfrak{R}` → Fraktur (𝔄𝔅ℭ), `\\mathsf{A}` → sans-serif (𝖠𝖡𝖢), `\\mathscr{A}` → script (same as \\mathcal), `\\boldsymbol{\\alpha}` → bold (works with Greek: 𝛂𝛃, and symbols: `\\boldsymbol{\\nabla}` → 𝛁, `\\boldsymbol{\\partial}` → 𝛛)\n\n### Dots and Ellipses\n\n`\\ldots` (low dots, for commas), `\\cdots` (centered, for operators), `\\vdots` (vertical), `\\ddots` (diagonal, for matrices)\n\n### Summation\n\n```\n$$ \\sum_{i=1}^{n} x_i $$\n```\n\n`\\Sum` and `\\SUM` give progressively larger variants.\n\n### Products\n\n```\n$$ \\prod_{i=1}^{n} x_i $$\n```\n\n`\\Prod` and `\\PROD` give larger variants.\n\n### Integrals\n\n```\n$$ \\int_a^b f(x) \\, dx $$\n$$ \\iint f(x,y) \\, dx\\,dy $$\n$$ \\oint_C f(z) \\, dz $$\n```\n\nAlso: `\\iiint`, `\\oiint`. Larger variants: `\\Int`, `\\INT`, etc.\n\n### Limits\n\n`\\lim` places its subscript directly below:\n\n```\n$$ \\lim_{x \\to 0} \\frac{\\sin x}{x} = 1 $$\n$$ \\max_{x \\in [0,1]} f(x) $$\n$$ \\argmax_{\\theta} L(\\theta) $$\n```\n\n### Calculus Operators\n\n```\n$$ \\frac{dy}{dx} \\quad \\frac{d^2y}{dx^2} \\quad \\frac{\\partial f}{\\partial x} $$\n$$ \\nabla f \\quad \\nabla \\cdot \\mathbf{F} \\quad \\nabla \\times \\mathbf{F} \\quad \\nabla^2 f $$\n```\n\n### Matrices\n\nSix types with different delimiters. `&` separates columns, `\\\\` or `;` separates rows.\nLaTeX-style `\\begin{pmatrix}...\\end{pmatrix}` also works for all matrix types.\n\n```\n$$ \\pmatrix{a & b \\\\ c & d} $$ % (parentheses)\n$$ \\bmatrix{a & b \\\\ c & d} $$ % [brackets]\n$$ \\Bmatrix{a & b \\\\ c & d} $$ % {braces}\n$$ \\vmatrix{a & b \\\\ c & d} $$ % |bars| (determinants)\n$$ \\Vmatrix{a & b \\\\ c & d} $$ % ‖double bars‖ (norms)\n$$ \\matrix{a & b \\\\ c & d} $$ % no delimiters\n```\n\n### Cases (Piecewise Functions)\n\n```\n$$f(x) = \\cases{\n x & \\text{if } x > 0 \\\\\n 0 & \\text{if } x = 0 \\\\\n -x & \\text{if } x < 0\n}$$\n```\n\n### Aligned Equations\n\n`&` marks the alignment point:\n\n```\n$$\\aligned{\n f(x) &= x^2 + 2x + 1 \\\\\n &= (x + 1)^2\n}$$\n```\n\nUse `\\intertext{...}` inside aligned to insert prose between rows. Intertext is left-aligned at the document margin while equations remain centered:\n\n```\n$$\\aligned{\n x &= a \\\\\n \\intertext{where}\n a &= b + c\n}$$\n```\n\n`\\tag` works on aligned blocks — the tag is right-justified and vertically centered:\n\n```\n$$\\aligned{\n f(x) &= x^2 + 2x + 1 \\\\\n &= (x + 1)^2\n} \\tag{7}$$\n```\n\n### Boxed\n\n```\n$$ \\boxed{E = mc^2} $$\n```\n\nDraws a box-drawing frame around the content.\n\n### Phantom\n\n```\n$$ a + \\phantom{bbb} + c $$\n```\n\nInvisible placeholder — renders as whitespace with the same dimensions as the content.\n\n### Smash\n\n```\n$$ \\sqrt{\\smash{y^3}} $$\n```\n\n`\\smash{content}` renders content but collapses its height to a single line (the baseline row). Used to prevent tall content from affecting surrounding constructs like roots or delimiters.\n\n### Substack\n\n```\n$$ \\sum_{\\substack{i=1 \\\\ j>0}} x_{ij} $$\n```\n\nStacks multiple lines vertically (for multi-line subscripts/superscripts).\n\n### Tag\n\n```\n$$ E = mc^2 \\tag{1} $$\n```\n\nEquation tag rendered as `(text)`.\n\n### Number Theory\n\n```\n$$ a \\equiv b \\pmod{n} $$\n$$ a \\bmod n \\quad a \\mid b $$\n$$ \\binom{n}{k} $$\n```\n\n### Style Commands (No-ops)\n\n`\\displaystyle`, `\\textstyle`, `\\scriptstyle`, `\\scriptscriptstyle` are accepted but transparent (Hyades has no math size concept). `\\notag` and `\\nonumber` are also silently ignored. This allows pasting LaTeX source that uses these commands without errors.\n\n### Math Spacing\n\n`\\!` (negative thin), `\\,` (thin), `\\:` (medium), `\\;` (thick), `\\quad` (1em), `\\qquad` (2em)\n\n### Atom-Type Overrides (\\mathord, \\mathbin, \\mathrel)\n\nOverride the default spacing category of a symbol. Analogous to TeX\'s `{=}` idiom for suppressing operator spacing, but explicit and readable:\n\n```\n$a \\mathord{=} b$ %% "a=b" — = treated as ordinary symbol (no spacing)\n$a = b$ %% "a = b" — default relation spacing\n$f \\mathrel{:} A \\to B$ %% "f : A → B" — : treated as relation (symmetric spacing)\n$a : b$ %% "a: b" — default punctuation spacing\n$a \\mathbin{\\triangle} b$ %% "a △ b" — triangle with binary operator spacing\n```\n\n- `\\mathord{X}`: Suppress spacing — X renders as an ordinary symbol with no surrounding gaps. Use this instead of TeX\'s `{=}` or `{}=` idiom which does not work in Hyades.\n- `\\mathbin{X}`: Force binary operator spacing (gap on both sides).\n- `\\mathrel{X}`: Force relation spacing (gap on both sides).\n\n### Binary Operators\n\n`\\oplus`, `\\otimes`, `\\odot`, `\\circ`, `\\bullet`, `\\star`, `\\dagger`, `\\ddagger`\n\n### Geometry\n\n`\\angle`, `\\triangle`, `\\perp`, `\\parallel`\n\n### Famous Equations (all valid input)\n\n```\n$$ x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a} $$ %% Quadratic formula\n$$ e^{i\\pi} + 1 = 0 $$ %% Euler\'s identity\n$$ f(x) = \\frac{1}{\\sigma\\sqrt{2\\pi}} e^{-\\frac{(x-\\mu)^2}{2\\sigma^2}} $$ %% Normal distribution\n$$ \\fn{Attention}(Q, K, V) = \\fn{softmax}\\left(\\frac{QK^\\top}{\\sqrt{d_k}}\\right) V $$ %% Attention mechanism\n$$ e^x = \\sum_{n=0}^{\\infty} \\frac{x^n}{n!} $$ %% Taylor series\n$$ \\int_{-\\infty}^{\\infty} e^{-x^2} dx = \\sqrt{\\pi} $$ %% Gaussian integral\n$$ P(A|B) = \\frac{P(B|A) P(A)}{P(B)} $$ %% Bayes\' theorem\n$$ \\nabla \\times \\mathbf{E} = -\\frac{\\partial \\mathbf{B}}{\\partial t} $$ %% Maxwell\'s equation\n$$ i\\hbar \\frac{\\partial}{\\partial t} \\Psi = \\hat{H} \\Psi $$ %% Schrodinger equation\n$$ \\fn{softmax}(x_i) = \\frac{e^{x_i}}{\\sum_j e^{x_j}} $$ %% Softmax\n```\n\n---\n\n## Text Formatting\n\n```\n\\textbf{bold text}\n\\textit{italic text}\n\\texttt{monospace text}\n\\textbf{\\textit{bold italic}}\n```\n\nNesting `\\textbf` and `\\textit` produces bold-italic text.\n\nInline math `$...$` inside `\\textit` or `\\textbf` is rendered as math (not styled as text):\n\n```\n\\textit{Let $f(x) = x^2$ be a function}\n```\n\n### Verbatim (No Processing)\n\n```\n\\verb|raw \\commands { } are preserved|\n```\n\n### Special Characters\n\n`\\textbackslash` → \\, `\\textdollar` → $, `\\textpercent` → %, `\\textampersand` → &, `\\texthash` → #\n\n### Text Spacing Commands\n\n`\\ ` (backslash-space) — explicit inter-word space. Useful after abbreviations: `i.e.\\ $f$` renders without extra sentence spacing.\n`\\@` — marks the next period as sentence-ending (silently consumed).\n`\\,` — thin space (works in both text and math mode).\n\n---\n\n## Paragraphs and Line Breaking\n\nText flows into paragraphs automatically. A single newline is a space; a blank line starts a new paragraph.\n\n### Line-Breaking Modes\n\n```\n\\linebreaker{greedy} % Default. Fast, good results.\n\\linebreaker{knuth} % TeX-style optimal. Minimizes ugliness.\n\\linebreaker{raggedright} % Left-aligned, no justification.\n```\n\n### Hyphenation\n\n`\\sethyphenate{true}` / `\\sethyphenate{false}`\n\n---\n\n## Tables\n\nTables use `\\table` with nested `\\row` and `\\col`:\n\n```\n\\table[width:40, frame:single, pad:{l:1,r:1}]{\n \\row[frame:{b:double}]{\n \\col{Name}\n \\col{Value}\n }\n \\row{\n \\col{Alpha}\n \\col{0.05}\n }\n \\row{\n \\col{Beta}\n \\col{0.95}\n }\n}\n```\n\n### Table Properties\n\n| Property | Values | Default |\n|----------|--------|---------|\n| `width` / `w` | number, `auto` | parent width |\n| `frame` / `f` | `none`, `dotted`, `single`, `rounded`, `double`, `bold` | `single` |\n| `border` | same as frame (outer edges only) | unset |\n| `pad` / `p` | number or `{t:N, b:N, l:N, r:N}` | 0 |\n| `align` / `a` | `l`/`left`, `c`/`center`, `r`/`right` | `l` |\n| `valign` / `va` | `t`/`top`, `m`/`middle`, `b`/`bottom` | `t` |\n\nRow properties: `frame`, `pad`, `align`, `valign`, `height`.\nColumn properties: `width`, `align`, `valign`, `frame`, `pad`, `span`, `reset`.\n\nFrame styles: `none` (space), `dotted` (┄┆), `single` (─│), `rounded` (╭╮╰╯ corners), `double` (═║), `bold` (━┃)\n\nCompound edges: `frame:{t:double, b:single, l:none, r:none}`, `pad:{l:1, r:1}`\n\nProperties cascade: table → column (down rows) → row → cell.\n\nIMPORTANT: When a row overrides a property (e.g. `frame:{b:double}`), that override is inherited by ALL subsequent rows. To stop it, the next row must explicitly reset it (e.g. `frame:{b:single}`). The `border` property on the table level controls the outer edges and cannot be overridden by row or column `frame`.\n\n---\n\n## Lists\n\n```\n\\fancylist{\n - First item\n - Second item with longer text that\n wraps to the next line\n - Third item\n - Nested child\n - Grandchild\n}\n```\n\nThree nesting levels supported. Uses ●/○ bullets in Unicode, - in ASCII.\n\n---\n\n## Layout Primitives\n\nFlex-like box model for spatial control.\n\n### Box Types\n\n```\n\\begin[width]{hbox} % horizontal (side by side)\n \\child[width][align]{content}\n\\end{hbox}\n\n\\begin[top|middle|bottom]{hbox} % hbox with vertical alignment\n \\child[width][align]{content}\n\\end{hbox}\n\n\\begin[width]{vbox} % vertical (stacked)\n \\child[width][align]{content}\n\\end{vbox}\n```\n\nChild width: fixed number, `auto` (fill remaining), `intrinsic` (natural width), or omitted (equal share).\nWhen multiple children omit width, they split the remaining space equally (after fixed-width children).\nHorizontal alignment: `left`, `center`, `right`.\nVertical alignment for hbox: set on `\\begin` bracket — `top` (default), `middle`, `bottom`.\n\nWidth inheritance: boxes without an explicit width inherit their parent\'s width. `\\setwidth{N}` sets the document-level width.\n\n### Rules\n\n```\n\\hrule[width]{left_cap}{fill_char}{right_cap}\n\\vrule[height]{top}{fill}{bottom}\n\\intersect_rules{...} % fix junction characters at rule crossings\n```\n\nWidth/height can be a number or `auto`. An `auto`-width `\\hrule` in a vbox stretches to the box width. An `auto`-height `\\vrule` in an hbox stretches to match the tallest sibling.\n\n`\\intersect_rules` scans all cells, checks neighboring line arms, and replaces with correct junction glyphs (┌ ┬ ┐ ├ ┼ ┤ └ ┴ ┘). Handles single, double, bold, and mixed styles.\n\n### Measuring Content\n\n```\n\\measure<content_name,width_var,height_var>{content to measure}\n```\n\nRenders content invisibly, stores it under `content_name` (retrieve with `\\recall<content_name>`), and stores the measured width and height into integer variables.\n\n### Spacing\n\n`\\vskip{N}` (N blank lines), `\\hskip{N}` (N spaces)\n\n### Common Layout Patterns\n\nTwo-column with gutter:\n```\n\\begin{hbox}\n \\child{Left column}\n \\child[2]{}\n \\child{Right column}\n\\end{hbox}\n```\n\nCentering via auto spacers:\n```\n\\begin{hbox}\n \\child[auto]{}\n \\child[intrinsic]{Centered content}\n \\child[auto]{}\n\\end{hbox}\n```\n\nIndentation:\n```\n\\begin{hbox}\n \\child[4]{}\n \\child[auto]{Indented content}\n\\end{hbox}\n```\n\n---\n\n## User-Defined Macros\n\n```\n\\macro<\\greet{name}>{Hello, ${name}!}\n\\greet{World} % → Hello, World!\n\n\\macro<\\fullname{first}{last}>{${first} ${last}}\n\\fullname{John}{Doe} % → John Doe\n\n% Optional parameters with defaults\n\\macro<\\heading[char=-]{title}>{\n${title}\n\\hrule[20]{}{${char}}{}\n}\n\\heading{Default} % uses -\n\\heading[char:=]{Custom} % uses =\n```\n\n---\n\n## Document Settings\n\n```\n\\setwidth{80} % Output width in columns (default: 80)\n\\setunicode{true} % Use Unicode symbols (default: true)\n\\setmathitalic{true} % Italicize math variables (default: true)\n\\linebreaker{greedy} % Line-breaking algorithm\n\\sethyphenate{true} % Enable hyphenation\n\\setparskip{1} % Blank lines between paragraphs\n\\setmathabove{1} % Blank lines above display math (default: 0)\n\\setmathbelow{1} % Blank lines below display math (default: 0)\n```\n\n---\n\n## Computation\n\nVariables, loops, and conditionals are available.\n\n### Variables and Arithmetic\n\n```\n\\let<x>{10}\n\\let<y>{20}\n\\let<sum>{\\add{\\valueof<x>,\\valueof<y>}}\nResult: \\valueof<sum> % → Result: 30\n```\n\n### Conditionals\n\n```\n\\let<n>{42}\n\\if{\\gt{\\valueof<n>,0}}{positive}\\else{non-positive}\n```\n\n### Loops\n\n```\n\\let<i>{1}\n\\begin{loop}\n \\exit_when{\\gt{\\valueof<i>,5}}\n \\valueof<i>\\hskip{1}\n \\inc<i>\n\\end{loop}\n% Output: 1 2 3 4 5\n```\n\n### Content Storage\n\n`\\assign<name>{content}` stores text, `\\recall<name>` retrieves it.\n`\\let`/`\\valueof` is for integers; `\\assign`/`\\recall` is for text.\n\n### Lambdas\n\n```\n\\lambda<double>[x]{\\mul{\\recall<x>,2}}\n\\recall<double>[5] % → 10\n```\n\n### Arrays\n\n```\n\\let<nums[]>{[10, 20, 30]}\n\\valueof<nums>[0] % → 10\n\\len<nums> % → 3\n\\push<nums>{40} % append\n```\n\n---\n\n## Quick Reference\n\n### Math Mode\n\n| Input | Output |\n|-------|--------|\n| `$x^2$` | x² |\n| `$x_i$` | xᵢ |\n| `$\\frac{a}{b}$` | a/b (stacked) |\n| `$\\sqrt{x}$` | √x |\n| `$\\sum_{i=1}^n$` | Σ with limits |\n| `$\\int_a^b$` | ∫ with limits |\n| `$\\prod_{i=1}^n$` | ∏ with limits |\n| `$\\lim_{x \\to 0}$` | lim with subscript below |\n| `$\\limsup_{n}$` | lim sup with subscript below |\n| `$\\liminf_{n}$` | lim inf with subscript below |\n| `$\\alpha, \\beta, \\gamma$` | α, β, γ |\n| `$\\mathbb{R}$` | ℝ |\n| `$\\mathbf{v}$` | 𝐯 |\n| `$\\leq, \\geq, \\neq$` | ≤, ≥, ≠ |\n| `$\\in, \\forall, \\exists$` | ∈, ∀, ∃ |\n| `$\\rightarrow, \\Rightarrow$` | →, ⇒ |\n| `$\\infty, \\partial, \\nabla$` | ∞, ∂, ∇ |\n| `$f\'(x)$` | 𝑓′(𝑥) |\n| `$\\binom{n}{k}$` | binomial coefficient |\n| `$\\lfloor x \\rfloor$` | ⌊x⌋ |\n| `$\\fn{name}$` | custom function name |\n| `$\\operatorname{name}$` | same as \\fn |\n| `$\\text{words}$` | upright text in math |\n| `$\\ll, \\gg$` | ≪, ≫ |\n| `$\\mathord{=}$` | suppress operator spacing |\n| `$\\mathbin{:}$` | force binary operator spacing |\n| `$\\mathrel{:}$` | force relation spacing |\n| `$\\prec, \\succ$` | ≺, ≻ |\n| `$\\neg, \\land, \\lor$` | ¬, ∧, ∨ |\n| `$\\subseteq, \\setminus$` | ⊆, ∖ |\n| `$\\mid$` | ∣ (divides) |\n| `$\\therefore, \\because$` | ∴, ∵ |\n| `$\\wp, \\imath, \\jmath$` | ℘, ı, ȷ |\n| `$\\Box$` | □ |\n| `$\\not=$` | ≠ (\\not prefix negates relations) |\n| `$\\left.\\right\\|$` | invisible delimiter (evaluation bar) |\n| `$\\overset{n}{=}$` | annotation above base |\n| `$\\underset{x}{y}$` | annotation below base |\n| `$\\boxed{x}$` | framed box around content |\n| `$\\phantom{x}$` | invisible spacer |\n| `$\\smash{x}$` | collapse height to baseline |\n| `$\\xrightarrow{f}$` | extensible arrow with label |\n| `$\\substack{a \\\\ b}$` | stacked lines |\n| `$\\mathfrak{R}$` | Fraktur (𝔄𝔅ℭ) |\n| `$\\mathsf{A}$` | sans-serif (𝖠𝖡𝖢) |\n| `$\\boldsymbol{\\alpha}$` | bold Greek (𝛂𝛃) |\n| `$\\coloneqq$` | ≔ (definition) |\n| `$\\eqqcolon$` | ≕ (reverse definition) |\n| `$a := b$` | ≔ (combined relation) |\n\n### Text Commands\n\n| Command | Effect |\n|---------|--------|\n| `\\textbf{x}` | **bold** |\n| `\\textit{x}` | *italic* |\n| `\\texttt{x}` | monospace |\n| `\\verb\\|x\\|` | verbatim |\n| `\\hrule` | horizontal line |\n| `\\vskip{N}` | N blank lines |\n| `\\hskip{N}` | N spaces |\n\n### Table Syntax\n\n```\n\\table[width:W, frame:STYLE, pad:{l:L,r:R}, border:STYLE, align:A]{\n \\row[frame:{b:STYLE}]{\n \\col[width:N, align:A]{content}\n }\n}\n```\n\n### Layout Syntax\n\n```\n\\begin[width]{vbox}\n \\child[width][h_align]{content}\n\\end{vbox}\n\n\\begin[top|middle|bottom]{hbox}\n \\child[width][h_align]{content}\n\\end{hbox}\n```\n\n### Settings\n\n```\n\\setwidth{N} \\setunicode{true|false}\n\\setmathitalic{true} \\linebreaker{greedy|knuth|raggedright}\n\\sethyphenate{true} \\setparskip{N}\n\\setmathabove{N} \\setmathbelow{N}\n```\n', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}; uptime_30d 1.0%; p95 133.9ms; conformance: pass

Transport
streamable-http
Auth
Cost

How to connect

MCP endpoint (streamable-http)
https://hyades-mcp.apg.workers.dev/mcp
JSON-RPC initialize probe
curl -X POST https://hyades-mcp.apg.workers.dev/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
Homepage
https://hyades-mcp.apg.workers.dev/mcp
Listed at (chiark)
https://chiark.ai/agents/e7398d7c-7dc3-47ac-9a68-dfc98c216b7d