Skip to main content

MCP server for drawing pixel-art tiles and tilesets for 2D games

Project description

ssyubix-pixelart-mcp

MCP server (Python) untuk menggambar pixel art dan menyusun tileset game 2D. Dibangun dengan MCP Python SDK v1.x (stable), transport stdio, dirancang untuk dipakai berdampingan dengan unity-mcp-server dalam satu sesi agent.

Instalasi

Dari PyPI:

pip install ssyubix-pixelart-mcp

Atau dari source:

git clone https://github.com/syuaibsyuaib/ssyubix-pixelart-mcp
cd ssyubix-pixelart-mcp
python3 -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -e .

Menjalankan

python -m pixelart_mcp.server
# atau, jika diinstall dari PyPI:
ssyubix-pixelart-mcp

Menyambungkan ke Claude Desktop / Claude Code

Tambahkan ke claude_desktop_config.json (Claude Desktop) atau lewat claude mcp add (Claude Code):

{
  "mcpServers": {
    "pixelart": {
      "command": "/path/ke/ssyubix-pixelart-mcp/venv/bin/python",
      "args": ["-m", "pixelart_mcp.server"]
    }
  }
}

Daftar tools (23)

Menggambar

  • pixelart_create_canvas, pixelart_import_canvas, pixelart_set_pixel, pixelart_draw_line, pixelart_draw_rect, pixelart_draw_circle, pixelart_draw_polygon, pixelart_flood_fill

Manajemen kanvas

  • pixelart_clear_canvas, pixelart_flip_canvas, pixelart_duplicate_canvas, pixelart_get_canvas_info, pixelart_get_canvas_preview, pixelart_delete_canvas, pixelart_list_canvases

Palet warna

  • pixelart_generate_palette, pixelart_extract_palette

Saran ukuran

  • pixelart_suggest_tile_size

Tileset

  • pixelart_create_tileset, pixelart_set_tile, pixelart_export_tileset, pixelart_delete_tileset, pixelart_list_tilesets

Alur kerja tipikal

  1. pixelart_suggest_tile_size (opsional) — tanya ukuran tile ideal berdasarkan kategori objek atau resolusi layar.
  2. pixelart_generate_palette — buat palet warna sesuai gaya/mood.
  3. pixelart_create_canvaspixelart_set_pixel / draw_line / draw_rect / draw_circle / flood_fill — gambar satu tile.
  4. pixelart_get_canvas_preview — lihat hasilnya (upscaled PNG) sebelum lanjut.
  5. pixelart_create_tilesetpixelart_set_tile (ulangi untuk tiap tile) → pixelart_export_tileset.
  6. Hasil export_tileset berupa PNG + JSON metadata (ukuran tile, grid, PPU) — agent bisa lanjut memanggil tool unity-mcp-server untuk slice/import ke proyek Unity.

Menjalankan test

sh claude_tools/run_tests.sh

Struktur

pixelart_mcp/
  server.py      # entry point, registrasi 23 tools
  canvas.py       # primitif gambar piksel
  palette.py      # generator palet
  sizing.py       # heuristik ukuran tile
  tileset.py      # assembly & export tileset
  models.py       # Pydantic input models
  tests/          # 58 unit test
claude_tools/     # helper script (dump schema, run tests)
task.md           # status & catatan pengerjaan
PUBLISHING.md      # panduan publish ke PyPI & MCP Registry resmi

Jika unity-mcp-server tidak tersedia

pixelart_mcp tidak bergantung secara teknis pada unity-mcp-server — semua tool di atas tetap berfungsi penuh tanpanya. Bedanya hanya di langkah terakhir: tanpa unity-mcp-server, hasil pixelart_export_tileset (PNG + JSON metadata) harus diimport manual ke Unity Editor. Berikut langkahnya (berdasarkan Unity Manual resmi), untuk dituntun AI ke user non-teknis:

  1. Salin file PNG hasil ekspor ke folder Assets (atau subfolder seperti Assets/Sprites) di dalam project Unity.
  2. Di jendela Project, klik file PNG tersebut. Di panel Inspector:
    • Texture TypeSprite (2D and UI)
    • Sprite ModeMultiple (karena berisi banyak tile dalam satu sheet)
    • Pixels Per Unit → isi dengan nilai ppu dari file JSON metadata
    • Filter ModePoint (no filter) — supaya pixel art tetap tajam, tidak blur
    • CompressionNone — supaya warna tidak rusak
    • Klik Apply.
  3. Klik tombol Sprite Editor di Inspector untuk membuka Sprite Editor.
  4. Di Sprite Editor, klik dropdown Slice, pilih tipe Grid By Cell Size, lalu isi Pixel Size dengan tile_width x tile_height dari JSON metadata.
  5. Klik Slice, lalu klik Apply di toolbar Sprite Editor.
  6. Selesai — setiap tile sekarang jadi sprite terpisah yang bisa di-drag langsung ke Scene atau dipakai di Tilemap.

Semua angka yang dibutuhkan (tile_width, tile_height, ppu) sudah tersedia otomatis di file .json yang dihasilkan pixelart_export_tileset — AI tidak perlu menghitung ulang, tinggal baca dari sana dan sampaikan ke user langkah di atas.

Untuk AI agent yang merawat/mengembangkan proyek ini

Baca AGENTS.md dulu — berisi peta arsitektur, konvensi wajib, checklist menambah tool baru, dan alur menangani kritik/permintaan fitur dari pengguna.

Lisensi

Apache License 2.0 — lihat file LICENSE dan NOTICE.

Publish ke PyPI & MCP Registry

Lihat PUBLISHING.md untuk panduan lengkap (perintah persis, butuh kredensial pribadi — PyPI token & login GitHub OAuth).

Catatan versi SDK

Server ini dibangun di atas v1.x MCP Python SDK (stable, direkomendasikan untuk produksi). SDK v2 masih pre-release per Juli 2026 — belum dipakai di sini sesuai kebijakan "hanya referensi resmi/terbaru yang sudah stabil".

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssyubix_pixelart_mcp-0.1.0.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ssyubix_pixelart_mcp-0.1.0-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file ssyubix_pixelart_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: ssyubix_pixelart_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ssyubix_pixelart_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ad2677f2cd2e2b405e90bd161c3e9ebb2d9da181ff7f26a85d2d3fd0a56d3cbf
MD5 8e931ceb08a12a27d9ea56494d3c3a01
BLAKE2b-256 33671ce9505c2e831f12af666d8eec06aee2c2875b1c5e1b32abbdd3b9691143

See more details on using hashes here.

File details

Details for the file ssyubix_pixelart_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ssyubix_pixelart_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 09936b4dd16ad801faf352a8988113148cd1c744c8c929623e8b5a94dbc1f6db
MD5 77549cb07d65a9878c235732335e6d4c
BLAKE2b-256 6d9c9041415fb15672c2d7cb04bcfc10dd1d20a095bb865147e700d712870fea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page