MCP server: One MCP server.

Trident

@alexeibespalovRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Create and edit collaborative architecture diagrams with any AI assistant using the Trident 2D DSL.

Diagrams & whiteboardsv1.0.2JavaScript
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

9 read12 act2 other

Grouped by tool name. At most: creates or changes data: records, files, settings.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

23 · grouped by tool name · checked 9 Oct 2026

Read · 9Look things up

  • get_trident_spec
  • get_generator_guide
  • get_comprehensive_example
  • validate_trident
  • get_quick_start
  • get_document_summary
  • get_recent_changes
  • get_document_png
  • explain

Act · 12Change something

  • add_node
  • update_node
  • delete_node
  • add_container
  • update_container
  • delete_container
  • add_connection
  • delete_connection
  • add_annotation
  • update_annotation
  • delete_annotation
  • update_canvas_graphic

Other · 2Neither hinted nor named

  • open_document
  • make_suggestion
Try it in the Inspector
README1 min read

Trident — Public

Open-source core of Trident — a text-based diagramming tool.

This repo contains the parser, serializer, and read-only renderer. No auth, no collaboration, no dependencies.


What's here

FilePurpose
parser.jsParses Trident markup text → graphData object
trident-serializer.jsSerializes graphData → Trident markup text
renderer-oss.jsRead-only renderer: SVG, PNG, interactive canvas
spec.mdFull language specification
example.mdWorking diagram examples
demo.htmlBrowser demo (open directly, no build step)

Quick start

html
<script type="module">
import { Trident2DParserV2 } from './parser.js';
import { renderToSVG, renderToPNG, mountViewer } from './renderer-oss.js';

const parser = new Trident2DParserV2();

const markup = `trident
container backend color:#4A90E2 label:"Backend"
node api[API Server] in backend at (150, 100)
node db[Database]   in backend at (350, 100)
api --> |Query| db`;

// SVG string
const svg = await renderToSVG(markup, parser);

// Interactive canvas with zoom + pan (no editing)
await mountViewer(document.getElementById('diagram'), markup, parser);

// PNG blob (2× retina)
const blob = await renderToPNG(markup, parser, { scale: 2 });
</script>

Open demo.html directly in a browser to see it running.


Markup format

trident

container <id> [color:<hex>] [label:"<text>"] [at (<x>, <y>)]
node <id>(<icon>)[<label>] [in <container>] [at (<x>, <y>)] [color:<hex>]
<source> --> <target>
<source> -->|<label>| <target>
text <id> "<content>" at (<x>, <y>) [style:stickyNote|textBody]

See spec.md for the full grammar and example.md for complete working diagrams.


License

MIT

Similar modules

Browse Diagrams & whiteboards