GI

grumpydevorg/inkscape-mcps

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

57 stars 26 forks Качество 67 Тренд 14MIT

grumpydevorg/inkscape-mcps - кандидат на сервер MCP, импортированный из https://github.com/grumpydevorg/inkscape-mcps.

Обзор

grumpydevorg/inkscape-mcps - кандидат на сервер MCP, импортированный из https://github.com/grumpydevorg/inkscape-mcps.

Обзор (машинный перевод)

Защищенный сервер MCP (Model Context Protocol) для операций Inkscape, обеспечивающий как действия CLI, так и возможности манипулирования DOM.

Особенности

CLI Actions: выполнение командной строки Inkscape (экспорт, трансформация, маршрутные операции) ** Манипуляция сознанием** Прямое редактирование SVG DOM с помощью CSS-селекторов

  • Безопасность закалена: дорожки, ограниченные рабочим пространством, ограничения по размеру, списки разрешений на действия ** Поддержка процессов синтеза**: неблокирующие операции с ограничением скорости -** Атомные операции**: Безопасные записи файлов и процесс очистки

##Установка

###От PyPI (при публикации)

Источник

Использование

###Отдельные серверы

Запустите сервер CLI:

Запустите сервер DOM:

Запуск комбинированного сервера (инструменты CLI и DOM):

Конфигурация

Настройка через переменные среды:

###Интеграция с клиентом

Добавьте конфигурацию клиента MCP (например, Claude Desktop):

Доступные инструменты

Инструменты CLI ([T0])

action_list - Перечислите все доступные действия Inkscape

  • action_run - Исполнять действия Inkscape в документах

Инструменты DOM ([T3])

  • dom_validate - Проверка структуры документа SVG dom_set - Настройка атрибутов/стилей с помощью селекторов CSS

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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
Открыть полный README на GitHub

Установка

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" } } } }