Integrations
マーメイドMCPサーバー
MermaidダイアグラムをPNG画像に変換するModel Context Protocol(MCP)サーバー。このサーバーにより、AIアシスタントやその他のアプリケーションは、Mermaid Markdown構文を使用してテキスト記述から視覚的なダイアグラムを生成できます。
特徴
- マーメイドダイアグラムコードをPNG画像に変換します
- 複数のダイアグラムテーマ(デフォルト、フォレスト、ダーク、ニュートラル)をサポート
- カスタマイズ可能な背景色
- 高品質のヘッドレスブラウザレンダリングにPuppeteerを使用
- AIアシスタントとのシームレスな統合を実現するMCPプロトコルを実装
- 柔軟な出力オプション: 画像を直接返すか、ディスクに保存する
- 詳細なエラーメッセージによるエラー処理
仕組み
サーバーはPuppeteerを使用してヘッドレスブラウザを起動し、MermaidダイアグラムをSVGにレンダリングし、レンダリングされたダイアグラムのスクリーンショットをキャプチャします。このプロセスは以下のとおりです。
- ヘッドレスブラウザインスタンスの起動
- Mermaid コードを使用した HTML テンプレートの作成
- Mermaid.jsライブラリの読み込み
- 図をSVGにレンダリングする
- レンダリングされたSVGのスクリーンショットをPNGとして撮る
- 画像を直接返すかディスクに保存するか
建てる
使用法
Claudeデスクトップで使用する
カーソルとクラインと併用
./diagrams
の下にマーメイド ダイアグラムのリストがあります。これらは、カーソル エージェントを使用して作成され、「マーメイド ダイアグラムを生成し、renderMermaidPng の動作を説明する別のダイアグラム フォルダに保存します」というプロンプトが表示されます。
インスペクタで実行
テストとデバッグのために、インスペクターを使用してサーバーを実行します。
サーバーが起動し、stdio で MCP プロトコル メッセージをリッスンします。
インスペクターの詳細については、ここを参照してください。
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Mermaid Diagram Generator を自動的にインストールするには:
DockerとSmithery環境
Docker コンテナ(Smithery 経由を含む)で実行する場合、Chrome の依存関係を処理する必要がある場合があります。
- サーバーはデフォルトでPuppeteerのバンドルブラウザを使用しようとするようになりました
- ブラウザ関連のエラーが発生した場合は、次の 2 つのオプションがあります。オプション 1: Docker イメージのビルド中:
- Puppeteerをインストールするときに、
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
設定します。 - DockerコンテナにChrome/Chromiumをインストールする
- 実行時に
PUPPETEER_EXECUTABLE_PATH
設定して Chrome インストールを指すようにします。
オプション2: Puppeteer にバンドルされている Chrome を使用する:
- DockerコンテナにChromeに必要な依存関係があることを確認する
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
を設定する必要はありません- コードはバンドルされたブラウザを自動的に使用します
- Puppeteerをインストールするときに、
Smithery ユーザーの場合、最新バージョンは追加の構成なしで動作するはずです。
API
サーバーは単一のツールを公開します:
generate
: マーメイドダイアグラムコードをPNG画像に変換します- パラメータ:
code
: レンダリングするマーメイドダイアグラムコードtheme
: (オプション) 図のテーマ。オプション: "default", "forest", "dark", "neutral"backgroundColor
: (オプション) 図の背景色。例: 'white'、'transparent'、'#F0F0F0'name
: 生成されたファイルの名前(CONTENT_IMAGE_SUPPORTED=falseの場合は必須)folder
: 画像を保存する絶対パス(CONTENT_IMAGE_SUPPORTED=falseの場合は必須)
- パラメータ:
generate
ツールの動作は、 CONTENT_IMAGE_SUPPORTED
環境変数によって異なります。
CONTENT_IMAGE_SUPPORTED=true
(デフォルト)の場合:ツールはレスポンスで画像を直接返します。CONTENT_IMAGE_SUPPORTED=false
の場合: ツールは指定されたフォルダに画像を保存し、ファイルパスを返します。
環境変数
CONTENT_IMAGE_SUPPORTED
: 画像をレスポンスで直接返すか、ディスクに保存するかを制御します。true
(デフォルト): レスポンスで画像が直接返されますfalse
: 画像はディスクに保存され、name
とfolder
パラメータが必要になります
例
基本的な使い方
テーマと背景色付き
ディスクに保存 (CONTENT_IMAGE_SUPPORTED=false の場合)
よくある質問
Claude デスクトップはすでにキャンバス経由でマーメイドをサポートしていませんか?
はい、ただしtheme
とbackgroundColor
オプションはサポートされていません。また、専用サーバーがあれば、様々なMCPクライアントでマーメイドダイアグラムを作成しやすくなります。
カーソルを使用する場合、CONTENT_IMAGE_SUPPORTED=false を指定する必要があるのはなぜですか?
カーソルは応答内のインライン画像をまだサポートしていません。
出版
このプロジェクトでは、GitHub Actions を使用して npm への公開プロセスを自動化します。
方法 1: リリース スクリプトを使用する (推奨)
- すべての変更がコミットされプッシュされていることを確認してください
- 特定のバージョン番号またはセマンティック バージョン増分を使用してリリース スクリプトを実行します。Copy
- スクリプトは次のようになります。
- バージョン形式またはセマンティック増分を検証する
- メインブランチにいるか確認する
- ファイル間のバージョンの不一致を検出して警告する
- すべてのバージョン参照を一貫して更新する(package.json、package-lock.json、index.ts)
- すべてのバージョンの変更を1つのコミットにまとめる
- Gitタグを作成してプッシュする
- GitHubワークフローは自動的にビルドし、npmに公開します。
方法2:手動プロセス
- コードを更新し、変更をコミットします
- バージョン番号を含む新しいタグを作成してプッシュします。Copy
- GitHub ワークフローは自動的に次の処理を実行します。
- プロジェクトを構築する
- タグのバージョンでnpmに公開する
注: GitHubリポジトリの設定でNPM_TOKEN
シークレットを設定する必要があります。設定手順は以下のとおりです。
- 公開権限を持つnpmアクセストークンを生成する
- GitHubリポジトリに移動→設定→シークレットと変数→アクション
NPM_TOKEN
という名前の新しいリポジトリシークレットを作成し、その値として npm トークンを設定します。
バッジ
ライセンス
マサチューセッツ工科大学
Related MCP Servers
- AsecurityAlicenseAqualityModel Context Protocol server for fetching web content and processing images. This allows Claude Desktop (or any MCP client) to fetch web content and handle images appropriately.Last updated -127815JavaScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that converts PDF documents into PNG images through a simple MCP tool call.Last updated -12Python
- AsecurityAlicenseAqualityA Model Context Protocol server that validates and renders Mermaid diagrams.Last updated -14011JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables Claude or other LLMs to fetch content from URLs, supporting HTML, JSON, text, and images with configurable request parameters.Last updated -PythonMIT License