trident
Server Details
Create and edit collaborative architecture diagrams with any AI assistant using the Trident 2D DSL.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- alexeibespalov/tridentpublic
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 22 of 22 tools scored. Lowest: 3.8/5.
Each tool has a clearly distinct purpose: CRUD operations for nodes, containers, connections, and annotations are separated, and read-only/utility tools like open_document, get_document_summary, and explain are well-differentiated. No two tools have overlapping functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g. add_node, delete_connection, get_document_summary). Even utility tools like open_document and validate_trident adhere to this pattern, making the set predictable and easy to navigate.
With 22 tools, the server is slightly above the typical well-scoped range (3-15). Each tool serves a specific purpose, covering CRUD for diagram elements, multiple read operations, and collaboration features, but the count feels a bit heavy for a focused diagramming tool.
The tool set provides comprehensive CRUD for core elements (nodes, containers, connections, annotations), multiple read methods, guides, and collaboration aids. Minor gaps exist: no bulk operations, no tool to create or manage documents themselves, but the core editing workflow is well-covered.
Available Tools
23 toolsadd_annotationInspect
Adds a text annotation to a live Trident document. Two visual styles: style:stickyNote (default — post-it card with colored background, good for notes/callouts) or style:textBody (plain transparent text, good for diagram titles and section labels). Ideal for architectural notes, decision records, section labels, or TODO markers. Appears immediately for all collaborators. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| annotation | Yes | Annotation definition | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
add_connectionInspect
Adds a connection (arrow/edge) between two nodes in a live Trident document. Use get_document_summary to get valid source and target node IDs before calling this. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| connection | Yes | ||
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
add_containerInspect
Adds a new container (group/swimlane) to a live Trident document. Containers visually group related nodes. Use get_document_summary to check existing container IDs before adding to avoid duplicates. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| container | Yes | ||
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
add_nodeInspect
Adds a new node (entity) to a live Trident document. The node appears immediately for all collaborators. Requires a valid editor access token. Before adding nodes: call open_document to understand the diagram layout and pick sensible positions; call get_document_summary to get all existing entity IDs so you can avoid duplicates. IMPORTANT: if this node belongs inside a container, pass node.container on THIS call — do NOT create the node without a container and reparent it later via update_node. Orphaned nodes appear immediately to all live collaborators and create unnecessary visual churn.
| Name | Required | Description | Default |
|---|---|---|---|
| node | Yes | Node definition | |
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
delete_annotationDestructiveIdempotentInspect
Removes a text annotation from a live Trident document. Use get_document_summary to get all annotation IDs before calling this. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| annotationId | Yes | ID of the annotation to delete | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
delete_connectionDestructiveIdempotentInspect
Removes a connection from a live Trident document. Provide either the connectionId, or both source and target node IDs to find and remove the matching connection. Use get_document_summary to get all connection IDs before calling this. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| source | No | Source node ID (use with target if connectionId unknown) | |
| target | No | Target node ID (use with source if connectionId unknown) | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| connectionId | No | ID of the connection to delete (preferred) | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
delete_containerDestructiveIdempotentInspect
Removes a container from a live Trident document. By default, nodes inside are detached (kept on the diagram without a container). Pass deleteNodes: true to remove the container's nodes as well. Use get_document_summary to get all container IDs before calling this. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| containerId | Yes | ID of the container to delete | |
| deleteNodes | No | If true, also delete all nodes inside the container (default false) | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
delete_nodeDestructiveIdempotentInspect
Removes a node from a live Trident document. All connections to/from this node are also removed automatically. Use get_document_summary to get all node IDs before calling this. This action is reversible via Ctrl+Z in the Trident editor. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| nodeId | Yes | ID of the node to delete | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
explainRead-onlyInspect
Delivers an explanation payload to human collaborators watching the document, optionally anchored to a specific node or container. Use this when you want to explain what a diagram element represents, why it exists, or how it relates to other parts of the system — without suggesting a change. The explanation appears in the UI attributed to you. Does NOT mutate the diagram. Requires a valid viewer or editor access token. IMPORTANT: this tool automatically pauses (3–15 s, proportional to explanation length) before returning, so the human has time to read. Do NOT add your own artificial delays between explain calls — the pacing is built in.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Viewer or editor access token for this document. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| entityId | No | ID of the node or container being explained. Always provide this when explaining a specific element — it moves the AI cursor to that element so collaborators can follow along. | |
| userName | Yes | First name of the human you are assisting. | |
| explanation | Yes | The explanation text to deliver to human collaborators (max 1000 chars). |
get_comprehensive_exampleRead-onlyInspect
Returns a comprehensive Trident example demonstrating all syntax features including containers, nodes (traditional and bracket-style syntax), diamond/rectangle shapes, icons, connections with labels, routing modes, cards, and text annotations. Use this to see all features in action.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_document_pngRead-onlyInspect
Renders the current state of a live Trident document as a PNG image directly from the Yjs collaborative session — bypassing Firestore, which may be stale. Returns a base64-encoded PNG. Use this to visually verify that diagram edits look correct before or after making changes.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Access token for this document. The document ID is embedded in the token. |
get_document_summaryRead-onlyInspect
Returns a complete structured summary of a Trident document as JSON: all node IDs, container IDs, connection IDs, annotation IDs, labels, and entity counts. Use this for PROGRAMMATIC OPERATIONS — it is never truncated regardless of diagram size, so you always get every entity ID. Use this before any bulk update, delete, or enumeration task. To read and understand the diagram as a human-readable diagram, use open_document instead. Requires a valid access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Access token for this document. The document ID is embedded in the token. |
get_generator_guideRead-onlyInspect
Returns LLM-optimized instructions for generating Trident diagrams, including quick reference, critical rules (especially Y-axis!), spacing guidelines, common patterns, color conventions, and error prevention checklist. Use this before generating any Trident diagram.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_quick_startRead-onlyInspect
Returns a condensed 2-minute quick-start guide with minimal working examples, core syntax reference, and key concepts. Use this for rapid learning when you need to generate simple diagrams quickly.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_recent_changesRead-onlyInspect
Returns the recent change history for a live Trident document. Each entry shows who made the change, what was changed, and when. Useful for understanding what edits have been made by AI agents or human collaborators. Requires a valid access token.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional: Maximum number of entries to return (default 100, max 500) | |
| since | No | Optional: Unix timestamp in milliseconds — only return changes after this time | |
| token | Yes | Access token for this document. The document ID is embedded in the token. |
get_trident_specRead-onlyInspect
Returns the complete Trident 2D specification including grammar, syntax rules, coordinate system, containers, nodes, connections, shapes, and icon reference. Use this when you need deep understanding of the Trident DSL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
make_suggestionInspect
Posts a visible suggestion to human collaborators watching the document WITHOUT making any changes to the diagram. Use this when you observe something worth flagging — a potential mistake, an improvement, or a question — but want the human to decide. The suggestion appears as a bold "SUGGESTION:" callout in the UI with a radar pulse animation on your presence dot for 10 seconds. Does NOT mutate the diagram. Requires a valid viewer or editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Viewer or editor access token for this document. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| entityId | No | ID of the node or container this suggestion relates to. Always provide this when the suggestion concerns a specific element — it moves the AI cursor to that element so collaborators know exactly what you are referring to. | |
| userName | Yes | First name of the human you are assisting. | |
| suggestion | Yes | The suggestion text to show to human collaborators (max 500 chars). Be concise and actionable. |
open_documentRead-onlyInspect
Opens a live Trident document and returns its full contents as Trident markup DSL — the human-readable text format used to author diagrams. Use this to READ and UNDERSTAND the diagram: its structure, labels, connections, and layout. Do NOT rely on this to enumerate entity IDs for programmatic use — the DSL can be very large and the output may be truncated. To get a complete, structured list of all entity IDs and counts, use get_document_summary instead. Requires a valid access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Access token for this document. The document ID is embedded in the token. | |
| agentId | No | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". |
update_annotationIdempotentInspect
Updates an existing text annotation in a live Trident document. Only the fields you provide are changed. Use get_document_summary to get all annotation IDs before calling this. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| changes | Yes | Fields to update. Only provided fields are changed. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| annotationId | Yes | ID of the annotation to update | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
update_canvas_graphicIdempotentInspect
Repositions or resizes a background image (canvas graphic) in a live Trident document. Use open_document to get the canvas graphic ID and current dimensions — it appears as: image "" at (x, y) width:W height:H. The position at (x, y) is the TOP-LEFT corner. USE THIS BEFORE placing many geographically-positioned nodes: if the background map is small (e.g. width < 700), scale it up so nodes have room to breathe and do not overlap. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). | |
| changes | Yes | Geometry fields to update. Only provided fields are changed; all others are preserved. | |
| userName | No | First name of the human you are assisting. | |
| canvasGraphicId | Yes | ID of the canvas graphic to update (from open_document output). | |
| action_explanation | No | Optional: brief explanation shown live to human collaborators (max 250 chars). |
update_containerIdempotentInspect
Updates properties of an existing container in a live Trident document. Only provided fields are changed. Use get_document_summary to get all container IDs before calling this. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| changes | Yes | ||
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| containerId | Yes | ID of the container to update | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
update_nodeIdempotentInspect
Updates properties of an existing node in a live Trident document. Only the fields you provide are changed; others are preserved. Use get_document_summary to get all node IDs before calling this. Requires a valid editor access token.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Editor access token for this document. The document ID is embedded in the token. | |
| nodeId | Yes | ID of the node to update | |
| agentId | Yes | YOUR AI assistant name (e.g. "Claude.ai", "GitHub Copilot"). Shown as "[agentId] working with [userName]" in the collaboration presence dot. | |
| changes | Yes | Fields to update. Only provided fields are changed. | |
| userName | No | First name of the human you are assisting (ask them at session start if you do not know). Shown in the collaboration presence dot as "[agentId] working with [userName]". | |
| action_explanation | No | Optional: brief explanation of what this action does and why (max 250 chars). Shown live to human collaborators in the AI cursor tooltip. |
validate_tridentRead-onlyInspect
Returns a comprehensive validation checklist for Trident diagrams covering syntax rules, semantic rules, best practices, and common mistakes to avoid. Use this after generating a diagram to verify correctness.
| Name | Required | Description | Default |
|---|---|---|---|
| diagram | No | Optional: The Trident diagram code to include context-specific validation tips |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceEnables visual drag-and-drop editing of Mermaid diagrams through Claude, allowing iterative refinement of software architecture designs.Last updated6MIT
- Alicense-qualityCmaintenanceGenerates professional architecture diagrams from natural language descriptions using template-driven prompts and swappable AI image providers.Last updated1MIT
- Alicense-qualityDmaintenanceEnables LLMs to draw interactive diagrams (architecture, sequence, class) inside the editor, with clickable nodes that jump to source code.Last updated4MIT
- Alicense-qualityAmaintenanceEnables AI agents to read, modify, and build from architecture models, keeping the model as the source of truth for intent and synchronized with code.Last updated30101BSD 3-Clause