Create and manipulate professional-grade SVG graphics in Claude Code
SVG Canvas MCP
Claude Code에서 포토샵 수준의 SVG 그래픽을 생성할 수 있는 MCP(Model Context Protocol) 서버입니다.
주요 기능
- 캔버스 관리: 생성, 열기, 저장, 리사이즈
- 도형 그리기: 사각형, 원, 타원, 선, 다각형, 별, 하트, 둥근 모서리 사각형
- 패스 빌더: 베지어 곡선, 호(arc), 직선을 조합한 복잡한 경로 생성
- 텍스트/이미지: 다양한 스타일의 텍스트, 이미지 삽입
- 레이어 시스템: 레이어 생성, 삭제, 순서 변경, 가시성, 잠금, 블렌드 모드
- 객체 조작: 이동, 회전, 스케일, 복제, 그룹화, Z-순서
- 스타일링: 채우기, 선, 그라디언트(선형/원형), 패턴, 필터(블러, 그림자 등)
- 애니메이션: CSS 키프레임, SMIL 애니메이션 지원
- 심볼: 재사용 가능한 심볼 정의 및 인스턴스 배치
- 템플릿: 캔버스를 템플릿으로 저장/불러오기
- 히스토리: Undo/Redo 지원
- 내보내기: SVG, PNG, Data URI
- AI 기능: 색상 팔레트 추천, 색상 분석, 객체 정렬 제안, 레이아웃 추천
- 블로그 운영 기능:
- OG 이미지 프리셋 (10개 플랫폼, 6개 테마)
- 2D/3D 차트 생성 (bar, line, pie, donut, pyramid)
- 2D/3D 다이어그램 (flowchart, mindmap, sequence, isometric)
- QR 코드 생성 (순수 SVG 기반)
- 워터마크 오버레이
- 이미지 트레이싱: 비트맵 이미지를 벡터 패스로 변환 (potrace 기반)
설치
의존성
npm install
| 패키지 |
버전 |
용도 |
@modelcontextprotocol/sdk |
^1.0.0 |
MCP 프로토콜 SDK |
@anthropic-ai/sdk |
^0.39.0 |
Anthropic API (AI 기능) |
svgson |
^5.3.1 |
SVG 파싱/직렬화 |
svg-path-commander |
^2.0.8 |
SVG 패스 조작 |
uuid |
^10.0.0 |
고유 ID 생성 |
zod |
^3.23.0 |
스키마 검증 |
potrace |
^2.1.8 |
이미지 트레이싱 (비트맵→벡터) |
빌드
npm run build
Claude Code 설정
1. `.mcp.json` 파일 생성
프로젝트 루트 또는 ~/.claude/ 디렉토리에 .mcp.json 파일을 생성합니다:
{
"mcpServers": {
"svg-canvas": {
"command": "node",
"args": ["/path/to/svg-canvas-mcp/build/index.js"]
}
}
}
2. 활성화
~/.claude/settings.local.json에서 활성화:
{
"enabledMcpjsonServers": ["svg-canvas"]
}
사용 예시
기본 캔버스 생성
SVG 캔버스 MCP를 사용해서 1200x630 크기의 썸네일을 만들어줘
도형 그리기
빨간색 원과 파란색 사각형을 그려줘
그라디언트 적용
배경에 보라색에서 파란색으로 가는 그라디언트를 적용해줘
애니메이션 추가
로고에 회전 애니메이션을 추가해줘
도구 목록
캔버스
| 도구 |
설명 |
svg_create |
새 캔버스 생성 |
svg_open |
SVG 파일 열기 |
svg_save |
파일로 저장 |
svg_info |
캔버스 정보 조회 |
svg_resize |
크기 변경 |
svg_set_background |
배경색 설정 |
도형 그리기
| 도구 |
설명 |
draw_rect |
사각형 |
draw_circle |
원 |
draw_ellipse |
타원 |
draw_line |
직선 |
draw_polyline |
연결선 |
draw_polygon |
다각형 |
draw_text |
텍스트 |
draw_image |
이미지 |
draw_path |
SVG 패스 |
draw_regular_polygon |
정다각형 |
draw_star |
별 |
draw_heart |
하트 |
draw_rounded_rect_path |
둥근 모서리 사각형 |
패스 빌더
| 도구 |
설명 |
path_create |
패스 시작 |
path_lineto |
직선 추가 |
path_curveto |
베지어 곡선 |
path_arcto |
호(arc) 추가 |
path_close |
패스 닫기 |
path_finish |
패스 완료 |
path_cancel |
패스 취소 |
레이어
| 도구 |
설명 |
layer_create |
레이어 생성 |
layer_delete |
레이어 삭제 |
layer_rename |
이름 변경 |
layer_reorder |
순서 변경 |
layer_visibility |
표시/숨김 |
layer_lock |
잠금 |
layer_opacity |
불투명도 |
layer_blend_mode |
블렌드 모드 |
layer_list |
목록 조회 |
layer_select |
레이어 선택 |
layer_merge |
레이어 병합 |
layer_duplicate |
레이어 복제 |
객체 조작
| 도구 |
설명 |
object_select |
객체 선택 |
object_list |
객체 목록 |
object_move |
이동 |
object_scale |
크기 조절 |
object_rotate |
회전 |
object_delete |
삭제 |
object_duplicate |
복제 |
object_group |
그룹화 |
object_ungroup |
그룹 해제 |
object_order |
Z-순서 변경 |
스타일
| 도구 |
설명 |
style_fill |
채우기 |
style_stroke |
선 스타일 |
style_opacity |
불투명도 |
style_gradient |
그라디언트 정의 |
style_pattern |
패턴 정의 |
style_filter |
필터 적용 |
style_remove_filter |
필터 제거 |
애니메이션
| 도구 |
설명 |
anim_css_add |
CSS 애니메이션 |
anim_smil_add |
SMIL 애니메이션 |
anim_remove |
애니메이션 제거 |
anim_list |
애니메이션 목록 |
심볼 & 템플릿
| 도구 |
설명 |
symbol_define |
심볼 정의 |
symbol_use |
심볼 사용 |
template_save |
템플릿 저장 |
template_load |
템플릿 불러오기 |
template_list |
템플릿 목록 |
template_delete |
템플릿 삭제 |
히스토리
| 도구 |
설명 |
history_undo |
실행 취소 |
history_redo |
다시 실행 |
history_list |
히스토리 목록 |
history_goto |
특정 시점으로 이동 |
history_clear |
히스토리 삭제 |
내보내기
| 도구 |
설명 |
export_svg |
SVG 파일로 저장 |
export_code |
SVG 코드 반환 |
export_png |
PNG 파일로 저장 |
export_data_uri |
Data URI 변환 |
preview_browser |
브라우저 미리보기 |
AI 기능
| 도구 |
설명 |
ai_suggest_colors |
색상 팔레트 추천 |
ai_analyze_colors |
색상 분석 |
ai_align_objects |
객체 정렬 제안 |
ai_suggest_layout |
레이아웃 추천 |
OG 이미지 프리셋
| 도구 |
설명 |
preset_list |
사용 가능한 플랫폼/테마 목록 |
preset_create_og |
플랫폼별 OG 이미지 생성 |
preset_create_thumbnail |
간편 썸네일 생성 |
지원 플랫폼: og, naver_blog, naver_search, twitter, youtube, instagram, instagram_story, tistory, pinterest, linkedin
지원 테마: modern, dark, gradient_blue, gradient_sunset, minimal, nature
차트
| 도구 |
설명 |
chart_bar |
막대 차트 |
chart_line |
선 차트 |
chart_pie |
파이 차트 |
chart_donut |
도넛 차트 |
chart_3d_bar |
|
Configuration
{"mcpServers": {"svg-canvas": {"command": "node", "args": ["/path/to/svg-canvas-mcp/build/index.js"]}}}Try it
→SVG 캔버스 MCP를 사용해서 1200x630 크기의 썸네일을 만들어줘
→빨간색 원과 파란색 사각형을 그려줘
→배경에 보라색에서 파란색으로 가는 그라디언트를 적용해줘
→로고에 회전 애니메이션을 추가해줘
→유튜브 플랫폼용 모던 테마 OG 이미지를 생성해줘