Mermaid MCP 서버
Model Context Protocol (MCP) 기반의 Mermaid 다이어그램 변환 서버로, AI 클라이언트에 강력한 다이어그램 생성 기능을 제공합니다.
프로젝트 소개
Mermaid MCP 서버는 Model Context Protocol (MCP)을 기반으로 하는 전문적인 Mermaid 다이어그램 변환 서버로, AI 클라이언트에 강력한 다이어그램 생성 기능을 제공합니다. 이 프로젝트는 Mermaid 다이어그램 코드를 다양한 형식의 이미지 파일(PNG, JPG, SVG, PDF)로 변환할 수 있어, 사용자가 MCP 프로토콜을 지원하는 다양한 AI 클라이언트에서 고품질 다이어그램을 쉽게 생성할 수 있도록 합니다.
핵심 기능
다양한 형식 출력: PNG, JPG, SVG, PDF 등 다양한 이미지 형식 지원
테마 사용자 지정: default, dark, neutral, forest 4가지 내장 테마 제공
사용자 지정 옵션: 배경색, 이미지 크기 등 매개변수 사용자 지정 지원
구문 검증: 실시간 Mermaid 구문 검증 기능 제공
예제 리소스: 다양한 다이어그램 유형의 예제 코드 내장
오류 처리: 완벽한 오류 처리 메커니즘 및 친절한 오류 메시지 제공
STDIO/SSE 듀얼 모드: STDIO 및 SSE 두 가지 통신 모드 지원
uv 패키지 관리: 초고속 uv 패키지 관리자 사용
Related MCP server: mcp-mermaid-validator
기능 목록
기능 이름 | 기능 설명 | 기술 스택 | 상태 |
다이어그램 변환 | Mermaid 코드 -> 이미지 | mermaid.ink API | ✅ 안정 |
다중 형식 출력 | PNG/JPG/SVG/PDF | requests + base64 | ✅ 안정 |
테마 사용자 지정 | 4가지 내장 테마 | mermaid.ink | ✅ 안정 |
구문 검증 | 실시간 구문 검사 | mermaid-cli | ✅ 안정 |
예제 리소스 | 풍부한 다이어그램 예제 | 정적 리소스 | ✅ 안정 |
오류 처리 | 완벽한 오류 메시지 | Python 예외 처리 | ✅ 안정 |
MCP 프로토콜 | Model Context Protocol | mcp[cli] | ✅ 안정 |
SSE 모드 | Server-Sent Events | FastAPI + Uvicorn | ✅ 안정 |
기술 아키텍처
기술 | 버전 | 용도 |
Python | 3.12+ | 주요 개발 언어 |
MCP | 1.9+ | Model Context Protocol |
FastAPI | 0.104+ | 웹 프레임워크 (SSE 모드) |
Uvicorn | 0.24+ | ASGI 서버 |
requests | 2.31+ | HTTP 클라이언트 |
uv | latest | Python 패키지 관리자 |
통신 아키텍처
┌─────────────────────────────────────────────────────────────────────────────────┐
│ 通信架构图 │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ ┌─────────────────────────┐ ┌─────────────┐ │
│ │ AI 客户端 │ ◄────► │ Mermaid MCP Server │ ◄────► │ Mermaid API │ │
│ │ (Cursor/Claude) │ │ STDIO/SSE │ │ mermaid.ink│ │
│ └──────────────────┘ └─────────────────────────┘ └─────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ AI 对话界面 MCP 协议通信 图表渲染转换 │
│ 生成图表请求 双向数据传输 返回图像数据 │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘설치 안내
환경 요구 사항
Python 3.12+
uv 패키지 관리자 (권장)
의존성 설치
방법 1: uv 사용 (권장)
# 克隆仓库
git clone https://github.com/wwwzhouhui/mermaid_mcp_server.git
cd mermaid_mcp_server
# 安装依赖
uv sync방법 2: pip 사용
pip install -r requirements.txt사용 안내
클라이언트 설정
Cursor 설정
~/.cursor/mcp.json 파일에 다음 설정을 추가합니다:
STDIO 모드 (권장):
{
"mcpServers": {
"mermaid-mcp-server-png-pdf-jpg-svg": {
"command": "uvx",
"args": [
"mermaid-mcp-server-png-pdf-jpg-svg"
]
}
}
}SSE 모드:
{
"mcpServers": {
"mermaid-mcp-server-png-pdf-jpg-svg": {
"url": "http://127.0.0.1:8003/sse"
}
}
}Cherry Studio 설정
Cherry Studio 실행
설정 → MCP Servers → 서버 추가로 이동
매개변수 설정:
이름:
mermaid-mcp-server-png-pdf-jpg-svg설명:
Mermaid 다이어그램 생성 서비스유형:
STDIO명령어:
uvx매개변수:
mermaid-mcp-server-png-pdf-jpg-svg
저장 및 활성화
Claude Desktop 설정
claude_desktop_config.json 파일에 다음을 추가합니다:
{
"mcpServers": {
"mermaid-mcp-server-png-pdf-jpg-svg": {
"command": "uvx",
"args": [
"mermaid-mcp-server-png-pdf-jpg-svg"
]
}
}
}Continue.dev 설정
config.json 파일에 다음을 추가합니다:
{
"mcpServers": {
"mermaid-mcp-server-png-pdf-jpg-svg": {
"command": "uvx",
"args": [
"mermaid-mcp-server-png-pdf-jpg-svg"
]
}
}
}서비스 시작
STDIO 모드 (데스크톱 클라이언트용 권장)
uv run python main.pySSE 모드 (네트워크 연결용)
uv run python main.py --sse설정 안내
환경 변수 설정
변수명 | 설명 | 기본값 |
| 서버 주소 |
|
| 서버 포트 |
|
| 로그 레벨 |
|
| Mermaid API 주소 |
|
| 요청 타임아웃 (초) |
|
| 디버그 모드 |
|
| 개발 모드 |
|
사용 가능한 도구
1. convert_mermaid_to_image
Mermaid 다이어그램 코드를 다양한 형식의 이미지 파일로 변환합니다.
매개변수:
mermaid_code(string): Mermaid 다이어그램 코드output_format(string, 선택): 출력 형식, png, jpg, svg, pdf 지원, 기본값 "png"theme(string, 선택): 테마 스타일, default, dark, neutral, forest 지원, 기본값 "default"background_color(string, 선택): 배경색, 16진수 코드width(number, 선택): 이미지 너비 (픽셀)height(number, 선택): 이미지 높이 (픽셀)
지원되는 출력 형식: PNG, JPG, SVG, PDF
2. validate_mermaid_syntax
Mermaid 다이어그램 코드의 구문 정확성을 검증합니다.
매개변수:
mermaid_code(string): 검증할 Mermaid 다이어그램 코드
결과:
valid(boolean): 검증 통과 여부error_message(string): 오류 메시지 (검증 실패 시)
3. get_supported_options
변환기가 지원하는 옵션을 가져옵니다.
결과:
themes(array): 지원되는 테마 목록formats(array): 지원되는 형식 목록
지원되는 다이어그램 유형
순서도 (Flowchart): 프로세스 및 알고리즘 표현용
시퀀스 다이어그램 (Sequence Diagram): 객체 간 상호작용 표현용
간트 차트 (Gantt Chart): 프로젝트 일정 관리용
파이 차트 (Pie Chart): 데이터 비율 표현용
Git 그래프 (Git Graph): Git 커밋 기록 표현용
마인드맵 (Mind Map): 지식 구조 표현용
클래스 다이어그램 (Class Diagram): 클래스 구조 표현용
사용 예시
순서도 예시
请使用 convert_mermaid_to_image 工具生成一个流程图:
flowchart TD
A[开始] --> B{判断条件}
B -->|是 | C[执行动作 1]
B -->|否 | D[执行动作 2]
C --> E[结束]
D --> E시퀀스 다이어그램 예시
请使用 convert_mermaid_to_image 工具生成一个时序图,使用深色主题:
sequenceDiagram
participant 用户
participant 系统
participant 数据库
用户->>系统:登录请求
系统->>数据库:验证用户
数据库-->>系统:返回结果
系统-->>用户:登录成功구문 검증 예시
首先使用 validate_mermaid_syntax 验证语法,然后使用 convert_mermaid_to_image 生成图表리소스 예시
다이어그램 예시 가져오기
다음 리소스 URI를 통해 다양한 유형의 다이어그램 예시를 가져올 수 있습니다:
mermaid://examples/flowchart- 순서도 예시mermaid://examples/sequence- 시퀀스 다이어그램 예시mermaid://examples/gantt- 간트 차트 예시mermaid://examples/pie- 파이 차트 예시mermaid://examples/gitgraph- Git 그래프 예시mermaid://examples/mindmap- 마인드맵 예시mermaid://examples/class- 클래스 다이어그램 예시
프로젝트 구조
mermaid_mcp_server/
├── mermaid_mcp_server/ # 核心模块
│ ├── __init__.py
│ └── main.py # 主程序入口
├── requirements.txt # 依赖列表(pip)
├── pyproject.toml # 项目配置(uv)
├── .env.example # 环境变量示例
├── README.md # 项目文档
└── .vscode/ # VSCode 配置
└── settings.json개발 가이드
로컬 개발
# 克隆仓库
git clone https://github.com/wwwzhouhui/mermaid_mcp_server.git
cd mermaid_mcp_server
# 安装依赖
uv sync
# 配置环境变量
cp .env.example .env
# 启动服务(STDIO 模式)
uv run python main.py
# 启动服务(SSE 模式)
uv run python main.py --sse디버그 모드
상세 로그 출력 활성화:
export LOG_LEVEL=DEBUG
uv run python main.py자주 묻는 질문 (FAQ)
A:
네트워크 연결 및 방화벽 설정 확인
mermaid.ink API 접근 가능 여부 확인
프록시 설정 확인
A:
validate_mermaid_syntax 도구를 사용하여 구문 확인
Mermaid 공식 문서 참조
예제 리소스의 코드 사용
A:
다이어그램 내용 단순화
여러 개의 작은 다이어그램으로 분할
이미지 크기 매개변수 조정
A:
uv 패키지 관리자 설치:
curl -LsSf https://astral.sh/uv/install.sh | sh또는 pip를 사용하여 전역 설치
PATH 환경 변수 확인
A:
서비스가 SSE 모드로 시작되었는지 확인
8003 포트 점유 여부 확인
URL 설정이 올바른지 확인
A:
이미지 크기 매개변수 증가
적절한 테마 선택
Mermaid 코드 구조 최적화
A:
네트워크 연결 속도 확인
REQUEST_TIMEOUT 환경 변수 증가
다이어그램 복잡도 단순화
A:
테마 이름 철자 확인
해당 테마 지원 여부 확인
다른 테마 이름 사용 시도
A:
background_color 매개변수 사용
16진수 색상 코드 형식 (예: #FFFFFF)
일부 출력 형식만 지원
기술 교류 그룹
기술 교류 그룹에 참여하여 사용 경험과 피드백을 공유해 주세요:
작성자 연락처
위챗: laohaibao2025
이메일: 75271002@qq.com
후원
이 프로젝트가 도움이 되었다면 커피 한 잔 사주세요 ☕
위챗 페이
Star History
프로젝트가 마음에 드신다면 Star를 눌러주세요 ⭐
라이선스
MIT 라이선스
업데이트 로그
v0.1.0 (현재 버전)
✅ 초기 버전 릴리스
✅ PNG, JPG, SVG, PDF 다중 형식 출력 지원
✅ 4가지 테마 스타일 통합 (default, dark, neutral, forest)
✅ 구문 검증 및 예제 리소스 기능 제공
✅ STDIO 및 SSE 듀얼 모드 통신 지원
v0.0.3 (2025-07-21)
✅ 초기 버전 릴리스
✅ 다중 형식 다이어그램 변환 지원
✅ 구문 검증 기능
✅ 예제 리소스 기능
기여 가이드
이 프로젝트를 개선하기 위한 Issue 및 Pull Request 제출을 환영합니다!
본 저장소 Fork
기능 브랜치 생성:
git checkout -b feature/amazing-feature변경 사항 커밋:
git commit -m 'Add amazing feature'브랜치 푸시:
git push origin feature/amazing-featurePull Request 제출
주의 사항
다이어그램 생성에는 몇 초 정도 소요될 수 있으니 잠시만 기다려 주세요.
네트워크 연결이 정상인지 확인하세요. 서비스는 mermaid.ink 온라인 API에 의존합니다.
생성된 이미지 데이터는 base64 형식으로 반환됩니다.
복잡한 다이어그램은 생성 시간이 더 오래 걸릴 수 있습니다.
Mermaid로 아름다운 다이어그램을 만들어 보세요! 🎨✨
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wwwzhouhui/mermaid_mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
