# com.mermaidchart/mermaid-mcp (remote · mcp.mermaidchart.com)

MCP server for Mermaid diagram validation and rendering

- Trust score: 63/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.mermaidchart.com`: 63/100 (this document), [markdown](https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp.md), [page](https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp)
- remote · `mcp.mermaidchart.com`: 56/100, [markdown](https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp-2.md), [page](https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp-2)

## Channel facts

- Endpoint: `https://mcp.mermaidchart.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 25 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3828 tokens (~153/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 91/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 72% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-mermaidchart-mermaid-mcp https://mcp.mermaidchart.com/mcp
```

### Codex

```toml
[mcp_servers.com-mermaidchart-mermaid-mcp]
url = "https://mcp.mermaidchart.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mermaidchart-mermaid-mcp": {
      "type": "remote",
      "url": "https://mcp.mermaidchart.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-mermaidchart-mermaid-mcp --url https://mcp.mermaidchart.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-mermaidchart-mermaid-mcp:
    url: "https://mcp.mermaidchart.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-mermaidchart-mermaid-mcp": {
      "type": "http",
      "url": "https://mcp.mermaidchart.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 61, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 58, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 57, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 57)

First indexed and scored.

## MCP tools (25)

### `validate_and_render_mermaid_diagram` (~208 tokens)

SIMPLE RENDER TOOL - Renders Mermaid diagrams directly (Mermaid automatically validates during rendering). If successful, returns diagram image. If Mermaid validation fails, returns error details for fixing. One tool, one call, simple workflow.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server (e.g., 'claude', 'cursor', 'vscode', 'chatgpt', 'copilot') for analytics tracking.
- `diagramType` (string, required): The type of Mermaid diagram (e.g., 'flowchart', 'sequenceDiagram', 'gantt').
- `mermaidCode` (string, required): Mermaid code to render. Mermaid validates automatically during rendering - if invalid, tool returns error details for fixing.
- `prompt` (string, required): A text description of the diagram to generate.
- `useUrlShortener` (boolean): Whether to use URL shortening for the Mermaid link. Defaults to true, set to false to disable shortening.

### `get_diagram_title` (~163 tokens)

Generate a descriptive title for a Mermaid diagram based on its content. This tool analyzes the diagram structure and content to suggest an appropriate title.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server (e.g., 'claude', 'cursor', 'vscode', 'chatgpt', 'copilot') for analytics tracking.
- `currentTitle` (string): Optional: The current title of the diagram, if any, for context.
- `diagramContent` (string, required): The Mermaid diagram content/code for which to generate a title.
- `diagramType` (string): Optional: The type of Mermaid diagram (e.g., 'flowchart', 'sequenceDiagram', 'gantt') for better context in title generation.

### `get_diagram_summary` (~139 tokens)

Generate a concise summary for a Mermaid diagram based on its content. This tool provides prompts for the LLM to generate a brief summary (2-4 sentences) highlighting the primary flow, key decisions, and outcomes.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server (e.g., 'claude', 'cursor', 'vscode', 'chatgpt', 'copilot') for analytics tracking.
- `contextHint` (string): Optional: Context hint to help generate a more accurate summary.
- `diagramContent` (string, required): The Mermaid diagram content/code for which to generate a summary.

### `search_mermaid_icons` (~238 tokens)

Search for available Mermaid icons by provider or name. Returns icons in ready-to-use format with provider prefixes (e.g., 'aws:arch-amazon-ec2'). PERFORMANCE TIP: For faster searches, start with limit=10 and specific queries. If no suitable icons found, increase limit and retry. Supports AWS, Azure, GCP, and FontAwesome icon sets.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server (e.g., 'claude', 'cursor', 'vscode', 'chatgpt', 'copilot') for analytics tracking.
- `limit` (number): Optional: Maximum number of results to return per provider. Defaults to 10 for performance. Increase if needed.
- `provider` (string): Optional: Filter by specific provider ('aws', 'azure', 'gcp', 'fa'). If not provided, searches all providers.
- `query` (string, required): Search query for icons (e.g., 'aws', 'azure', 'gcp', 'fa', 'lambda', 's3', 'database'). Use specific terms for better results.

### `get_mermaid_syntax_document` (~145 tokens)

Get comprehensive syntax documentation and examples for a specific Mermaid diagram type. Returns the official Mermaid.js documentation with syntax rules, examples, and usage instructions for the requested diagram type.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server (e.g., 'claude', 'cursor', 'vscode', 'chatgpt', 'copilot') for analytics tracking.
- `diagramType` (string, required): The type of Mermaid diagram to get syntax documentation for (e.g., 'flowchart', 'sequenceDiagram', 'architecture-beta', 'gantt', 'gitgraph', 'classDiagram', 'stateDiagram', etc.).

### `list_tools` (~68 tokens)

Lists all available MCP servers and their tools in the workspace.

Input parameters:

- `clientName` (string): OPTIONAL: The name of the client/agent using the MCP server (e.g., 'claude', 'cursor', 'vscode', 'chatgpt', 'copilot') for analytics tracking.

### `list_repos` (~143 tokens)

List GitHub repositories for the authenticated user, or for an organization when `org` is set. REQUIRES: `Github-Token` header (HTTP) or `GITHUB_TOKEN` / `GH_TOKEN` in the server environment.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `org` (string): Optional: organization login. If set, lists that org's repositories; otherwise lists repos for the authenticated user.
- `page` (integer)
- `per_page` (integer)
- `type` (string): User repo filter; ignored when `org` is set.

### `list_mermaid_files` (~117 tokens)

List .mmd Mermaid files in a GitHub repository (code search with tree fallback). REQUIRES: `Github-Token` header (HTTP) or GITHUB_TOKEN / GH_TOKEN.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `owner` (string, required): Repository owner (user or organization).
- `ref` (string): Optional branch, tag, or commit for tree fallback when code search is unavailable.
- `repo` (string, required): Repository name.

### `read_mermaid_file` (~131 tokens)

Read a single .mmd file from a GitHub repository. Only paths ending in .mmd are allowed. REQUIRES: `Github-Token` header (HTTP) or GITHUB_TOKEN / GH_TOKEN.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `owner` (string, required)
- `path` (string, required): Path to the .mmd file in the repository.
- `ref` (string): Optional: branch, tag, or commit SHA; defaults to the default branch.
- `repo` (string, required)

### `create_pr` (~203 tokens)

Create a new branch (git ref), one commit from the base tree with your file changes, then open a pull request in the same repository. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN with `contents: write` (and no existing branch with the same `headBranch` name).

Input parameters:

- `baseBranch` (string): Branch to base the PR on (e.g. main). Defaults to the repo default branch.
- `body` (string, required): PR description (markdown).
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `commitMessage` (string, required): Single commit message for the file changes.
- `files` (array, required): Files to add or update.
- `headBranch` (string, required): Name of the new branch (must not already exist on the remote).
- `owner` (string, required)
- `repo` (string, required)
- `title` (string, required)

### `push_file` (~142 tokens)

Create or update a single file on a given branch in a GitHub repository. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN with contents write access.

Input parameters:

- `branch` (string, required): Branch to commit to.
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `content` (string, required): Full file content.
- `message` (string, required): Commit message.
- `owner` (string, required)
- `path` (string, required)
- `repo` (string, required)
- `sha` (string): Existing blob SHA to update; omit to create or to let the service detect.

### `list_pulls` (~98 tokens)

List pull requests for a GitHub repository. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `owner` (string, required)
- `page` (integer)
- `per_page` (integer)
- `repo` (string, required)
- `state` (string)

### `list_branches` (~183 tokens)

List or resolve branch names. **List mode (default):** one `GET /repos/.../branches?per_page=100&page=1` — at most 100 names, A–Z sorted in the response; `has_more` if a full page was returned. **Resolve mode:** set `branch_name` for a single `GET` branch (404 if missing). At most one GitHub API call. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.

Input parameters:

- `branch_name` (string): Exact branch name. When non-empty, returns that branch only. Omit to fetch the first 100 branches only.
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `owner` (string, required)
- `repo` (string, required)

### `list_issues` (~151 tokens)

List issues for a repository (excludes pull requests). REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `direction` (string)
- `labels` (string): Comma-separated label names (GitHub API format).
- `owner` (string, required)
- `page` (integer)
- `per_page` (integer)
- `repo` (string, required)
- `since` (string): ISO 8601: only issues updated at or after this time.
- `sort` (string)
- `state` (string)

### `create_issue` (~115 tokens)

Create an issue in a GitHub repository. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN with issues write if creating issues in private repos.

Input parameters:

- `body` (string): Issue body in markdown.
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `labels` (array): Label names (must already exist in the repository).
- `owner` (string, required)
- `repo` (string, required)
- `title` (string, required)

### `get_issue_comments` (~118 tokens)

List comments on an issue by issue number. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `issue_number` (integer, required): Issue number (not a PR number unless the PR is also addressed as an issue on GitHub).
- `owner` (string, required)
- `page` (integer)
- `per_page` (integer)
- `repo` (string, required)

### `get_pull_comments` (~127 tokens)

Get all pull request comments: both issue/PR thread comments and inline review comments, with a `type` of `issue_thread` or `review` per item. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `owner` (string, required)
- `page` (integer)
- `per_page` (integer)
- `pull_number` (integer, required): Pull request number.
- `repo` (string, required)

### `generate_ticket_dependency_tree` (~371 tokens)

Generate a Mermaid flowchart that visualises Jira issue dependency links for a project. Each node shows the ticket key, summary, and status, and is a clickable link to the ticket. Dashed nodes represent issues linked from outside the current filter set.

Input parameters:

- `assignee` (string): Filter by assignee — Jira account ID, display name, or 'currentUser()'.
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `colorMode` (string): Color scheme for the diagram: 'light' (default pastel fills), 'dark' (deep fills for dark backgrounds), or 'none' (no fill/stroke overrides, inherits the Mermaid theme).
- `createdAfter` (string): Include only issues created on or after this date, ISO format: '2024-01-15'.
- `createdBefore` (string): Include only issues created on or before this date, ISO format: '2024-03-31'.
- `maxResults` (integer): Target number of issues to render in the tree (1–100, default 50).
- `projectKey` (string, required): REQUIRED: Jira project key, e.g. 'PROJ' or 'MYTEAM'. Used as the base JQL project filter.
- `reporter` (string): Filter by reporter — Jira account ID or display name.
- `sprint` (string): Filter by sprint name or numeric ID, e.g. 'Sprint 12' or '42'.
- `status` (string): Filter by issue status, e.g. 'In Progress', 'To Do', 'Done'.
- `useUrlShortener` (boolean): Shorten the preview/edit URL via Short.io. Disable to get the full unshortened URL (default true).

### `generate_jira_kanban_board` (~215 tokens)

Generate a Mermaid kanban board from Jira issues. Issues are grouped into columns by their current status and ordered by workflow stage (To Do → In Progress → Done). Each card shows the issue summary and is a clickable link to the ticket, with optional assignee and priority badges.

Input parameters:

- `assignee` (string): Filter by assignee — Jira account ID, display name, or 'currentUser()'.
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `issueType` (string): Filter by issue type, e.g. 'Story', 'Bug', 'Task'.
- `maxResults` (integer): Maximum number of issues to fetch (1–100, default 50).
- `projectKey` (string, required): REQUIRED: Jira project key, e.g. 'PROJ' or 'MYTEAM'.
- `sprint` (string): Filter by sprint name or numeric ID, e.g. 'Sprint 12' or '42'.

### `generate_ticket_diagram` (~185 tokens)

Generate a Mermaid flowchart centred on a single Jira ticket. Fetches the ticket's subtasks, parent, issue links, and recent comments in one call. The focal ticket is highlighted in indigo; subtasks are grouped in a subgraph; issue links use colour-coded arrows (red thick = blocks, cyan dashed = relates to); comments appear in a rose subgraph.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `colorMode` (string): Color scheme for the diagram: 'light' (default pastel fills), 'dark' (deep fills for dark backgrounds), or 'none' (no fill/stroke overrides, inherits the Mermaid theme).
- `ticketKey` (string, required): REQUIRED: Jira issue key, e.g. 'MC-123' or 'PROJ-42'.

### `generate_ticket_timeline` (~166 tokens)

Generate a Mermaid diagram showing the history of a single Jira ticket using its changelog. Two views are available:
\- **state**: stateDiagram-v2 showing all status transitions with dates and authors, nodes coloured by status category.
\- **timeline** (default): Mermaid timeline grouped by month, showing status changes, assignee changes, priority changes, sprint moves, and resolutions.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `ticketKey` (string, required): REQUIRED: Jira issue key, e.g. 'MC-123' or 'PROJ-42'.
- `view` (string): Diagram view to generate. 'state' shows status transitions; 'timeline' shows all field changes over time.

### `get_notion_page_mermaid_diagrams` (~94 tokens)

Extract all Mermaid code blocks from a Notion page. Returns block ID, diagram code, and optional caption for each block.

Input parameters:

- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `pageUrl` (string, required): URL of the Notion page (e.g. https://www.notion.so/My-Page-abc123...).

### `get_notion_mermaid_diagram_by_block_id` (~91 tokens)

Retrieve a single Mermaid diagram block by its block ID. Returns the diagram code and optional caption.

Input parameters:

- `blockId` (string, required): The Notion block ID of the mermaid code block (e.g. from get_notion_page_mermaid_diagrams).
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.

### `update_notion_mermaid_diagram` (~110 tokens)

Update the Mermaid source code (and optional caption) of an existing mermaid code block by its block ID.

Input parameters:

- `blockId` (string, required): The Notion block ID of the mermaid code block to update.
- `caption` (string): Optional new caption. Omit to clear the existing caption.
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `code` (string, required): New Mermaid diagram source code.

### `insert_notion_mermaid_diagram` (~107 tokens)

Append a Mermaid diagram as a code block to a Notion page. The block is added at the end of the page content.

Input parameters:

- `caption` (string): Optional caption displayed below the code block.
- `clientName` (string, required): REQUIRED: The name of the client/agent using the MCP server for analytics tracking.
- `code` (string, required): Mermaid diagram source code.
- `pageUrl` (string, required): URL of the Notion page to insert the diagram into.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 63
- 2026-08-02: 63
- 2026-08-01: 62
- 2026-07-31: 62
- 2026-07-30: 61
- 2026-07-29: 59
- 2026-07-28: 58
- 2026-07-27: 57
- 2026-07-26: 57

## Links

- Remote endpoint: https://mcp.mermaidchart.com/mcp
- Repository: https://github.com/Mermaid-Chart/mermaid-mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-mermaidchart-mermaid-mcp/mcp
