Skip to main content
Glama

Helx

AIエージェントのためのユニバーサルアーティファクトランタイム。 エージェントが実際に扱うフォーマット(DOCX、XLSX、PPTX、PDF、Markdown、HTML、CSV)を読み取り、作成、編集、検証、差分、レンダリングする1つのエンジンです。さらにチャート、ダイアグラム、テンプレート、クロスフォーマット変換、CSVデータ操作も備えています。3つの方法で公開されています:

  • CLI — 人間とシェルスクリプトのための helx

  • MCPサーバー — AIエージェント(Claude、Cursorなど)向けのstdio上の20ツール

  • TypeScript SDK — 独自コードのためのクリーンな Artifact ファサード

npm version license PRs welcome

one model, every file
create → read → edit → save → validate → diff → render → convert

ビジュアルギャラリー

以下のすべてのアーティファクトはHelx自身によって作成・編集され、その後Helxによってプレビューされています。カードをクリックするとファイルが開きます。

DOCX report

XLSX sales

PPTX deck

PDF quarterly

Markdown playbook

HTML landing

CSV customers

DOCX letter (template merge)

Diagram

helx chart で生成されたチャート:

Revenue by region Trend Mix

ギャラリーは npx tsx scripts/make-gallery.ts によって生成されます — すべてのデモファイルをSDK経由で開き、@resvg/resvg-js でスタイル付きSVGプレビューをPNGにラスタライズします。

Related MCP server: LibreOffice MCP Tools

HelxがOfficeCLIより優れている理由

OfficeCLI はAIエージェント向けの強力なWord/Excel/PPTエディタです。Helxはさらに先を行きます:

機能

Helx

OfficeCLI

フォーマット

DOCX、XLSX、PPTX、PDF、Markdown、HTML、CSV

Word、Excel、PPTのみ

クロスフォーマット変換

helx convert report.docx report.md — DOCX↔MD/HTML/PDF、XLSX↔CSV/HTML/MD、PPTX→MD/HTML/DOCX、PDF→MD/HTML/DOCX、CSV↔XLSX

なし

チャートとダイアグラム

helx chart(棒/折れ線/円/ドーナツ/面/散布)、helx diagram(mermaid風フローチャート)

なし

テンプレート

{{var}}/{{#each}}/{{#if}} + インプレース DOCX マージ

DOCXマージのみ

CSVデータ操作

analyzefiltersortgroupaggregateprofilededupeclean

なし

PDF

作成、テキスト抽出、結合、分割

なし

エージェントの視覚用レンダリング

DOCX/XLSX/CSV→HTML、PPTX→SVG、PDF→テキスト、MD→HTML、チャート→SVG

render → PNG

インターフェース

CLI + MCP(20ツール)+ TypeScript SDK

CLI + MCP

エージェントパス

統一 /p[2]/sheet[X]/cell[C3]css:.hero、... すべてのフォーマットにわたって

フォーマットごと

検証と差分

すべてのエンジンで validate + セマンティック diff

なし

Helxはまた、すべてのインターフェースで stat(ドキュメント統計)と move(段落・行・スライド・シェイプの並べ替え)を提供します。

インストール

npm install -g helx        # CLI + MCP server
# or
npm install helx           # SDK for your own TypeScript/JavaScript project

次に helx --help を実行するか、MCPサーバーをAIクライアントに追加します:

{
  "mcpServers": {
    "helx": { "command": "helx", "args": ["mcp"] }
  }
}

これだけです — あらゆるAIモデルやエージェント(Claude、Cursor、Cline、LangChain、カスタムスクリプト)が、実際のオフィス文書やウェブ文書を作成・読み取り・編集・レンダリングできます。

ソースからビルド

git clone https://github.com/Asno-dev/Helx.git
cd Helx
npm install
npm run build        # tsc → dist/
npm test             # 71 integration checks (tsx test/smoke.ts)

Node >= 18(動的ESMインポートには >= 12.20 が必要です。Node 22 で検証済み)。

クイックスタート(CLI)

# Create a DOCX from a JSON spec (type inferred from the extension)
helx create report.docx '{"title":"Q3 Report","paragraphs":["Revenue grew 20% to $52k."],"tables":[{"headers":["Metric","Value"],"rows":[["ARR","4.2M"]]}]}'

# Inspect the structure as a path-addressed tree
helx inspect report.docx

# Read / write a single value via an agent path
helx get report.docx "/p[1]"
helx set report.docx "/table[0]/row[1]/cell[1]" "4.5M"

# Insert / remove / move, then validate and render to HTML for a visual check
helx insert report.docx "/p[2]" '{"text":"New paragraph","style":"Heading 2"}'
helx remove report.docx "/p[4]"
helx move report.docx "/p[2]" "/p[5]" --after
helx stat report.docx
helx validate report.docx
helx render report.docx --out report-preview.html

# Cross-format conversion (any direction, any engine)
helx convert report.docx report.md
helx convert report.md report.pdf
helx convert sales.xlsx sales.csv
helx convert deck.pptx deck.md

# Spreadsheets
helx create data.xlsx '{"sheet":"Revenue","rows":[["Quarter","Amount"],["Q1","10"]]}'
helx get data.xlsx "/sheet[Revenue]/cell[B2]"
helx analyze data.csv
helx filter data.csv '{"col":"score","op":"gt","value":80}'

# Decks
helx create deck.pptx '{"title":"Investor Deck","subtitle":"Q3 2026","bullets":["Market size: $10B"]}'
helx get deck.pptx "/slide[0]/shape[1]"

# PDFs (create via model; merge/split for structure)
helx create a.pdf '{"title":"Doc A","sections":[{"heading":"Intro","text":"Hello."}]}'
helx merge merged.pdf a.pdf b.pdf
helx split page1.pdf merged.pdf --pages 1
helx extract merged.pdf

# Charts, diagrams, templates
helx chart '{"type":"bar","labels":["Q1","Q2"],"values":[10,12]}' --out chart.svg
helx diagram 'graph TD; A[Start] --> B[End];' --out diagram.svg
helx template 'Hello {{name}}' '{"name":"Ada"}'

# Run the MCP server (for AI agents)
helx mcp

エージェントパス

すべてのアーティファクトは、安定したパスアドレス方式のツリーを公開しており、エージェントは任意の値を読み書きできます:

フォーマット

パスの例

DOCX

/p[2]/p[1]/text/table[0]/row[1]/cell[0]

XLSX

/sheet[Revenue]/cell[C24]/sheet[0]/row[3]

PPTX

/slide[0]/shape[1]/slide[0]/shape[2]/text

PDF

/page[0]/page[0]/text

Markdown

/heading[0]/p[2]

HTML

css:h1css:.summary > p

CSV

/row[3]/cell[1]

setinsertremovemove はモデルを変更し、save() でファイルにラウンドトリップして戻します。

クロスフォーマット変換

convert は実際のコンテンツモデルを歩みます — 文字列の切り替えではありません

変換元 \ 変換先

DOCX

XLSX

PPTX

PDF

MD

HTML

CSV

DOCX

XLSX

PPTX

PDF

MD

HTML

CSV

const md = await Artifact.create('markdown', { root: { children: [] } });
await md.insert('/node', { type: 'heading', depth: 1, text: 'Hello' });
const docx = await md.convertTo('docx');   // real DOCX bytes
const html = await docx.convertTo('html');

MCPサーバー

helx mcp はstdio上でModel Context Protocolサーバーを実行します。20のツールを公開します:

create_artifactinspectgetsetinsertremovemoveconvertstatrendervalidatediffmerge_pdfsplit_pdfextractanalyze_csvfilter_csvchartdiagramtemplate

ツールはファイルシステムパスベースです — エージェントがファイルパスとJSON値を渡すと、サーバーがアーティファクトを読み取り、編集、保存、またはレンダリングします。Claude Desktopなどのクライアントに登録します:

{
  "mcpServers": {
    "helx": { "command": "node", "args": ["/path/to/helx/dist/cli/index.js", "mcp"] }
  }
}

TypeScript SDK

import { Artifact, chartToSvg, dataFilter, renderTemplate } from 'helx';

// Create, edit, save
const doc = await Artifact.create('docx', {
  title: 'Report',
  paragraphs: ['Revenue grew 20% to $52k.'],
  tables: [{ headers: ['Metric', 'Value'], rows: [['ARR', '4.2M']] }],
});
await doc.set('/p[0]/text', 'Updated headline');
await doc.insert('/p[1]', { text: 'Inserted paragraph' });
const bytes = await doc.save();
await fs.writeFile('report.docx', bytes);

// Open any file, regardless of format
const art = await Artifact.open('data.xlsx', buffer);
console.log(await art.get('/sheet[Revenue]/cell[B2]'));
console.log(await art.inspect());

// Convert to another format, get stats, move elements
const md = await art.convertTo('markdown');
console.log(await art.stat());
await art.move('/sheet[Revenue]/row[3]', '/sheet[Revenue]/row[1]', 'before');

// Validation and diff
console.log(await art.validate());   // { status, issues[] }
console.log(await art.diff(other));  // DiffEntry[]

// Generator utilities
const svg = chartToSvg({ type: 'pie', labels: ['A', 'B'], values: [3, 7] });
const rows = dataFilter(data, { col: 'score', op: 'gt', value: 80 });
const out = renderTemplate('Hi {{name}}', { name: 'Ada' });

さらにエクスポートされるもの: convertArtifactcanConvertmergePdfssplitPdfdataProfiledataSortdataAggregatedataDedupedataCleanparseDiagramdiagramToSvgrenderDocxTemplatedetectTypeengineForFileregisterEngineengines

アーキテクチャ

src/
  core/
    types.ts        # shared model contracts (Engine, ArtifactModel, ValidationReport, ...)
    base.ts         # BaseEngine with typed dispatch for set/insert/remove/move
    paths.ts        # agent-path parser (/p[0], /sheet[X], css:..., /row[n]/cell[n])
    utils.ts        # LCS diff, diffText/diffSeqMerged, HTML document shell
    convert.ts      # cross-format converter (content-model based, 19 directions)
    index.ts        # engine registry + Artifact facade (create/open/save/...)
    engines/
      docx.ts       # paragraphs, heading styles, tables
      xlsx.ts       # sheets, cells, formula read-back
      pptx.ts       # slides, shapes, text boxes
      pdf.ts        # create (pdfkit), extract text (pdfjs-dist), merge/split (pdf-lib)
      markdown.ts   # remark/rehype round-trip
      html.ts       # cheerio DOM editing + css: selectors
      csv.ts        # rows + data ops: profile/filter/sort/group/aggregate/clean/dedupe
      chart.ts      # SVG charts (bar, line, pie, donut, area, scatter, grouped bar, stacked bar)
      diagram.ts    # mermaid-style flowchart → SVG
      template.ts   # {{var}}/{{#each}}/{{#if}} + in-place DOCX placeholder merge
  cli/index.ts      # helx CLI (commander)
  mcp/index.ts      # MCP stdio server (20 tools)
  sdk/index.ts      # public package surface
scripts/make-gallery.ts   # README gallery generator
examples/demo/            # all demo files created by Helx itself

各ファイルエンジンは1つのコントラクトを実装します: read(bytes) → modelwrite(model) → bytes、さらに create(spec)get/set/insert/remove/move(path)inspect()validate()diff(other)render()Artifact ファサードは元のバイトを保持するため、不変フォーマット(PDF)でも他のフォーマットへの編集後にラウンドトリップできます。

注記と設計上の決定

  • PDFはモデル上で不変:テキスト抽出は読み取り専用です(pdfjs-dist。pdf-parseは、バンドルされているpdf.js 2.xがpdfkitの出力を解析できないため削除されました)。構造操作には pdf-lib を使用します: mergePdfssplitPdf

  • HTMLへのレンダリング はエージェントの視覚ループ用です: DOCX/XLSX/CSV → HTMLテーブル、PPTX → スライドごとのSVG、PDF → ページごとのテキスト、Markdown → HTML、チャート/ダイアグラム → SVG。

  • helx charthelx diagramhelx template はジェネレーターユーティリティであり、ファイルエンジンとしては登録されていません。

  • 変換はモデルベース:コンバーターは各フォーマットの実際のモデル(DocxModelXlsxModel、...)を読み取り、別のエンジンのスペックを生成するため、convert は生のテキストを貼り付けるのではなく構造を保持します。

ライセンス

Apache-2.0 — LICENSE を参照。

コントリビューション

バグ報告、機能リクエスト、プルリクエストを歓迎します。開発ワークフロー、規約、行動規範については CONTRIBUTING.md を参照してください。

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Make videos and docs with your AI agent — describe what you need, every output stays editable.

  • Generate PDF/DOCX/XLSX/PPTX from templates+JSON. Convert Office/HTML/MD to PDF. Universal templating

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Asno-dev/Helx'

If you have feedback or need assistance with the MCP directory API, please join our Discord server