mcpField
F
Figcraft - Code-driven SVG Diagram Generator

Figcraft - Code-driven SVG Diagram Generator

ローカル
github.com/zeqinlee開発ツール2838 週間前に更新

Figcraft - Code-driven SVG Diagram Generator について

Figcraft は、アーキテクチャ図やフローチャート、ニューラルネットワーク図をコードで作成する TypeScript/Node.js 向けライブラリです。レイアウト支援と複数形式へのエクスポートに対応します。

主な機能

  1. 0110 種類の図形
  2. 02カスタマイズ可能な矢印
  3. 03行・列・グリッド・グループ配置
  4. 04Markdown ラベル
  5. 05SVG、PNG、JPG、WebP、PDF 出力

活用シーン

  1. 01コードでアーキテクチャ図を作成
  2. 02フローチャート要素を自動配置
  3. 03図を画像や PDF に出力

MCP 対応

`figcraft-mcp` による MCP 連携を備え、AI エージェントが自然言語の説明から図を生成できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"figcraft": {
"command": "npx",
"args": [
"-y",
"figcraft-mcp"
]
}
}
}
起動コマンドnpx -y figcraft-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmfigcraft-mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Figcraft のロゴ

Figcraft

TypeScript / Node.js 向けのコード駆動型 SVG 図表ライブラリ

XFlow による · TypeScript を数行書くだけで、公開に適したアーキテクチャ図を作成できます。

npm version license node PRs Welcome

ウェブサイト · ドキュメント · インストール · GitHub


Transformer アーキテクチャ図
CNN 画像分類パイプライン

特長

機能
10 種類の図形rect、circle、diamond、trapezoid、text、image、cylinder、cuboid、sphere、stack2D + 3D
11 種類の矢印の先端triangle、stealth、vee、circle、diamond、bar、dot + 開いた形状のバリエーション完全にカスタマイズ可能
スマートレイアウトrow() col() grid() group()自動整列
Markdown ラベル**bold** *italic* `code` $math$あらゆる要素に対応
複数形式SVG、PNG、JPG、WebP、PDFfit による自動トリミング
MCPAI エージェントが自然言語で図表を生成Claude / Cursor
ブラウザー不要Node.js 内で完全に動作サーバーサイドですぐに利用可能

インストール

npm install figcraft        # npm
pnpm add figcraft           # pnpm
yarn add figcraft           # yarn

Node.js 18 以降が必要です

クイックスタート

import { Figure } from 'figcraft'

const fig = new Figure(800, 400, { bg: '#fff' })

const a = fig.rect('Input', {
  pos: [50, 100], size: [120, 50],
  fill: '#e3f2fd', radius: 6
})

const b = fig.rect('Output', {
  pos: [250, 100], size: [120, 50],
  fill: '#c8e6c9', radius: 6
})

fig.arrow(a, b, { head: 'stealth', label: 'data' })

await fig.export('diagram.svg', { fit: true, margin: 20 })
npx tsx diagram.ts

要素

種類メソッド説明
矩形fig.rect()角丸の矩形
円fig.circle()円
ひし形fig.diamond()判断ノード
台形fig.trapezoid()プーリング/縮約
テキストfig.text()Markdown テキストラベル
画像fig.image()埋め込み画像
円柱fig.cylinder()3D 円柱(データベース)
直方体fig.cuboid()3D 直方体(テンソル)
球fig.sphere()3D 球
スタックfig.stack()複数レイヤーのスタック

矢印

fig.arrow(a, b)                                      // default
fig.arrow(a, b, { head: 'stealth', color: '#1565c0' }) // styled

// Anchors
fig.arrow(a, b, { from: 'right', to: 'left' })
fig.arrow(a, b, {
  from: { side: 'bottom', at: 30 },
  to: { side: 'top', at: 70 }
})

// Paths
fig.arrow(a, b, { path: 'curve', curve: 40 })
fig.arrow(a, b, { path: 'polyline', cornerRadius: 8 })

// Styles
fig.arrow(a, b, { style: 'dashed', bidirectional: true })

// Fan & Fork
fig.arrows(src, [a, b, c], { head: 'stealth' })  // fan-out
fig.fork(src, [a, b, c], { head: 'stealth' })     // shared trunk

レイアウト

fig.row([a, b, c], { gap: 40 })            // horizontal
fig.col([a, b, c], { gap: 30 })            // vertical
fig.grid([a, b, c, d, e, f], { cols: 3 })  // grid
fig.group([a, b, c], { label: 'Pipeline' }) // group box

エクスポート

await fig.export('out.svg')                           // SVG vector
await fig.export('out.png', { fit: true, scale: 3 })  // high-res PNG
await fig.export('out.jpg', { quality: 95 })           // JPEG
await fig.export('out.webp')                           // WebP
await fig.export('out.pdf')                            // PDF

const svg = fig.render({ fit: true })                  // SVG string

MCP 連携

AI エージェントに図表を作成してもらえます。Claude Code または Cursor の設定に追加してください。

{
  "mcpServers": {
    "figcraft": {
      "command": "npx",
      "args": ["figcraft-mcp"]
    }
  }
}

あとは、作成したいものを自然言語で説明するだけです。

コントリビューション

コントリビューションを歓迎します。イシューを作成するか、プルリクエストをお送りください。

リンク

ライセンス

MIT — XFlow が制作

コメント

MCP は初めてですか?

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

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