GI

grumpydevorg/inkscape-mcps

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

57 stars 26 forks 품질 67 트렌드 14MIT

grumpydevorg/inkscape-mcps는 https://github.com/grumpydevorg/inkscape-mcps.]에서 가져온 MCP 서버 후보입니다

개요

grumpydevorg/inkscape-mcps는 https://github.com/grumpydevorg/inkscape-mcps.]에서 가져온 MCP 서버 후보입니다

개요(AI 번역)

보안, 경화 MCP (모델 Context Protocol) 서버는 Inkscape 작업을 위해 CLI 작업과 DOM 조작 기능을 제공합니다.

특징

  • CLI Actions: Inkscape 명령행 동작을 실행(export, transform, path operations)
  • **DOM 조작 **: 직접 SVG DOM 편집 CSS 선택기
  • ** 보안 강화 ** : Workspace-scoped 경로, 크기 제한, 작업 허용 목록
  • Async Support: 제한 속도와 비 차단 작업
  • ** 원자 운영 **: 안전한 파일 쓰기 및 프로세스 정리

설치

##에서 PyPI (출시)

출처에서

사용법

개인 서버로

CLI 서버 시작:

DOM 서버 시작:

결합된 서버 시작 (both CLI 및 DOM 도구):

윤곽

환경 변수를 통해 구성:

MCP 클라이언트 통합

MCP 클라이언트 구성에 추가 (예: Claude Desktop):

사용 가능한 도구

CLI 도구 (inkscape-mcp-cli)

  • action_list - 모든 사용 가능한 Inkscape 작업 목록
  • action_run - 문서에 Inkscape 작업을 실행

DOM 도구 ([T3]])

  • dom_validate - SVG 문서 구조 검증
  • dom_set - CSS 선택자를 사용하여 속성/스타일 설정

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

README

원문 README의 일부입니다. 원문 보기.

Inkscape MCP Server

A secure, hardened MCP (Model Context Protocol) server for Inkscape operations, providing both CLI actions and DOM manipulation capabilities.

Features

  • CLI Actions: Execute Inkscape command-line actions (export, transforms, path operations)
  • DOM Manipulation: Direct SVG DOM editing with CSS selectors
  • Security Hardened: Workspace-scoped paths, size limits, action allowlists
  • Async Support: Non-blocking operations with rate limiting
  • Atomic Operations: Safe file writes and process cleanup

Installation

From PyPI (when published)

# Using uv (recommended)
uv add inkscape-mcp

# Using pip
pip install inkscape-mcp

From Source

git clone https://github.com/yourusername/inkscape-mcp
cd inkscape-mcp

# Quick development setup
./scripts/dev-setup

# Or manual setup
uv sync --dev         # Install with dev dependencies
uv build              # Build distribution packages

Usage

As Individual Servers

Start the CLI server:

inkscape-mcp-cli

Start the DOM server:

inkscape-mcp-dom  

Start combined server (both CLI and DOM tools):

inkscape-mcp

Configuration

Configure via environment variables:

export INKS_WORKSPACE="./my-workspace"  # Default: ./inkspace
export INKS_MAX_FILE="104857600"        # Default: 50MB
export INKS_TIMEOUT="120"               # Default: 60s
export INKS_MAX_CONC="8"                # Default: 4

MCP Client Integration

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "inkscape-mcp": {
      "command": "inkscape-mcp",
      "env": {
        "INKS_WORKSPACE": "/path/to/workspace",
        "INKS_MAX_FILE": "52428800"
      }
    }
  }
}

Available Tools

CLI Tools (inkscape-mcp-cli)

  • action_list - List all available Inkscape actions
  • action_run - Execute Inkscape actions on documents

DOM Tools (inkscape-mcp-dom)

  • dom_validate - Validate SVG document structure
  • dom_set - Set attributes/styles using CSS selectors
  • dom_clean - Clean/optimize SVG using scour

Examples

Export SVG to PNG

# Via MCP client
await action_run({
    "doc": {"type": "file", "path": "input.svg"},
    "export": {"type": "png", "out": "output.png", "dpi": 300}
})

Modify SVG Elements

# Change fill color of all circles
await dom_set({
    "doc": {"type": "file", "path": "input.svg"},
    "ops": [{
        "selector": {"type": "css", "value": "circle"},
        "set": {"style.fill": "#ff6600"}
    }],
    "save_as": "modified.svg"
})

Path Operations

# Union selected paths
await action_run({
    "doc": {"type": "file", "path": "input.svg"},
    "actions": ["select-all", "path-union"]
})

Security Features

  • Workspace Scoping: All file operations restricted to configured workspace
  • Size Limits: Configurable file size caps prevent resource exhaustion
GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "inkscape-mcp": { "command": "inkscape-mcp", "env": { "INKS_WORKSPACE": "/path/to/workspace", "INKS_MAX_FILE": "52428800" } } } }