mcpField
H
Hyades

Hyades

リモート
github.com/apology-is-policy科学・教育3031 週間前に更新
リポジトリ

Hyades について

Hyadesは、標準LaTeXの数式を、選択可能なUnicodeまたはASCIIテキストに変換します。ターミナルやコードコメント、プレーンテキスト文書向けの、依存関係のないC製コマンドラインツールで、AIアシスタント向けのローカル・リモートMCPサーバーも備えています。

主な機能

  1. 01LaTeX数式をUnicodeテキストに変換
  2. 02ASCII出力モード
  3. 03表、リスト、テキストレイアウト
  4. 04マクロと計算構造
  5. 05HelixとNeovimのエディター対応
  6. 06ローカル・リモートMCPサーバー

活用シーン

  1. 01ターミナル出力で数式を表示
  2. 02コードコメントやメールに数式を追加
  3. 03ラベル付きプレーンテキスト文書の処理
  4. 04AIアシスタントによる数式のレンダリング

MCP 対応

Hyadesは、AIアシスタントが数式をレンダリングできるローカルおよびリモートのMCPサーバーを提供します。リモート版はCloudflare Workerを使用し、ローカル版はネイティブバイナリとして動作します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://hyades-mcp.apg.workers.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

1
パラメーター型必須説明
asciibooleanいいえUnicode ではなく ASCII のみで出力します(デフォルト:false)
widthintegerいいえ出力幅(文字数、デフォルト:80)。標準的なターミナル幅には 80 を使用してください。複雑な数式では 60 未満にしないでください。
sourcestringはいHyades ドキュメントの完全なソースです。ディスプレイ数式には $$...$$、インライン数式には $...$ を使用します。数式外のプレーンテキストは本文としてレンダリングされます。

詳細

Hyades

純粋な Unicode テキストとしての LaTeX 数式。 ターミナル、コードコメント、メールなど、リッチな書式設定が使えないあらゆるところで。

ターミナル上で完全に Unicode テキストとしてレンダリングされたネーターの定理の証明 -- 標準的な LaTeX ソースから Hyades が生成
上のすべての数式は純粋なテキストです -- 選択してどこにでもコピー&ペーストできます。ソースは標準的な LaTeX です。

これは何?

Hyades は次のような標準的な 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}}
$$

複数行の Unicode テキストとしてレンダリングします:

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

あるいは、指定すればプレーンな ASCII としても:

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

これは純粋な C で書かれたネイティブな CLI バイナリです。そのため非常に高速で、追加の依存関係を一切必要としません。 Linux、MacOS、Windows、そして Web(WASM)がすべてすぐに利用できます。

ブラウザで試す → -- チュートリアルと完全な構文リファレンスを備えたインタラクティブな WASM プレイグラウンドです。インストールは不要です。

機能

数式 -- LaTeX と 95% 互換

分数、根号、積分、総和、総積、極限、行列、区分関数、整列した方程式、ギリシャ文字、自動スケーリングする区切り記号、overbrace/underbrace、アクセント、プライム、二項係数、伸長可能な矢印、方程式タグなど、あらゆるものが揃っています... 既存の LaTeX を貼り付けるだけでレンダリングされます。

数式機能の全リスト
カテゴリコマンド
分数\frac、\dfrac、\tfrac -- 無限に入れ子にできます
根号\sqrt{x}、\sqrt[n]{x}
大型演算子\sum、\prod、\int、\iint、\iiint、\oint、\oiint(上下限付き)
極限\lim、\limsup、\liminf、\max、\min、\argmax、\argmin
行列\pmatrix、\bmatrix、\Bmatrix、\vmatrix、\Vmatrix -- \begin{pmatrix} 構文も使用できます
場合分け\cases{...} -- 区分関数
整列\aligned{...}(\intertext と \tag に対応)
ギリシャ文字小文字(\alpha–\omega)と大文字(\Gamma–\Omega)の完全版
区切り記号\left/\right の自動スケーリング、\middle、不可視の \left.\right|、\big–\Bigg のサイズ指定
アクセント\hat、\bar、\tilde、\vec、\dot、\ddot、\acute、\grave、\breve、\check
幅広の装飾\overline、\underline、\overbrace、\underbrace、\overrightarrow、\widehat、\widetilde
注釈\overset、\underset、\stackrel、\boxed、\tag、\substack
数式フォント\mathbf、\mathbb(ℕℤℚℝℂ)、\mathcal、\mathfrak(𝔄𝔅ℭ)、\mathsf(𝖠𝖡𝖢)、\mathscr、\boldsymbol(太字のギリシャ文字 𝛂𝛃、太字の ∇ → 𝛁)
関係\leq、\geq、\neq、\ll、\gg、\prec、\succ、\approx、\equiv、\sim、\propto、\coloneqq、:=、\not 接頭辞
集合論\in、\notin、\subset、\subseteq、\cup、\cap、\setminus、\emptyset
論理\forall、\exists、\neg、\land、\lor、\implies、\iff、\therefore、\because
矢印\rightarrow、\Rightarrow、\mapsto、\hookrightarrow、\xrightarrow{f}、\xleftarrow{g}
整数論\pmod、\bmod、\mid、\binom
演算子\oplus、\otimes、\odot、\circ、\bullet、\star、\dagger、\ddagger
関数\sin、\cos、\log、\ln、\exp、\det、\ker、\gcd、\operatorname{...}
レイアウト\phantom、\smash、\mathord、\mathbin、\mathrel
互換\displaystyle、\textstyle、\notag は何もしないものとして受け入れられます -- LaTeX をそのまま貼り付けられます
### 数学以外の機能
  • テーブル -- \table と \row/\col、6 種類の枠線スタイル(single、double、bold、rounded、dotted、none)、パディング、配置、列結合
  • リスト -- \fancylist は Markdown 構文を使ってリストを構築します
  • レイアウト -- Flex ライクな hbox/vbox コンテナ。自動・固有・固定幅の子要素、水平・垂直配置に対応
  • テキスト整形 -- \textbf、\textit、\texttt、\verb|...|
  • 段落レイアウト -- 等幅フォントに最適化された改行を伴う両端揃え、または通常の左揃え。ハイフネーションにも対応
  • 罫線 -- \hrule/\vrule。自動サイズ調整とスマートな自動接合部の交差に対応
  • マクロ -- パラメータと変数スコープを備えたユーザー定義が可能
  • 計算 -- 変数、配列、ループ、条件分岐、ラムダ -- スタックベースの命令マシンを備えた完全なプログラミング言語
  • ASCII モード -- Unicode 非対応環境向けの完全な ASCII フォールバック
  • シンタックスハイライト -- vscode、Helix、Neovim 向け
  • インラインエラー診断 -- vscode、Helix、Neovim 向け

インストール

ビルド済みバイナリ

Releases からダウンロードし(macOS、Linux、Windows)、インストールスクリプトを実行します:

# Linux / macOS
chmod a+x install.sh
./install.sh

# Windows (PowerShell)
.\install.ps1

スクリプトは以下を実行します:

  • hyades、cassilda、hyades-cmp をインストールし、PATH に追加
    • Unix: $HOME/.local/bin
    • Windows: $env:USERPROFILE\bin
  • インストールされていれば Helix と Neovim に統合
  • 以下の場所にドキュメントファイルをレンダリング
    • Unix: $HOME/.local/share/hyades/docs
    • Windows: $env:USERPROFILE\AppData\Local\hyades
  • インストールを検証するために何かを組版
Successful installation

これにより hyades、cassilda、hyades-mcp が PATH に追加され、インストールされていれば tree-sitter グラマーと LSP サーバーが Helix や Neovim に統合されます。

ソースからビルド
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
# → build/hyades, build/cassilda
使い方
# Render LaTeX from stdin
echo '$$\sum_{i=1}^n i^2$$' | hyades

# Render a source file
hyades equations.hy

# ASCII-only output
echo '$$\int_0^1 f(x) dx$$' | hyades --ascii

# Run an interactive-mode Hyades program
hyades -c matrix_rain.hy

2 つのバイナリ

hyades.hy ソース(または標準入力)を標準出力にレンダリングします。手早い数式、パイプ、コードコメントに使用します。
cassilda.cld ファイル用のドキュメントプロセッサです。ラベル付きセクションをその場で、コードコメントに、または標準出力にレンダリングします -- プレーンテキスト版の Jupyter ノートブックのようなものです。
# Render a labeled section to stdout
cassilda render notebook.cld section_name

# Process all sections in-place
cassilda process notebook.cld

MCP サーバー

MCP サーバーを使うと、AI アシスタントが数学式をその場でレンダリングできます。

リモート -- インストール不要、Cloudflare Worker:

# Claude Code
claude 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" } } }

ローカル -- オフライン、ネイティブバイナリ(リリースに含まれています):

# Claude Code
claude mcp add hyades /path/to/hyades-mcp

# Claude Desktop / Cursor / Windsurf -- add to config:
{ "mcpServers": { "hyades": { "command": "/path/to/hyades-mcp" } } }
例: ターミナルで Claude と数学について推論する
Successful installation
...
Successful installation
...
Successful installation
...
Successful installation
## エディターサポート

インストールスクリプトは、インストールされているエディターを自動的に設定します。手動でのセットアップも可能です -- 設定ファイルはリリース内の editor-configs/ にあります。

Helix と Neovim は、すぐに完全な統合が利用できます:

  • tree-sitter によるシンタックスハイライト (.hy および .cld ファイル)
  • エラー診断 -- インラインおよびガター表示
  • 定義へ移動 -- マクロとラベルの定義へジャンプ
  • ホバー -- コマンドとマクロのドキュメントポップアップ
  • 補完 -- コンテキストを考慮した候補の提案
  • 参照 -- シンボルのすべての使用箇所を検索
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)


VS Code 拡張機能も利用可能です。(まだ仕上げと公開ができていませんが、数日のうちにできるはずです。)

さらにその先へ

Hyades にはバイトコードコンパイラーとスタックベースの VM (Subnivean と呼ばれます) があり、マクロやレンダリングを支えるためのほぼあらゆる計算コードを書くことができます。リリースパッケージには 2 つの楽しい例が含まれています。1 つ目はターミナル向けの Matrix コードエフェクトです

README の画像

そして 2 つ目はインタラクティブなライフゲームです

README の画像

これはまた、Hyades がチューリング完全であることの直接的な証明でもあります。

README の画像

AI に関する開示

私はこのプロジェクトを AI 時代より前に始めたので、その約半分は AI なしで作られました。その後、Claude は、私だけでは何週間もかかったであろう機能の実装、特に小さな赤ちゃんの世話をしながらでも、このプロジェクトを完成させるために大いに助けてくれました。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。