Excalidraw MCP 서버: LLM 통합을 위한 강력한 드로잉 API
Excalidraw 다이어그램 및 도면과의 원활한 상호 작용을 지원하는 포괄적인 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 구조화되고 개발자 친화적인 API를 통해 LLM(대규모 언어 모델)이 Excalidraw 도면을 생성, 수정, 쿼리 및 조작할 수 있도록 지원합니다.
특징
전체 엑스칼리드로우 요소 제어
사각형, 타원, 마름모, 텍스트, 화살표 등의 모든 Excalidraw 요소를 만들고, 업데이트하고, 삭제하고, 쿼리합니다. 여기에는 다음이 지원됩니다.위치(
x,y)치수(
width,height)스타일링(
backgroundColor,strokeColor,strokeWidth,roughness,opacity)텍스트(
text,fontSize,fontFamily)선 기하학(
points)잠금(
locked플래그)
고급 요소 조작
요소를 그룹화, 그룹 해제, 정렬, 분배, 잠금 및 잠금 해제합니다.Scene 및 AppState 관리
씬 수준 상태를 추적하고 수정합니다:
theme,viewBackgroundColor,viewport(스크롤 및 확대/축소),selectedElements,groups.모든 요소 또는 개별 장면 속성의 라이브러리를 검색합니다.
장면 저장
현재 장면(요소 + appState)을 디스크의.excalidraw파일로 내보냅니다.자원 관리
장면 정보, 요소 라이브러리, 테마 및 원시 요소 데이터에 액세스하여 수정합니다.쉬운 통합
Claude Desktop, Cursor 및 MCP를 지원하는 다른 LLM 플랫폼과 호환됩니다.도커 지원
종속성 없는 설치를 위한 간단한 컨테이너화된 배포.
Related MCP server: Excalidraw MCP Server
API 도구 참조
요소 생성 및 수정
create_element
새로운 Excalidraw 요소를 만듭니다.
입력
지엑스피1
산출
{ "id": "<generated‑id>", "type": "<element type>", "created": true }
update_element
기존 요소의 속성을 업데이트합니다.
입력
{ "id": "<element id>", }산출
{ "id": "<element id>", "updated": true, "version": <new‑version‑number> }
delete_element
장면에서 요소를 제거합니다.
입력
{ "id": "<element id>" }산출
{ "id": "<element id>", "deleted": true }
query_elements
선택적 필터와 일치하는 요소를 나열합니다.
입력
{ "type": "<element type>", "filter": { "<prop>": <value> } }산출
[ { /* element objects */ } … ]
자원 관리
get_resource
장면이나 라이브러리 정보를 검색합니다.
입력
{ "resource": "scene"|"library"|"theme"|"elements" }산출
장면 →
{ theme, viewport: {x,y,zoom}, selectedElements: […] }라이브러리 / 요소 →
{ elements: [ … ] }테마 →
{ theme: "light"|"dark" }
요소 구성
group_elements / ungroup_elements
요소 컬렉션을 그룹화하거나 그룹화 해제합니다.
입력
{ "elementIds": ["id1","id2",…] } { "groupId": "<group id>" }산출
{ "groupId": "<new‑id>", "elementIds": […], "ungrouped": true? }
align_elements
여러 요소를 지정된 가장자리나 중앙에 맞춥니다.
입력
{ "elementIds": […], "alignment": "left"|"center"|"right"|"top"|"middle"|"bottom" }산출
{ aligned: true, elementIds: […], alignment: "<alignment>" }
distribute_elements
요소들을 수평 또는 수직으로 균등하게 배치합니다.
입력
{ "elementIds": […], "direction": "horizontal"|"vertical" }산출
{ distributed: true, elementIds: […], direction: "<direction>" }
lock_elements / unlock_elements
요소 편집을 방지하거나 허용합니다.
입력
{ "elementIds": [… ] }산출
{ locked: true|false, elementIds: […] }
장면 관리
save_scene
현재 장면(요소 + 앱 상태)을 .excalidraw 파일로 내보냅니다.
입력
{ "filename": "<optional, must end with .excalidraw>" }산출
Scene saved successfully to <filename>오류 메시지가 표시됩니다.
통합 예제
클로드 데스크탑
커서
.cursor/mcp.json 생성합니다.
도커
또는 MCP 구성에서:
설치 가이드
도커
구성 옵션
.env 또는 컨테이너의 환경 변수를 통해 설정:
LOG_LEVEL— 로깅 수준(기본값:"info")DEBUG— 디버그 모드("true"/"false", 기본값:"false")DEFAULT_THEME— 기본 UI 테마("light"/"dark", 기본값:"light")