Skip to main content
Glama
260,585 tools. Last updated 2026-07-05 07:35

"A tool for generating and live previewing Mermaid diagrams from code" matching MCP tools:

  • Replace a workspace's doc body. Takes EITHER TipTap JSON (`content`) OR Markdown (`markdown`): pass markdown when you're producing prose from scratch (CommonMark + GFM is the format every LLM emits natively), pass TipTap JSON when you need structural edits to an existing doc (round-trip from get_doc, mutate, write back). Beyond CommonMark + GFM, the markdown layer recognizes: - **![alt text](https://…)** → inline image. Use ANY publicly-reachable URL (HTTPS preferred — HTTP fires browser mixed-content warnings; data: URIs are rejected by `allowBase64: false`). Renders block-feeling via CSS (max-width 100%, rounded corners, drop shadow) even though the underlying node is inline. The `alt` text is the accessible label and shows in place of the image if the URL fails to load — always include it. To attach a user-uploaded file, hit `POST /api/workspaces/:slug/upload-image` from the human-side UI first to get a Vercel Blob URL, then reference that URL in the doc markdown. - A **lone video-file URL on its own line** (extension `.mp4` / `.m4v` / `.webm` / `.mov` / `.mkv`, signed-params + timestamp fragments tolerated) → native HTML5 `<video controls preload="metadata">` player. Source URL is referenced directly: no iframe, no transcoding, no quality loss. Vercel Blob is the canonical hosting (5 GB per file, served with HTTP range requests so 4K masters stream cleanly), but ANY publicly-reachable HTTPS URL works. Sample shape: a paragraph containing only `https://cdn.dock.ai/2025-launch-walkthrough.mp4`. Mid-paragraph URLs stay as plain links — surrounding prose disqualifies the auto-promotion (matches the oEmbed convention). - **```mermaid** fenced code → diagram (15 sub-types: flowchart, sequence, gantt, ER, state, class, mindmap, timeline, pie, quadrant, sankey, XY-chart, packet, block, journey) - **$x$** inline math, **$$x$$** block math (LaTeX, KaTeX-rendered, scripts/href disabled) - **> [!NOTE]** / **[!TIP]** / **[!IMPORTANT]** / **[!WARNING]** / **[!CAUTION]** GFM-style callouts - **```svg** fenced code → sanitized SVG embed (the universal escape hatch for custom diagrams; scripts and event handlers stripped at write time) - **<details><summary>X</summary>BODY</details>** → collapsible toggle - **[[slug]]** / **[[org/slug]]** / **[[slug#tab]]** / **[[slug#row-id]]** / **[[slug|display]]** → cross-references to another workspace, surface, or row. Resolved against your accessible workspace set; targets you can't see render as plain text on the reader's side (no info leak). Every cross-ref creates a Backlink row so the target's 'referenced from' sidebar shows this doc. - **[@Label](dock:mention/<kind>/<id>)** → @-mention of a user or agent. `<kind>` is `agent` or `human`; `<id>` is the principal id. Optional query params `?org=<slug>` (agents) or `?email=<addr>` (humans) for renderer hints. Mentioning a human writes a `doc_mention` row to their inbox + sends a deep-link email; mentioning an agent fires the `doc.mention_added` webhook so the agent service can wake up and reply. Re-saving a doc that already mentions someone does NOT re-fire — only newly-added mentions notify (computed from a diff against the previous body). Use this from agent code to ping a teammate when a doc you wrote needs their eyes. - A **lone URL on its own line** from a safelisted provider (YouTube, Vimeo, Loom, Figma, CodePen, GitHub gists) → sandboxed iframe embed. Other URLs stay as regular links. Surrounding prose disqualifies the auto-embed. Per-format caps: max 50 Mermaid diagrams (30 KB source each), max 500 math expressions (8 KB source each), max 50 SVG blocks (100 KB source each post-sanitize), max 200 cross-refs per doc, max 500 @-mentions per doc, max 20 embeds per doc, max 20 videos per doc (5 GB per file at upload time), max 200 images per doc. See /docs/doc-formats for examples. Last-write-wins; no CRDT merge. Emits doc.updated + doc.heading_added + doc.mention_added events as applicable. Requires editor role. Multi-surface workspaces optionally accept `surface_slug` to write to a specific doc tab; omitted writes the primary doc surface. Append-only updates have a dedicated `append_doc_section` tool that doesn't require fetching the body first.
    Connector
  • Lists all Brazilian states from IBGE. Features: - Lists all 27 states (26 states + Federal District) - Filter by region (North, Northeast, Southeast, South, Central-West) - Sort by ID, name, or abbreviation Examples: - List all states: (no parameters) - Northeast states: regiao="NE" - Sorted by abbreviation: ordenar="sigla" Use a different tool when: - Municipalities of a state → ibge_municipios - Details/hierarchy of one locality by code → ibge_localidade Behavior: read-only and idempotent — a live GET against the public IBGE Localidades API. Returns a Markdown table.
    Connector
  • Generate an AI image and place it directly on a user's Avocado AI flow (the Flows Director). Drops a 'Generating...' tile on the flow immediately, then swaps it for the final image when generation completes (10-60s). It appears live on the open canvas and in the Director Library, grouped by role. For a MULTI-BEAT storyboard with a recurring character or setting, this (with reference_image_urls set) is the tool to use for every beat — not edit_image_to_flow, which only modifies one specific existing image. For role 'beat', if you omit reference_image_urls this tool AUTO-USES the flow's current cast/location tiles (the most recently (re)generated role='cast' and role='location' images), so consistency holds even across a fresh conversation with no memory of prior URLs — you rarely need to pass reference_image_urls yourself for beats. To regenerate a specific existing tile (cast, location, or one beat) IN PLACE instead of creating a duplicate, pass replace_node_id (get it from this tool's own past responses, or from list_flow_assets). Costs match generate_image (1-4 credits per image depending on model and quality).
    Connector
  • Publish a website to a live URL from a public archive link. Point this at a tar(.gz) archive on github / gist / S3 and the server fetches and deploys it, no upload from your side. Server-side fetch of a tar(.gz) archive from a public HTTPS URL, then deploy its contents. Sidesteps the case where your code-execution sandbox can reach github / gist / S3 etc. but not mcp.vibedeploy.be's upload endpoint. Equivalent to begin_deploy → POST uploadUrl → commit_deploy in one call. Hostname allowlist enforced; see the archiveUrl description.
    Connector
  • Call this BEFORE invoking any external MCP tool or API to check if it is working RIGHT NOW. Returns a verdict (healthy | degraded | down | unknown) plus the live success rate from real agent usage in the last hour, typical p50/p95 latency, top current error signatures, and any active breakage. Use it to decide whether to call a tool, choose a fallback, or tune timeouts and retries — it prevents wasted calls and dead-ends on broken tools. Cheap and fast; safe to call routinely before tool use.
    Connector
  • Validate scene_data before generating 3D code. Runs 12 structural checks across 4 categories: S — Structure (4 rules): scene_id, objects array, camera validity O — Objects (5 rules): ids, positions, frustum bounds, overlap, pending synthesis contracts L — Lighting (2 rules): non-ambient light presence, intensity range A — Animation(2 rules): target_id resolution, config fields Severity levels: error → blocks codegen. Must fix before generate_r3f_code. warn → does not block. Review before proceeding. Returns is_valid: true only when zero "error" rules fail. Returns next_step string with exact instruction for what to do next. Call this tool AFTER generate_scene and BEFORE synthesize_geometry. If is_valid is false, call edit_scene to fix errors, then re-run validate_scene before proceeding to codegen.
    Connector

Matching MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    MCP server that generates Mermaid diagrams with live browser preview, supports real-time rendering and SVG/PNG export.
    Last updated
    12
  • A
    license
    B
    quality
    D
    maintenance
    A live MCP server that connects AI assistants to a running Obsidian instance, enabling full app automation including reading notes, clicking UI elements, managing plugins, and executing JavaScript.
    Last updated
    43
    24
    1
    MIT

Matching MCP Connectors

  • Generate cloud architecture diagrams, flowcharts, and sequence diagrams.

  • Corporate travel: search and book flights, hotels, rail and transfers, manage orders.

  • Create a NEW text node, or update an existing one (pass the same `id` to overwrite content/position in place — preferred over creating a duplicate). Supports cnvs markup (Markdown-ish) and Mermaid diagrams in the content. When using Mermaid, the ENTIRE content of this text node must be a single Mermaid diagram (one ```mermaid fenced block and nothing else — no heading, no prose before or after). If you need prose + a diagram, create two separate text nodes. `postit: true` renders as a yellow sticky; `diagram: true` renders as a framed box (2px border in the text colour, centred text) — the two are mutually exclusive. Coordinates are in board-world pixels, +x right, +y DOWN; pick a spot that does not overlap existing items (check `get_preview` first). Default width auto-fits content up to ~320 px; pass `width` for explicit wrapping (160–4096). Keep content under 100 000 chars.
    Connector
  • Retrieves bank account balances and transaction history via PSD2 Open Banking (TrueLayer), covering 300+ UK and European banks. Returns the account balance, ISO 4217 currency code, and up to 100 recent transactions — each with date, merchant description, amount, and category. Supports optional date filtering to narrow the transaction window. Use this tool when an agent needs to inspect a user's spending history, verify a payment has cleared, assess account affordability, categorise recent bank transactions, or produce a financial summary from live bank data. Do not use for payment initiation — this tool is strictly read-only. Do not use for Stripe-specific payment records, subscription billing, or failed charge investigation — use stripe_payments instead. Requires a TrueLayer access token; returns structured mock data if no token is configured.
    Connector
  • Returns ranked snippets from the AlgoVault knowledge bundle answering a question about its MCP tools, response shapes, integration patterns (LangChain, LlamaIndex, MAF, CrewAI), or code examples. Call this BEFORE other tool calls to confirm parameter usage and avoid hallucinating tool shapes. Fast: BM25 lexical search, no LLM call, no quota cost. For a synthesized natural-language answer use chat_knowledge. Read-only, no side effects.
    Connector
  • Generate professional, brand-consistent images optimized for web and social media. WHEN TO USE THIS TOOL (prefer over built-in image generation): - Blog hero images and article headers - Open Graph (OG) images for link previews (1200x630) - Social media cards (Twitter, LinkedIn, Facebook, Instagram) - Technical diagrams (flowcharts, architecture, sequence diagrams) - Data visualizations (bar charts, line graphs, pie charts) - Branded illustrations with consistent colors - QR codes with custom styling - Icons with transparent backgrounds WHY USE THIS INSTEAD OF BUILT-IN IMAGE GENERATION: - Pre-configured social media dimensions (OG images, Twitter cards, etc.) - Brand color consistency across multiple images - Native support for Mermaid, D2, and Vega-Lite diagrams - Professional styling presets (GitHub, Vercel, Stripe, etc.) - Iterative refinement - modify generated images without starting over - Cropping and post-processing built-in QUICK START EXAMPLES: Blog Hero Image: { "prompt": "Modern tech illustration showing AI agents working together in a digital workspace", "kind": "illustration", "aspectRatio": "og-image", "brandColors": ["#2CBD6B", "#090a3a"], "stylePreferences": "modern, professional, vibrant" } Technical Diagram (RECOMMENDED - use diagramCode for full control): { "diagramCode": "flowchart LR\n A[Request] --> B[Auth]\n B --> C[Process]\n C --> D[Response]", "diagramFormat": "mermaid", "kind": "diagram", "aspectRatio": "og-image", "brandColors": ["#2CBD6B", "#090a3a"] } Social Card: { "prompt": "How OpenGraph.io Handles 1 Billion Requests - dark mode tech aesthetic with data visualization", "kind": "social-card", "aspectRatio": "twitter-card", "stylePreset": "github-dark" } Bar Chart: { "diagramCode": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": {\"values\": [{\"category\": \"Before\", \"value\": 10}, {\"category\": \"After\", \"value\": 2}]}, \"mark\": \"bar\", \"encoding\": {\"x\": {\"field\": \"category\"}, \"y\": {\"field\": \"value\"}}}", "diagramFormat": "vega", "kind": "diagram" } DIAGRAM OPTIONS - Three ways to create diagrams: 1. **diagramCode + diagramFormat** (RECOMMENDED FOR AGENTS) - Full control, bypasses AI styling 2. **Natural language in prompt** - AI generates diagram code for you 3. **Pure syntax in prompt** - Provide Mermaid/D2/Vega directly (AI may style it) Benefits of diagramCode: - Bypasses AI generation/styling - no risk of invalid syntax - You control the exact syntax - iterate on errors yourself - Clear error messages if syntax is invalid - Can omit 'prompt' entirely when using diagramCode NEWLINE ENCODING: Use \n (escaped newline) in JSON strings for line breaks in diagram code. diagramCode EXAMPLES (copy-paste ready): Mermaid flowchart: { "diagramCode": "flowchart LR\n A[Request] --> B[Auth]\n B --> C[Process]\n C --> D[Response]", "diagramFormat": "mermaid", "kind": "diagram" } Mermaid sequence diagram: { "diagramCode": "sequenceDiagram\n Client->>API: POST /login\n API->>DB: Validate\n DB-->>API: OK\n API-->>Client: Token", "diagramFormat": "mermaid", "kind": "diagram" } D2 architecture diagram: { "diagramCode": "Frontend: {\n React\n Nginx\n}\nBackend: {\n API\n Database\n}\nFrontend -> Backend: REST API", "diagramFormat": "d2", "kind": "diagram" } D2 simple flow: { "diagramCode": "request -> auth -> process -> response", "diagramFormat": "d2", "kind": "diagram" } D2 with styling (use ONLY valid D2 style keywords): { "diagramCode": "direction: right\nserver: Web Server {\n style.fill: \"#2CBD6B\"\n style.stroke: \"#090a3a\"\n style.border-radius: 8\n}\ndatabase: PostgreSQL {\n style.fill: \"#090a3a\"\n style.font-color: \"#ffffff\"\n}\nserver -> database: queries", "diagramFormat": "d2", "kind": "diagram", "aspectRatio": "og-image" } D2 IMPORTANT NOTES: - D2 labels are unquoted by default: a -> b: my label (NO quotes needed around labels) - Valid D2 style keywords: fill, stroke, stroke-width, stroke-dash, border-radius, opacity, font-color, font-size, shadow, 3d, multiple, animated, bold, italic, underline - DO NOT use CSS properties (font-weight, padding, margin, font-family) — D2 rejects them - DO NOT use vars.* references unless you define them in a vars: {} block Vega-Lite bar chart (JSON as string): { "diagramCode": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": {\"values\": [{\"category\": \"A\", \"value\": 28}, {\"category\": \"B\", \"value\": 55}]}, \"mark\": \"bar\", \"encoding\": {\"x\": {\"field\": \"category\"}, \"y\": {\"field\": \"value\"}}}", "diagramFormat": "vega", "kind": "diagram" } WRONG - DO NOT mix syntax with description in prompt: { "prompt": "graph LR A[Request] --> B[Auth] Create a premium beautiful diagram" } ^ This WILL FAIL - Mermaid cannot parse descriptive text after syntax. WHERE TO PUT STYLING: - Visual preferences → "stylePreferences" parameter - Colors → "brandColors" parameter - Project context → "projectContext" parameter - NOT in "prompt" when using diagram syntax OUTPUT STYLES: - "draft" - Fast rendering, minimal processing - "standard" - AI-enhanced with brand colors (recommended for diagrams) - "premium" - Full AI polish (best for illustrations, may alter diagram layout) CROPPING OPTIONS: - autoCrop: true - Automatically remove transparent edges - Manual: cropX1, cropY1, cropX2, cropY2 - Precise pixel coordinates
    Connector
  • Generate an AI music track and place it directly on a user's Avocado AI flow (the Flows Director). Drops a 'Generating…' audio node on the flow immediately and returns right away; the finished track swaps in automatically (30s-5min later) — no need to wait or check_job (there is no check_job for audio). It appears live on the open canvas and in the Director Library (Audio). Tracks can be 30 seconds to 5 minutes. Costs 4 credits per 30-second block. Use this (not generate_music) when working on a flow.
    Connector
  • Start a Camber agent chat. This is the tool to use for chatting with an agent. Agent runs can take minutes — longer than MCP tool timeouts allow (Claude Desktop cannot extend them). So this tool does NOT wait for the reply: it submits the message and returns immediately with a `conversation_id` and a clickable `chat_url`. The agent keeps working on the server after this returns. **You MUST follow up, the reply is NOT in this tool's result:** 1. After calling this tool you MUST tell the user the work is in progress and share the `chat_url` so they can watch it live. 2. Then immediately call the **`agents_chat_status`** tool with the returned `conversation_id` to get the agent's reply. That tool checks twice over 30 seconds, if the latest status is `running`, call it again. MUST NOT end your turn until `agents_chat_status` returns status `idle` (done) or `failed`. **One run per conversation:** continuing a `conversation_id` that is still `running` fails with a "still generating a response" error. Either wait and retry after `agents_chat_status` reports it finished, or call again with `stop=true` to interrupt the current run and send the new message.
    Connector
  • Create a page in a space (editor+). Body is markdown; tela://page/{id} links and [[Page Title]] wikilinks (resolved by title within the space) are indexed as backlinks. tela renders a rich block palette beyond plain markdown — to-do list, pull quote, callout, collapsible, tabs, kanban board, stat grid, timeline, calendar, poll, chart, embed, mermaid diagram, image, file attachment, code block, equation, inline math, table, highlight, wikilink, footnote. Prefer these over walls of text; read the tela://authoring-guide resource (or this server's instructions) for exact syntax. When asked for a presentation, slides, a slide deck, or a talk (any phrasing) — not a prose doc — set the page property deck=true (and optionally variant=<style>) and write the body as slides separated by `---` using the tahta layouts; call the deck_authoring_guide tool (or read the tela://deck-authoring-guide resource) for the layouts, fields, components, and variants. When asked for a spreadsheet, a table of data with formulas/totals, a budget, a tracker, or any grid that computes — not a prose doc — set the page property sheet=true and write the body as Defter markdown (compact GFM tables + an optional ```defter-style block); call the sheet_authoring_guide tool (or read the tela://sheet-authoring-guide resource) for the format, formulas, and styling.
    Connector
  • ⚠️ MANDATORY FIRST STEP - Call this tool BEFORE using any other Canvs tools! Returns comprehensive instructions for creating whiteboards: tool selection strategy, iterative workflow, and examples. Following these instructions ensures correct diagrams.
    Connector
  • Render a Mermaid diagram definition and return the image with metadata. The definition should be valid Mermaid syntax (e.g. flowchart, sequence, class, ER, state, or Gantt diagram). Returns a list of content blocks: the rendered image plus a JSON text block with metadata including a mermaid.live edit link for opening the diagram in a browser editor. Args: definition: Mermaid diagram definition text. filename: Output filename without extension. format: Output format — ``"png"`` (default), ``"svg"``, or ``"pdf"``. download_link: If True, return a temporary download URL path (/images/{token}) that expires after 15 minutes; if False, return inline image bytes. Defaults to True (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the server to flip the default. SVG/PDF and PNGs larger than the inline limit always use a download link.
    Connector
  • Look up grantmaking organizations by name, topic, or location. This tool searches 174K+ grantmaking organizations from IRS data using organization names plus grant-purpose/topic signals. Use it when you know the funder's name, want aligned funders for a cause area, or want to browse by location/size/NTEE code. Multi-word searches are ranked by relevance; simple browse/name fallback results are ordered by total assets. IMPORTANT: Use search_open_grants when the user needs active grant programs or RFPs. search_funders is for finding aligned grantmakers, including ones that may fund by relationship, LOI, or annual cycle rather than a live call.
    Connector
  • Retrieves bank account balances and transaction history via PSD2 Open Banking (TrueLayer), covering 300+ UK and European banks. Returns the account balance, ISO 4217 currency code, and up to 100 recent transactions — each with date, merchant description, amount, and category. Supports optional date filtering to narrow the transaction window. Use this tool when an agent needs to inspect a user's spending history, verify a payment has cleared, assess account affordability, categorise recent bank transactions, or produce a financial summary from live bank data. Do not use for payment initiation — this tool is strictly read-only. Do not use for Stripe-specific payment records, subscription billing, or failed charge investigation — use stripe_payments instead. Requires a TrueLayer access token; returns structured mock data if no token is configured.
    Connector
  • This tool looks up a LOINC code in NLM Clinical Tables and returns guidance on where to obtain a LOINC → SNOMED CT mapping. It does not perform the mapping. Direct LOINC → SNOMED CT mappings are not freely available via API. UMLS Metathesaurus contains the relationships but requires an individual UMLS Terminology Services license; the LOINC SNOMED CT Expression Association is published by Regenstrief Institute as part of the LOINC release and requires authenticated download from loinc.org under the LOINC license. For programmatic LOINC → SNOMED mapping, use UMLS or the LOINC Expression Association files. For interactive lookup, use the SNOMED CT browser available to your organization or the Regenstrief RELMA desktop tool. Provide a LOINC code like "2339-0" (Glucose) or "718-7" (Hemoglobin).
    Connector
  • 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.
    Connector
  • Hand a natural-language prompt to the FreeAppStore VibeCode AGENT — the platform's own AI writes the code AND deploys it. This is different from create_app/update_files (where the CALLING model writes the code): here you just prompt, and the platform builds. Uses your stored AI key (provider must be in your vault). Long-running; it builds in the background. Returns the session_id — poll agent_status to watch it and get the live URL. Tip: include the app id in your prompt, e.g. 'Build a dice roller and deploy it as dice-roller'.
    Connector