{
 "voice": "One card of the book.",
 "agent": {
  "slug": "trident",
  "name": "trident",
  "specialty": "productivity",
  "description": "Create and edit collaborative architecture diagrams with any AI assistant using the Trident 2D DSL.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-08T23:13:31.374Z",
  "card": "/agent/trident",
  "url": "https://allagents.app/agent/trident",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.tridentchart.com/mcp",
   "docs": "https://github.com/alexeibespalov/tridentpublic"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [
   "npm"
  ],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": null,
   "hire": null
  },
  "bubble": "closed",
  "score": 45,
  "score_label": "Getting started",
  "mcp_tools": {
   "seen": "2026-11-09",
   "total": 23,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "get_trident_spec",
     "description": "Returns the complete Trident 2D specification including grammar, syntax rules, coordinate system, containers, nodes, connections, shapes, and icon reference…"
    },
    {
     "name": "get_generator_guide",
     "description": "Returns LLM-optimized instructions for generating Trident diagrams, including quick reference, critical rules (especially Y-axis!), spacing guidelines, common…"
    },
    {
     "name": "get_comprehensive_example",
     "description": "Returns a comprehensive Trident example demonstrating all syntax features including containers, nodes (traditional and bracket-style syntax)…"
    },
    {
     "name": "validate_trident",
     "description": "Returns a comprehensive validation checklist for Trident diagrams covering syntax rules, semantic rules, best practices, and common mistakes to avoid. Use…"
    },
    {
     "name": "get_quick_start",
     "description": "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…"
    },
    {
     "name": "open_document",
     "description": "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…"
    },
    {
     "name": "get_document_summary",
     "description": "Returns a complete structured summary of a Trident document as JSON: all node IDs, container IDs, connection IDs, annotation IDs, labels, and entity counts…"
    },
    {
     "name": "get_recent_changes",
     "description": "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…"
    },
    {
     "name": "add_node",
     "description": "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…"
    },
    {
     "name": "update_node",
     "description": "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…"
    },
    {
     "name": "delete_node",
     "description": "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…"
    },
    {
     "name": "add_container",
     "description": "Adds a new container (group/swimlane) to a live Trident document. Containers visually group related nodes. Use get_document_summary to check existing…"
    },
    {
     "name": "update_container",
     "description": "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…"
    },
    {
     "name": "delete_container",
     "description": "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…"
    },
    {
     "name": "add_connection",
     "description": "Adds a connection (arrow/edge) between two nodes or containers in a live Trident document. Use get_document_summary to get valid source and target IDs before…"
    },
    {
     "name": "delete_connection",
     "description": "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…"
    },
    {
     "name": "get_document_png",
     "description": "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…"
    },
    {
     "name": "add_annotation",
     "description": "Adds a text annotation to a live Trident document. Two visual styles: style:stickyNote (default — post-it card with colored background, good for…"
    },
    {
     "name": "update_annotation",
     "description": "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…"
    },
    {
     "name": "delete_annotation",
     "description": "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…"
    },
    {
     "name": "update_canvas_graphic",
     "description": "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…"
    },
    {
     "name": "make_suggestion",
     "description": "Posts a visible suggestion to human collaborators watching the document WITHOUT making any changes to the diagram. Use this when you observe something worth…"
    },
    {
     "name": "explain",
     "description": "Delivers an explanation payload to human collaborators watching the document, optionally anchored to a specific node or container. Use this when you want to…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.tridentchart.com/mcp",
   "answers": true,
   "checked": "2026-11-09T06:07:57.850Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-09T06:52:02.156Z",
     "since": "2026-11-09T06:52:02.156Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-09T06:52:02.156Z",
    "since": "2026-11-09T06:52:02.156Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-09T06:07:57.850Z",
   "last_answer_at": "2026-11-09T06:07:57.850Z",
   "last_ms": 119,
   "checked_at": "2026-11-09T06:07:57.850Z"
  }
 }
}