Excalidraw MCP Server

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 플랫폼과 호환됩니다.
  • 도커 지원
    종속성 없는 설치를 위한 간단한 컨테이너화된 배포.

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> 오류 메시지가 표시됩니다.

통합 예제

클로드 데스크탑

"mcpServers": { "excalidraw": { "command": "node", "args": ["src/index.js"], "env": { "LOG_LEVEL": "info", "DEBUG": "false" } } }

커서

.cursor/mcp.json 생성합니다.

{ "mcpServers": { "excalidraw": { "command": "node", "args": ["/absolute/path/to/mcp_excalidraw/src/index.js"], "env": { "LOG_LEVEL": "info", "DEBUG": "false" } } } }

도커

docker run -i --rm mcp/excalidraw

또는 MCP 구성에서:

"mcpServers": { "excalidraw": { "command": "docker", "args": ["run", "-i", "--rm", "mcp/excalidraw"], "env": { "LOG_LEVEL": "info", "DEBUG": "false" } } }

설치 가이드

# Install dependencies npm install # Run development server npm start

도커

docker build -t mcp/excalidraw . docker run -i --rm mcp/excalidraw

구성 옵션

.env 또는 컨테이너의 환경 변수를 통해 설정:

  • LOG_LEVEL — 로깅 수준(기본값: "info" )
  • DEBUG — 디버그 모드( "true" / "false" , 기본값: "false" )
  • DEFAULT_THEME — 기본 UI 테마( "light" / "dark" , 기본값: "light" )

사용 예

사각형 만들기 및 잠금

{"type":"rectangle","x":50,"y":50,"width":100,"height":80,"backgroundColor":"#f3f3f3","strokeColor":"#333","locked":true} { "id":"abc123","type":"rectangle","created":true } {"elementIds":["abc123"]}

장면을 파일로 저장

{"filename":"my_drawing.excalidraw"} "Scene saved successfully to my_drawing.excalidraw"
-
security - not tested
-
license - not tested
-
quality - not tested

LLM이 구조화된 API를 통해 Excalidraw 다이어그램을 생성, 수정 및 조작할 수 있도록 하는 모델 컨텍스트 프로토콜 서버로, 요소 생성, 스타일링, 구성 및 장면 관리를 지원합니다.

  1. Features
    1. API Tools Reference
      1. Element Creation and Modification
      2. Resource Management
      3. Element Organization
      4. Scene Management
    2. Integration Examples
      1. Claude Desktop
      2. Cursor
      3. Docker
    3. Installation Guide
      1. Docker
    4. Configuration Options
      1. Usage Examples
        1. Create & Lock a Rectangle
        2. Save Scene to File
      ID: 48kc5xrrrc