# com.mermaidchart/mermaid-mcp

> MCP server for Mermaid diagram validation and rendering

- name: com.mermaidchart/mermaid-mcp
- version: 1.0.0
- connection class: R2 (oauth_consent_once)
- trust: 78/100
- quality: 89/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.mermaidchart%2Fmermaid-mcp
- tools: https://api.protogrid.dev/v1/servers/com.mermaidchart%2Fmermaid-mcp/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

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


## Trust

- hygiene: 100
- liveness: 100
- freshness: 25
- provenance: 75
- drivers: +repository +dns-namespace +reachable +uptime-100% -stale-387d
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (good)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: 83 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- warn `auth.cimd`: only Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 25 of 25 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: validate_and_render_mermaid_diagram (destructiveHint, idempotentHint, openWorldHint); create_pr (destructiveHint, idempotentHint, openWorldHint); list_pulls (destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 5,580 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 25, about 5,580 tokens to load them all
- tool set hash: 37c6e245f217359e5dbaf9c430f6e80b
- badge: [![protogrid quality](https://protogrid.dev/badge/com.mermaidchart/mermaid-mcp.svg)](https://protogrid.dev/servers/com.mermaidchart/mermaid-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.mermaidchart.com/mcp (streamable-http, auth oauth2, reachable true, uptime30d 1)
- https://mcp.mermaidchart.com/sse (sse, auth oauth2, reachable true, uptime30d 1)

## Packages

_none_

## Tools (25)

- `create_issue`: Create an issue in a GitHub repository. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN with issues write if creating issues in private repos.
- `create_pr`: 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).
- `generate_jira_kanban_board`: 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.
- `generate_ticket_dependency_tree`: 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.
- `generate_ticket_diagram`: 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.
- `generate_ticket_timeline`: 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.
- `get_diagram_summary`: 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.
- `get_diagram_title`: 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.
- `get_issue_comments`: List comments on an issue by issue number. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.
- `get_mermaid_syntax_document`: 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.
- `get_notion_mermaid_diagram_by_block_id`: Retrieve a single Mermaid diagram block by its block ID. Returns the diagram code and optional caption.
- `get_notion_page_mermaid_diagrams`: Extract all Mermaid code blocks from a Notion page. Returns block ID, diagram code, and optional caption for each block.
- `get_pull_comments`: 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.
- `insert_notion_mermaid_diagram`: Append a Mermaid diagram as a code block to a Notion page. The block is added at the end of the page content.
- `list_branches`: 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.
- `list_issues`: List issues for a repository (excludes pull requests). REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.
- `list_mermaid_files`: List .mmd Mermaid files in a GitHub repository (code search with tree fallback). REQUIRES: `Github-Token` header (HTTP) or GITHUB_TOKEN / GH_TOKEN.
- `list_pulls`: List pull requests for a GitHub repository. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN / GH_TOKEN.
- `list_repos`: 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.
- `list_tools`: Lists all available MCP servers and their tools in the workspace.
- `push_file`: 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.
- `read_mermaid_file`: 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.
- `search_mermaid_icons`: 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.
- `update_notion_mermaid_diagram`: Update the Mermaid source code (and optional caption) of an existing mermaid code block by its block ID.
- `validate_and_render_mermaid_diagram`: 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.
