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
pixelart_suggest_tile_size(opsional) — tanya ukuran tile ideal berdasarkan kategori objek atau resolusi layar.pixelart_generate_palette— buat palet warna sesuai gaya/mood.pixelart_create_canvas→pixelart_set_pixel/draw_line/draw_rect/draw_circle/flood_fill— gambar satu tile.pixelart_get_canvas_preview— lihat hasilnya (upscaled PNG) sebelum lanjut.pixelart_create_tileset→pixelart_set_tile(ulangi untuk tiap tile) →pixelart_export_tileset.- Hasil
export_tilesetberupa PNG + JSON metadata (ukuran tile, grid, PPU) — agent bisa lanjut memanggil toolunity-mcp-serveruntuk 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:
- Salin file PNG hasil ekspor ke folder
Assets(atau subfolder sepertiAssets/Sprites) di dalam project Unity. - Di jendela Project, klik file PNG tersebut. Di panel Inspector:
- Texture Type →
Sprite (2D and UI) - Sprite Mode →
Multiple(karena berisi banyak tile dalam satu sheet) - Pixels Per Unit → isi dengan nilai
ppudari file JSON metadata - Filter Mode →
Point (no filter)— supaya pixel art tetap tajam, tidak blur - Compression →
None— supaya warna tidak rusak - Klik Apply.
- Texture Type →
- Klik tombol Sprite Editor di Inspector untuk membuka Sprite Editor.
- Di Sprite Editor, klik dropdown Slice, pilih tipe Grid By Cell Size,
lalu isi Pixel Size dengan
tile_widthxtile_heightdari JSON metadata. - Klik Slice, lalu klik Apply di toolbar Sprite Editor.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad2677f2cd2e2b405e90bd161c3e9ebb2d9da181ff7f26a85d2d3fd0a56d3cbf
|
|
| MD5 |
8e931ceb08a12a27d9ea56494d3c3a01
|
|
| BLAKE2b-256 |
33671ce9505c2e831f12af666d8eec06aee2c2875b1c5e1b32abbdd3b9691143
|
File details
Details for the file ssyubix_pixelart_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ssyubix_pixelart_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 27.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09936b4dd16ad801faf352a8988113148cd1c744c8c929623e8b5a94dbc1f6db
|
|
| MD5 |
77549cb07d65a9878c235732335e6d4c
|
|
| BLAKE2b-256 |
6d9c9041415fb15672c2d7cb04bcfc10dd1d20a095bb865147e700d712870fea
|