
Draughtsman
io.github.overpassapps由 GitHub 帳號 overpassapps 發布v0.1.0更新於 Oct 25, 2026
Self-hosted diagramming server with a built-in MCP server for AI agents.
概覽
自架式繪圖伺服器,內建 MCP 伺服器,讓 AI 助理建立、修改、評閱、比對並算繪具型別的圖模型。
- 可以做什麼
- 列出並讀取伺服器上儲存的圖表,並取得文件類型與節點種類的 schema 後再寫入。透過無損文字 DSL 建立新圖表與修補現有圖表,助理的修改會即時合併到已開啟的畫布。算繪圖表,並比對兩個版本以查看變更。依 schema 與慣例對圖表提出評閱意見。
- 適用情境
- 適合把圖表當成可版控、可用文字 diff 的模型保存在自有基礎設施上,並希望助理起草、修改或審閱圖表而非畫圖。也適合已在執行 Draughtsman、希望助理處理同一批文件的團隊。
- 執行需求
- 需要自行執行的 Draughtsman 執行個體:可執行 Docker 的機器或發行壓縮檔,預設 SQLite,也可用 Postgres。走 HTTP 時需要伺服器的 MCP 端點,並在 Authorization 標頭中帶上在網頁應用 Tokens 頁面建立的 bearer 權杖;走 stdio 時執行本機二進位檔並指向同一資料目錄,無需權杖。首次設定需要從伺服器日誌取得一次性設定碼。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Draughtsman,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Draughtsman
Agent-native, self-hosted diagramming. A Draughtsman diagram is a typed graph, not a picture: nodes and edges with kinds, ports and properties, stored in a database you run. The graph has a lossless text form (the DSL) that people and AI agents can read, diff and write, and a built-in MCP server so an agent can create, amend, critique and render diagrams directly. The canvas editor, the exports and the renders are all drawn from that one model. It runs on your own server, and nothing leaves your network unless you switch on an optional feature that says so.
- Typed graph model: four document types (flowchart, architecture, freeform, sequence) with kind vocabularies an agent can ask for with
get_schema. - Lossless text DSL: print a diagram, edit the text, parse it back with nothing lost. Diffs read in sentences, so diagrams belong in git.
- MCP server: eight tools over HTTP (
/mcp) or stdio (draughtsman mcp --stdio). - Self-hosted: one executable (or one container), SQLite by default, Postgres if you prefer. No account with us, no phone-home.
Quick start
You need a machine that can run Docker, or one of the release archives. About five minutes.
Docker
No sign-up, no account with us, nothing to request. No image is published to a registry yet, so build it from this repository.
The quickest way is docker-compose.yml:
Or by hand, with a folder on the host for the data:
Open http://localhost:5180, enter the one-time setup code from the log, and create the first administrator. The port is published to loopback only; put a reverse proxy in front for anyone else (docs/deployment.md). Full Docker guide: docs/install-docker.md.
To publish a multi-platform image (linux/amd64 and linux/arm64, built from one Dockerfile on any machine, Apple silicon included), use a docker-container builder; the default builder cannot push a multi-platform image. The build stages run natively on your machine and only the final runtime stage differs per platform:
Release archive
Archives for macOS (Apple silicon and Intel), Linux (x64, arm64) and Windows (x64, arm64) are one folder with nothing else to install: no .NET, no Node. No release has been cut yet, so there is no download to link to; scripts/publish.sh <platform> builds an archive from source, and docs/install.md covers unpacking, running as a service and checksums.
From source
.NET SDK 10.0.x (pinned in global.json) and Node 22.12 or later:
The web app is served from web/dist when it exists (cd web && npm ci && npm run build). CONTRIBUTING.md has the whole developer loop.
Connect an AI agent over MCP
Sign in, open Tokens in the top bar, create a token (the secret, dst_…, is shown once), then:
The tools are list_documents, read_document, create_document, patch_document, render_document, diff_documents, critique_document and get_schema. A token can be read-only. SKILL.md is a ready-made agent skill that teaches the DSL and the tools; the HTTP contract is in docs/api.md.
What is built
- Editor: a canvas with pan, zoom, marquee select, snapping, undo and redo, connectors that route around shapes (orthogonal, straight, curved), ports, containers and grouping, a styling panel, a text pane (DSL or Mermaid beside the canvas), pen and touch, and live merging of an agent's edits into the open diagram.
- Diagram types and shapes: flowchart (ISO 5807 symbols, BPMN, swimlanes), architecture (generic tech icons, org chart, UML class and interface), sequence (edited by message order, with fragments and notes), freeform, UML state shapes, database tables with column-to-column connectors, and basic shapes.
- Import: Mermaid (flowchart and sequence, plus
erDiagram), SQL DDL (T-SQL, PostgreSQL, MySQL, SQLite), draw.io, and Visio.vsdx(which also covers Lucidchart via its Visio export). - Export: PNG and SVG in the browser, PDF from the browser's print dialog (or server-side through an optional Chromium component), DSL, JSON, Mermaid, SQL, and a fly-through exported as one self-contained HTML file.
- Fly-through: a camera path over a diagram, saved in the document and played full screen with captions.
- For teams: local accounts (Administrator and Editor), API tokens, a recycle bin, named versions with compare and restore, a critique panel, thumbnails, admin pages for branding, themes, AI and email settings, and backup and restore from the command line.
- Optional AI: bring your own model (Ollama, any OpenAI-compatible endpoint, Anthropic, Azure OpenAI) for Generate from text and Diagram to document. Off unless an administrator configures it; with a local Ollama nothing leaves your network.
- Operations: SQLite or Postgres, a Docker image, service installers for systemd, launchd and Windows,
draughtsman doctorandconfig check, upgrade safety checks with automatic rollback of a failed SQLite migration, and an air-gapped install path (docs/air-gapped.md,docs/data-flow.md).
The long-form version, with configuration, is docs/status.md.
Not built yet
We would rather you heard it here first:
- Single sign-on (OIDC, SAML) and workspaces beyond
default. Sign-in is local only. - A Viewer role or per-document permissions. Every signed-in user can read every diagram, and an Editor can change any of them.
- Real-time multi-user editing. The open editor polls and merges newer versions, and a stale save is refused rather than overwritten.
- A published container image and published release archives. You build both from source for now, and archives are not yet code-signed or notarised.
- SQL Server storage (SQLite and Postgres are supported).
- A PDF renderer that needs no extra install on the server: server-side PDF needs the optional Chromium component, and
render_documentcannot return PNG. - Per-kind theme colours for BPMN shapes, and server-side styling of edge kinds (the server render draws a BPMN message flow as a plain arrow).
- Fly-through video or GIF export; BPMN compensation, loop and multi-instance markers and choreography diagrams.
- Automatic clean-up of orphaned uploaded images, and pruning of the security event log.
- Windows is a release target with its own CI leg, but the Windows archive and
service installare less proven than the Linux and macOS ones.
The full list of known limitations is in CHANGELOG.md.
Documentation
Full documentation: https://draughtsman.overpass.co.uk/docs/. The same pages are in docs/ in this repository, alongside the build specification, the architecture decisions, the document schema and the DSL grammar.
Licence
Draughtsman is free software, released under the GNU Affero General Public Licence v3.0 only (LICENSE). Copyright © Overpass Limited. You can use it, change it and fork it; if you run a modified version as a network service you must offer its source to the people using it.
If the AGPL does not suit you, Overpass also offers Draughtsman under a commercial licence (COMMERCIAL-LICENSE.md). It lets your organisation change Draughtsman and connect it to your own systems for internal use, and keep those changes private, without the AGPL's duty to offer source to network users. It costs £1,500 one-off for a team of up to 50 people, or £3,000 one-off with no limit on people. Each includes 12 months of updates and email support, and renewing updates costs 25% of list a year. It covers running Draughtsman inside your own organisation; to embed it in a product or service for others, ask about a separate agreement. To buy or ask, write to [email protected].
Buying a commercial licence. Commercial licences are bought by email: write to [email protected] with your organisation's name and the tier you want, and we reply with an order to confirm and an invoice. The licence text is COMMERCIAL-LICENSE.md; the version in force when you buy is the one you accept.
Third-party components keep their own licences: see THIRD-PARTY-NOTICES.txt.
Contributing
Bug reports, ideas and pull requests are welcome. Read CONTRIBUTING.md first. Outside contributions need a signed-off Contributor Licence Agreement so that Overpass Limited can keep offering commercial licences. Everyone taking part is expected to follow the Code of Conduct. For questions, use GitHub Discussions rather than issues.
Support the project
Draughtsman is built and maintained by Overpass. If it saves you time, you can sponsor the work at https://github.com/sponsors/overpassapps.
Security
Please report vulnerabilities privately to [email protected], not in a public issue. See SECURITY.md for scope, timescales and the security model.
Made by Overpass.
來源:README.md,提交 7522640
工具
0版本歷史
1- v0.1.0最新Oct 25, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分