mcpField
D
Draughtsman

Draughtsman

ローカル
draughtsman.overpass.co.ukメディア・デザイン15 日前に更新

Draughtsman について

Draughtsman は、キャンバスとテキスト DSL で図を作成、レビュー、管理するチームや AI エージェント向けのセルフホスト型図表サーバーです。図を型付きグラフとして保存し、内蔵 MCP サーバーからエージェントが直接作成、修正、評価、レンダリングできます。

主な機能

  1. 014 種類の型付き図表に対応
  2. 02可逆 DSL による編集と差分表示
  3. 03キャンバス編集と各種形式の入出力
  4. 04バージョン、アカウント、API トークンの管理
  5. 05SQLite または Postgres でセルフホスト
  6. 06モデルを設定して図表や文書を生成

活用シーン

  1. 01エージェントにアーキテクチャ図を作成・修正させる
  2. 02テキスト差分で図の変更をレビュー
  3. 03Mermaid、SQL、Visio ファイルを取り込む
  4. 04図から文書を作成し、画像として出力

MCP 対応

内蔵 MCP サーバーは HTTP の /mcp または stdio で 8 種類のツールを提供し、図の一覧、読み取り、作成、修正、レンダリング、差分、評価、スキーマ取得を可能にします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"overpassapps-draughtsman": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/wroolie/draughtsman:0.1.0"
]
}
}
}
起動コマンドdocker run -i --rm docker.io/wroolie/draughtsman:0.1.0

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

パッケージ
ocidocker.io/wroolie/draughtsman:0.1.0

ツール

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

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

詳細

Overpass の Draughtsman

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 が制作しました。

コメント

MCP は初めてですか?

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

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