Draughtsman について
Draughtsman は、キャンバスとテキスト DSL で図を作成、レビュー、管理するチームや AI エージェント向けのセルフホスト型図表サーバーです。図を型付きグラフとして保存し、内蔵 MCP サーバーからエージェントが直接作成、修正、評価、レンダリングできます。
主な機能
- 014 種類の型付き図表に対応
- 02可逆 DSL による編集と差分表示
- 03キャンバス編集と各種形式の入出力
- 04バージョン、アカウント、API トークンの管理
- 05SQLite または Postgres でセルフホスト
- 06モデルを設定して図表や文書を生成
活用シーン
- 01エージェントにアーキテクチャ図を作成・修正させる
- 02テキスト差分で図の変更をレビュー
- 03Mermaid、SQL、Visio ファイルを取り込む
- 04図から文書を作成し、画像として出力
MCP 対応
内蔵 MCP サーバーは HTTP の /mcp または stdio で 8 種類のツールを提供し、図の一覧、読み取り、作成、修正、レンダリング、差分、評価、スキーマ取得を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Draughtsman
エージェントネイティブなセルフホスト型の図表作成ツールです。 Draughtsman の図表は画像ではなく、型付きグラフです。種類、ポート、プロパティを持つノードとエッジを、ユーザーが運用するデータベースに保存します。このグラフにはロスレスなテキスト形式(DSL)があり、人や AI エージェントが読み取り、差分を確認し、書き込めます。また、組み込みの MCP サーバーを使えば、エージェントが図表を直接作成、修正、批評、レンダリングできます。キャンバスエディター、エクスポート、レンダリングは、すべてこの単一のモデルから生成されます。独自のサーバーで実行でき、明示的に有効化したオプション機能を除き、データがネットワークの外に出ることはありません。
- 型付きグラフモデル:4 種類のドキュメント(フローチャート、アーキテクチャ、自由形式、シーケンス)に対応し、エージェントは
get_schemaで種類ごとの語彙を取得できます。 - ロスレスなテキスト DSL:図表を出力し、テキストを編集しても、情報を失わずに再度パースできます。差分は文章として読めるため、図表を git で管理できます。
- MCP サーバー:HTTP(
/mcp)または stdio(draughtsman mcp --stdio)経由で 8 つのツールを利用できます。 - セルフホスト可能:実行ファイル 1 つ(またはコンテナ 1 つ)で動作します。デフォルトでは SQLite、必要に応じて Postgres を使用できます。当社のアカウントは不要で、ホームへの通信もありません。
クイックスタート
Docker を実行できるマシン、またはリリースアーカイブが必要です。所要時間は約 5 分です。
Docker
サインアップも、当社のアカウントも、申請も必要ありません。まだレジストリにイメージを公開していないため、このリポジトリからビルドしてください。
最も簡単な方法は docker-compose.yml を使うことです。
git clone https://github.com/overpassapps/draughtsman.git && cd draughtsman
docker compose up -d --build
docker compose logs draughtsman | grep "setup code"
または、ホスト上にデータ用のフォルダーを作成して、手動で実行します。
docker build -t draughtsman:local .
mkdir -p draughtsman-data && sudo chown -R 10001:10001 draughtsman-data && sudo chmod 700 draughtsman-data # Linux; Docker Desktop needs no chown
docker run -d --name draughtsman --restart unless-stopped \
-p 127.0.0.1:5180:5180 \
-v "$(pwd)/draughtsman-data:/data" \
draughtsman:local
curl -s http://127.0.0.1:5180/api/health # {"status":"ok"}
docker logs draughtsman 2>&1 | grep "setup code"
http://localhost:5180 を開き、ログに表示された初回セットアップコードを入力して、最初の管理者を作成します。ポートはループバックインターフェースにのみ公開されます。他のユーザーからアクセスできるようにするには、前段にリバースプロキシを配置してください(docs/deployment.md)。Docker の詳しいガイドは docs/install-docker.md をご覧ください。
複数プラットフォーム対応イメージ(1 つの Dockerfile から任意のマシンでビルド。Apple シリコンを含む。linux/amd64 と linux/arm64 に対応)を公開するには、docker-container ビルダーを使用してください。デフォルトのビルダーでは複数プラットフォーム対応イメージをプッシュできません。ビルドステージはマシン上でネイティブに実行され、最後のランタイムステージのみプラットフォームごとに異なります。
docker buildx create --name multi --driver docker-container --use # once
docker buildx build --platform linux/amd64,linux/arm64 -t docker.io/wroolie/draughtsman:<ver> --push .
リリースアーカイブ
macOS(Apple シリコンと Intel)、Linux(x64、arm64)、Windows(x64、arm64)向けのアーカイブは、追加インストールが不要な単独のフォルダーです。.NET も Node も必要ありません。まだリリースは作成されていないため、ダウンロードリンクはありません。scripts/publish.sh <platform> でソースからアーカイブをビルドできます。また、docs/install.md では、展開方法、サービスとしての実行方法、チェックサムについて説明しています。
tar -xzf draughtsman-0.1.0-linux-x64.tar.gz && cd draughtsman-0.1.0-linux-x64
./draughtsman # http://localhost:5180
ソースからビルド
.NET SDK 10.0.x(global.json で固定)と Node 22.12 以降が必要です。
dotnet run --project src/Draughtsman.Server # http://localhost:5180
web/dist が存在する場合、Web アプリはそこから配信されます(cd web && npm ci && npm run build)。開発の全手順については CONTRIBUTING.md をご覧ください。
MCP 経由で AI エージェントを接続する
サインインし、トップバーの トークン を開いてトークンを作成します(シークレット dst_… は一度だけ表示されます)。次に、以下を実行します。
# a running server, over HTTP (Claude Code shown; any MCP client that speaks streamable HTTP works)
claude mcp add --transport http draughtsman http://127.0.0.1:5180/mcp --header "Authorization: Bearer dst_…"
# the same machine and data folder, over stdio: no token, no port
claude mcp add draughtsman -e DRAUGHTSMAN_DATA=/path/to/data -- /path/to/draughtsman mcp --stdio
利用できるツールは list_documents、read_document、create_document、patch_document、render_document、diff_documents、critique_document、get_schema です。トークンは読み取り専用に設定できます。SKILL.md は、DSL とツールの使い方を説明する、すぐに使えるエージェントスキルです。HTTP の仕様については docs/api.md をご覧ください。
実装済みの機能
- エディター:パン、ズーム、範囲選択、スナップ、元に戻す/やり直しを備えたキャンバス、図形を避けて経路を描くコネクター(直角、直線、曲線)、ポート、コンテナーとグループ化、スタイルパネル、テキストペイン(キャンバスの横に DSL または Mermaid を表示)、ペンとタッチ操作、エージェントによる編集内容を開いている図にリアルタイムでマージする機能。
- 図の種類と図形:フローチャート(ISO 5807 記号、BPMN、スイムレーン)、アーキテクチャ図(汎用技術アイコン、組織図、UML クラス図とインターフェース図)、シーケンス図(メッセージ順で編集でき、フラグメントと注記に対応)、自由形式の図、UML ステート図形、列間コネクター付きのデータベーステーブル、基本図形。
- インポート:Mermaid(フローチャートとシーケンス図、および
erDiagram)、SQL DDL(T-SQL、PostgreSQL、MySQL、SQLite)、draw.io、Visio.vsdx(Visio 形式でエクスポートできるため Lucidchart にも対応)。 - エクスポート:ブラウザーでの PNG と SVG、ブラウザーの印刷ダイアログからの PDF(またはオプションの Chromium コンポーネントを介したサーバー側での PDF 出力)、DSL、JSON、Mermaid、SQL、自己完結型の HTML ファイルとしてエクスポートするフライスルー。
- フライスルー:図上のカメラパスをドキュメントに保存し、キャプション付きで全画面再生できます。
- チーム向け:ローカルアカウント(Administrator と Editor)、API トークン、ごみ箱、名前付きバージョンと比較・復元機能、批評パネル、サムネイル、ブランディング、テーマ、AI、メール設定用の管理ページ、コマンドラインからのバックアップと復元。
- オプションの AI:独自のモデル(Ollama、OpenAI 互換エンドポイント、Anthropic、Azure OpenAI)を使用して、テキストから生成および図からドキュメントを作成できます。管理者が設定するまで無効です。ローカルの Ollama を使用すれば、ネットワークの外にデータが送信されることはありません。
- 運用:SQLite または Postgres、Docker イメージ、systemd、launchd、Windows 用サービスインストーラー、
draughtsman doctorとconfig check、失敗した SQLite マイグレーションの自動ロールバックを含むアップグレード安全性チェック、エアギャップ環境へのインストール手順(docs/air-gapped.md、docs/data-flow.md)。
設定を含む詳細版は、docs/status.md をご覧ください。
未実装の機能
あらかじめここでお知らせします。
- シングルサインオン(OIDC、SAML)と
default以外のワークスペース。サインインはローカルのみです。 - Viewer ロールまたはドキュメントごとの権限。サインインしたユーザーは誰でもすべての図を閲覧でき、Editor はどの図も変更できます。
- 複数ユーザーによるリアルタイム編集。開いているエディターは新しいバージョンをポーリングしてマージします。古いバージョンからの保存は上書きせず、拒否されます。
- 公開済みのコンテナーイメージとリリースアーカイブ。現時点ではどちらもソースからビルドする必要があり、アーカイブにはコード署名も公証もまだありません。
- SQL Server ストレージ(SQLite と Postgres に対応しています)。
- サーバーへの追加インストールが不要な PDF レンダラー:サーバー側の PDF 出力にはオプションの Chromium コンポーネントが必要で、
render_documentは PNG を返せません。 - BPMN 図形ごとのテーマカラー、およびエッジの種類に対するサーバー側のスタイル設定(サーバーレンダラーでは BPMN のメッセージフローが通常の矢印として描画されます)。
- フライスルーの動画または GIF エクスポート、BPMN の補償、ループ、複数インスタンスのマーカー、コレオグラフィ図。
- 孤立したアップロード画像の自動クリーンアップ、およびセキュリティイベントログの削除。
- Windows は独自の CI ジョブを備えたリリース対象ですが、Windows アーカイブと
service installは Linux 版や macOS 版ほど十分に検証されていません。
既知の制限事項の全一覧は、CHANGELOG.md をご覧ください。
ドキュメント
ドキュメントの全文:https://draughtsman.overpass.co.uk/docs/。同じページは、このリポジトリの docs/ にあり、ビルド仕様、アーキテクチャの決定事項、ドキュメントスキーマ、DSL 文法も含まれています。
ライセンス
Draughtsman は、GNU Affero General Public Licence v3.0 only(LICENSE)で公開されているフリーソフトウェアです。著作権 © Overpass Limited。使用、変更、フォークが可能です。変更したバージョンをネットワークサービスとして実行する場合は、利用者にそのソースコードを提供する必要があります。
AGPL がご希望に合わない場合、Overpass は Draughtsman を商用ライセンス(COMMERCIAL-LICENSE.md)でも提供しています。このライセンスでは、組織内で使用するために Draughtsman を変更して自社のシステムに接続し、変更内容を非公開にできます。その場合、ネットワーク利用者にソースコードを提供する AGPL の義務はありません。料金は、最大50人のチーム向けが一括 £1,500、人数無制限が一括 £3,000 です。どちらにも12か月分のアップデートとメールサポートが含まれ、アップデートの更新費用は年間定価の25%です。ライセンスの適用範囲は、自組織内で Draughtsman を実行する場合です。ほかの人向けの製品やサービスに組み込む場合は、別途契約についてお問い合わせください。購入やお問い合わせは、[email protected] までご連絡ください。
商用ライセンスの購入。 商用ライセンスはメールで購入できます。組織名と希望するプランを記載して [email protected] までご連絡ください。確認用の注文書と請求書をお送りします。ライセンス本文は COMMERCIAL-LICENSE.md です。購入時点で有効なバージョンに同意したものとみなされます。
サードパーティ製コンポーネントには、それぞれ独自のライセンスが適用されます。詳細は THIRD-PARTY-NOTICES.txt をご覧ください。
貢献
バグ報告、アイデア、プルリクエストを歓迎します。まず CONTRIBUTING.md をお読みください。Overpass Limited が引き続き商用ライセンスを提供できるよう、外部からの貢献には署名済みのコントリビューターライセンス契約が必要です。参加者は全員、行動規範に従うことが求められます。質問は issue ではなく、GitHub Discussions をご利用ください。
プロジェクトを支援する
Draughtsman は Overpass が開発・保守しています。作業時間の節約に役立っている場合は、https://github.com/sponsors/overpassapps から活動をご支援いただけます。
セキュリティ
脆弱性は公開 issue ではなく、[email protected] まで非公開でご報告ください。対象範囲、対応期間、セキュリティモデルについては SECURITY.md をご覧ください。
Overpass が制作しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。