Verified conversions across 205 color spaces: CSS strings, gamut checks, .cube LUTs
Rupa3D is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Most 3D generators stop at "done". Rupa3D answers what comes after: is it the right size, is the mesh watertight, are the textures too big, will the collider let objects pass through walls?Verify any GLB: topology, scale, textures and physics proxies are measured from the file itself. Works on output from any generator, no Blender required.Spec + certificate: rupa_periksa grades a scene against a spec and writes a certificate into the GLB. The receiver can recompute every claim.Exact CAD: OCCT B-rep kernel with primitives, volume-checked booleans, fillets, sketch to extrude/revolve/loft, and STEP/IGES import and export.Blender pipeline and web scenes: headless bpy modeling, LOD chains with geometric error, collision proxies, texture baking, and one self-contained HTML scene where every object carries its numbers.36 tools in 5 groups: verify (periksa, topologi, tekstur, proksi, ukur), CAD (11 rupa_cad tools), scene and web publish (8 rupa_adegan tools), Blender modeling, and optimize/bake (lod, tabrakan, bake, tekstur_buat).Hosted version coming soon at migan3d.com: remote MCP, no install, server-signed certificates, pay per job with credits. Source (MIT): github.com/tiranyx/rupa3d-core
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user rupa3d-mcp '--' npx -y rupa3d
# 2 — ask your agent for something these tools do
# rupa_status, rupa_baru, rupa_muat and 33 more
Rupa3D costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts Rupa3D as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. Its scan result is on the Security tab — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. You need Node.js — the current LTS (24) is the safe choice; npx comes with it. Claude Code registers it in one command; --scope user makes it available in every project. The '--' is in quotes so that PowerShell passes it on.
claude mcp add --scope user rupa3d-mcp '--' npx -y rupa3dReconnect, or start a new session, and the tools appear in the model’s tool list.
Nothing is required, but it can take RUPA3D_BLENDER (Path to the Blender executable. Only the Blender-backed tools need it; GLB checking, CAD and scenes run without Blender.), RUPA3D_RUANG (Workspace directory for scenes and CAD shapes. Default: ~/.rupa3d) if you want to set them.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
36 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Versi Blender, akar ruang kerja, dan apakah adegannya sudah ada. Panggil sekali di awal.
No parameter schema on file.
Mulai adegan KOSONG. Menghapus isi adegan ruang kerja ini — panggil sekali di awal sebuah model, bukan di tiap langkah.
No parameter schema on file.
Impor berkas 3D (.glb .gltf .obj .fbx .stl .ply) atau VEKTOR 2D (.svg) ke adegan. Untuk SVG, ekstrusi > 0 langsung menebalkannya jadi 3D — ini jalur 2D→3D paling presisi yang ada, karena memakai kurva aslinya dan bukan tebakan.
No parameter schema on file.
PRIMITIF PEMODELAN: jalankan Python bpy di dalam Blender headless, lalu simpan adegannya. Tersedia: bpy, bmesh, math, mathutils, RUANG (jalur ruang kerja), dan dict keluaran yang ikut dikembalikan. Tulis bentuk dari ANGKA BERNAMA, bukan nilai ajaib — itu yang membuatnya bisa diubah lagi tanpa…
No parameter schema on file.
Angka untuk tiap objek mesh: segitiga, simpul, n-gon, tepi tak-manifold, simpul lepas, luas, ukuran, letak, skala, apakah skala sudah diterapkan, bahan — plus kotak batas seluruh adegan dan daftar peringatan. Inilah yang membuat hasilnya presisi; mata tidak bisa membaca skala.
No parameter schema on file.
Render beberapa sudut ke PNG dan kembalikan jalurnya — BACA gambarnya sesudah ini, jangan mengaku selesai dari angka saja. Kamera dan lampu dipasang otomatis dari kotak batas adegan, jadi objek sekecil atau sebesar apa pun tetap terbingkai. Sudut bernama: depan, belakang, kiri, kanan, atas, bawah,…
No parameter schema on file.
Ekspor adegan ke GLB. Skala diterapkan ke verteks lebih dulu (manual three.js menyebut skala pada node sebagai sumber masalah runtime), dan hasilnya dilaporkan bersama jumlah segitiga, kotak batas, dan peringatan.
No parameter schema on file.
Rantai LOD dengan GALAT GEOMETRIS tiap tingkat — jarak sesungguhnya tiap simpul hasil ke permukaan asli, mutlak dan sebagai persen diagonal. Mengecilkan mesh selalu "berhasil"; yang menentukan layak atau tidak adalah berapa banyak yang hilang. Di atas 2% diagonal, siluetnya mulai terbaca berubah.
No parameter schema on file.
Proksi tabrakan + dua arah kesalahannya. "tembus" = permukaan asli yang berada DI LUAR proksi (benda menembus dinding); "longgar" = proksi yang jauh di luar permukaan asli (tabrakan terasa di udara kosong). Untuk mesin fisika web seperti Rapier, cembung adalah kuda bebannya — mesh_sederhana…
No parameter schema on file.
Panggang detail dari mesh RAPAT ke mesh RENGGANG jadi peta tekstur. UV dibuat otomatis kalau belum ada, jarak cage DIHITUNG dari selisih kedua permukaan (bukan ditebak), dan hasilnya dilaporkan dengan cakupan UV serta variasi piksel. Arah terbalik diperiksa dari kerapatan poligon — ia tidak bisa…
No parameter schema on file.
Jalankan beberapa op Blender dalam SATU proses. Ini bukan kemudahan — ini perbedaan 7 kali lipat, dan angkanya diukur. Menyalakan proses Blender cuma 449 ms; sisa 2,5–4 detik tiap panggilan adalah MUAT dan SIMPAN berkas .blend yang sama, diulang untuk setiap op. Enam op satu per satu makan 22,2…
No parameter schema on file.
Nilai adegan terhadap SPEK, dan terbitkan SERTIFIKAT. Inilah yang membuat Rupa3D berbeda: hasilnya bukan "berhasil", melainkan daftar janji berikut angka yang membuktikan atau membantahnya. Aturan berbobot wajib menggagalkan; peringatan dilaporkan lengkap dengan angkanya tetapi tidak menjadi…
No parameter schema on file.
Kernel b-rep OCCT: nyala atau tidak, dan bentuk apa saja yang ada di ruang ini. Panggil sekali sebelum memakai tool rupa_cad_* lain — menyalakan kernelnya makan sekitar 0,4 detik, dan sesudah itu gratis.
No parameter schema on file.
Buat primitif b-rep bernama. Beda mendasar dengan rupa_skrip: silinder di sini disimpan sebagai SILINDER — permukaan analitik berikut toleransinya — bukan segitiga yang menghampirinya. Volumenya EKSAK, dan itu bisa dibuktikan: silinder r=7,5 t=12 memberi angka yang sama persis dengan pi*r^2*t.
No parameter schema on file.
Potong, gabung, atau iris dua bentuk. Arah volumenya DIPERIKSA, dan itu bukan formalitas: boolean yang gagal separuh sering mengembalikan salah satu operand utuh, yang tampak berhasil sampai ada yang mengukurnya. Hasil yang arah volumenya salah tidak pernah tersimpan.
No parameter schema on file.
Daftar tepi sebuah bentuk berikut ARAH dan PANJANGNYA. Panggil ini SEBELUM fillet selektif — tanpa daftar ini, "fillet tepi tegak saja" berarti menebak indeks, dan indeks tepi bukan sesuatu yang bisa ditebak.
No parameter schema on file.
Bulatkan (fillet) atau serong (chamfer) tepi — SEMUA tepi, tepi searah tertentu, atau daftar indeks dari rupa_cad_tepi. PERINGATAN YANG TERUKUR: di atas setengah sisi terkecil, fillet mengembalikan ok dengan solid RUSAK. Pada kotak 10x20x30, radius 5,001 memberi volume 7971 dari 6000 — fillet…
No parameter schema on file.
Sketsa 2D → padat 3D: dorong (ekstrusi), putar (revolve), atau loft. Inilah cara benda nyata dimodelkan — gambar penampang, lalu bangkitkan. Satu tool ini membuka arsitektur (denah → dinding), pemodelan mesin (profil → poros/flange/wadah), dan 2D→3D (path → padat). YANG MEMBEDAKANNYA: tiap padat…
No parameter schema on file.
Geser, putar, skala, atau cermin sebuah bentuk. Volumenya diperiksa terhadap yang DIHARAPKAN secara matematis: geser dan putar tidak boleh mengubahnya sama sekali, skala mengubahnya pangkat tiga. Transformasi yang menggeser volume adalah gejala matriks yang salah, dan itu tidak terlihat sampai ada…
No parameter schema on file.
Volume dan luas EKSAK, jumlah tepi dan muka, kotak batas — plus ongkos hampiran meshnya pada satu toleransi. Dua angka itu selalu dilaporkan bersama, disengaja: yang eksak sendirian tidak memberi tahu berapa yang HILANG saat bentuknya dikirim ke web.
No parameter schema on file.
Semua bentuk di ruang CAD ini berikut volume, luas, jumlah tepi, dan apakah bentuknya sah — bukan cuma namanya.
No parameter schema on file.
Tulis bentuk ke berkas. Pembagian yang menentukan, dan tidak disebut pesan galat mana pun: .step .iges b-rep EKSAK, permukaan analitik — untuk CAD & CNC .stl .glb .obj SEGITIGA, hampiran — untuk web & cetak Yang kedua SELALU melenceng, berapa pun toleransinya diperkecil, jadi galatnya…
No parameter schema on file.
Baca STEP/IGES/STL dari CAD lain, lalu UKUR isinya. Impor tanpa ukur tidak memberi tahu apa pun tentang apa yang masuk — dan STEP dari dunia luar sering membawa bentuk yang tidak sah, yang baru ketahuan saat dioperasikan.
No parameter schema on file.
Mulai adegan KOSONG yang sudah sah: kamera, cahaya lingkungan, dan matahari. Menimpa adegan ruang ini. Adegan adalah DATA — ia bisa diperiksa, dibandingkan, diberi versi, dan disusun oleh siapa pun, termasuk agen lewat tool ini.
No parameter schema on file.
Daftarkan GLB ke adegan. Yang dicatat bukan cuma jalurnya: ukuran berkas, KOTAK BATAS (dibaca dari accessor min/max glTF, tanpa memuat mesh), dan SERTIFIKATNYA kalau ada. Kotak batas itu yang membuat kesalahan skala bisa ditangkap sebelum terbit — kesalahan skala tidak muncul di daftar node, tidak…
No parameter schema on file.
Tambah, ubah, atau hapus node. jenis boleh aset (memakai GLB terdaftar) atau bentuk dasar — bentuk dasar ada supaya lantai dan latar tidak menuntut satu GLB sendiri. peran menentukan apakah node ikut dinilai skalanya: properti = benda di panggung (dinilai), latar = lantai/dinding/langit…
No parameter schema on file.
Atur atau tambah cahaya. id yang sudah ada akan DITIMPA, jadi tool ini juga cara mengubah matahari bawaan. Adegan tanpa satu pun cahaya berkekuatan > 0 ditolak saat terbit — ia akan terbit HITAM, dan layar hitam tanpa pesan adalah kegagalan yang paling mahal.
No parameter schema on file.
Posisi, target, dan bidang pandang kamera awal. Ini kamera yang dilihat orang saat halaman pertama dibuka — orbit sesudahnya milik pembaca.
No parameter schema on file.
Langit gradien, paparan (tone mapping ACES), bayangan, dan kabut. Paparan adalah pengatur terang yang BENAR di alur kerja PBR — menaikkan kekuatan cahaya untuk membuat gambar lebih terang akan merusak pantulan dan bayangannya.
No parameter schema on file.
Isi adegan berikut ANGKANYA: tiap node dengan ukuran DUNIA-nya, sertifikat tiap aset, dan pemeriksaan SKALA TIMPANG — node yang diagonalnya menyimpang jauh dari median adegan. Panggil ini sebelum terbit. Kesalahan skala terjadi pada adegan pertama alat ini sendiri: sebuah ikon terbit 438 satuan di…
No parameter schema on file.
Adegan jadi SATU halaman HTML yang berdiri sendiri — orbit, klik-pilih, dan tiap objek membawa angkanya. Aset ditanam sebagai base64 di dalam halamannya, bukan ditunjuk lewat URL: halaman yang memuat asetnya lewat jaringan akan tampil sebagai LAYAR KOSONG di lingkungan ber-CSP ketat, tanpa galat…
No parameter schema on file.
Periksa TOPOLOGI sebuah GLB — bagaimana verteksnya TERSAMBUNG, bukan di mana letaknya. Bekerja pada berkas dari mana pun, termasuk keluaran generator AI, tanpa perlu Blender. Yang dilaporkan: tepi tak-manifold, tepi batas (lubang), segitiga berputar terbalik, segitiga degenerasi dan sliver,…
No parameter schema on file.
Topologi SUMBER: quad, n-gon, valensi verteks, KUTUB, dan EDGE LOOP — diukur dari mesh di dalam Blender, satu-satunya tempat keempatnya masih ada. glTF SELALU tersegitiga, jadi rupa_topologi (yang membaca GLB) menyebut keempat ukuran ini "tidak bisa diukur" di tiap keluarannya. Itu benar, dan…
No parameter schema on file.
Bangun proksi tabrakan CEMBUNG dari sebuah GLB, berikut ongkosnya yang terukur. Titiknya bisa langsung dipasang ke rupa_adegan_node sebagai fisika.bentuk = "cembung". Diukur dengan collider Rapier yang PERSIS akan berjalan (projectPoint), bukan dengan model hull terpisah — mengukur proksi…
No parameter schema on file.
Periksa TEKSTUR sebuah GLB, dan jawab pertanyaan yang sebenarnya ditanyakan orang: apakah teksturnya CUKUP untuk benda ini, atau TERLALU BESAR. Jawabannya PIKSEL PER METER — kerapatan texel (UV per meter dunia) dikalikan ukuran tekstur. Kedua bahannya sudah ada di setiap GLB dan tidak ada alat…
No parameter schema on file.
Bangun material PROSEDURAL di Blender, PANGGANG jadi peta gambar, lalu ganti materialnya dengan yang berbasis gambar supaya bisa diekspor. Langkah terakhir itu yang paling mudah terlupa dan paling mahal: material prosedural Blender TIDAK BISA diekspor ke glTF sama sekali. Eksportirnya cuma…
No parameter schema on file.
- Every tool, no call limit
- No card, and mcprush charges nothing for it
- Source published under MIT
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Rupa3D or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | high | capability blast radius (high) — client exposure if the model is manipulated | −6 |
| verification-discount | repo | publisher verification (public source) — no provenance, but the source is public and inspectable | −1 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
Tools were statically extracted from the published source (36 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. high is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| rupa_status | no tags | |
| rupa_baru | state-write | state-write: declares readOnlyHint: false |
| rupa_muat | state-write | state-write: declares readOnlyHint: false |
| rupa_skrip | state-write | state-write: declares readOnlyHint: false |
| rupa_ukur | no tags | |
| rupa_lihat | no tags | |
| rupa_ekspor | state-write | state-write: declares readOnlyHint: false |
| rupa_lod | state-write | state-write: declares readOnlyHint: false |
| rupa_tabrakan | state-write | state-write: declares readOnlyHint: false |
| rupa_bake | state-write | state-write: declares readOnlyHint: false |
| rupa_rantai | state-write | state-write: declares readOnlyHint: false |
| rupa_periksa | state-write | state-write: declares readOnlyHint: false |
| rupa_cad_status | no tags | |
| rupa_cad_bentuk | state-write | state-write: declares readOnlyHint: false |
| rupa_cad_boolean | state-write | state-write: declares readOnlyHint: false |
| rupa_cad_tepi | no tags | |
| rupa_cad_fillet | state-write | state-write: declares readOnlyHint: false |
| rupa_cad_sketsa | state-write | state-write: declares readOnlyHint: false |
| rupa_cad_ubah | state-write | state-write: declares readOnlyHint: false |
| rupa_cad_ukur | no tags | |
| rupa_cad_daftar | no tags | |
| rupa_cad_ekspor | state-write | state-write: declares readOnlyHint: false |
| rupa_cad_impor | state-write | state-write: declares readOnlyHint: false |
| rupa_adegan_baru | state-write | state-write: declares readOnlyHint: false |
| rupa_adegan_aset | state-write | state-write: declares readOnlyHint: false |
| rupa_adegan_node | state-write | state-write: declares readOnlyHint: false |
| rupa_adegan_cahaya | state-write | state-write: declares readOnlyHint: false |
| rupa_adegan_kamera | state-write | state-write: declares readOnlyHint: false |
| rupa_adegan_lingkungan | state-write | state-write: declares readOnlyHint: false |
| rupa_adegan_lihat | no tags | |
| rupa_adegan_terbit | state-write | state-write: declares readOnlyHint: false |
| rupa_topologi | no tags | |
| rupa_topologi_sumber | no tags | |
| rupa_proksi | no tags | |
| rupa_tekstur | no tags | |
| rupa_tekstur_buat | state-write | state-write: declares readOnlyHint: false |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
Always latest — the install command names no version, so it installs the newest release when it runs; the current release on file is 1.6.2. Pin a release below and the command asks for exactly that one.
No release note was published with this version.
- The version this listing was on when mcprush began following its releases. The registry was not asked when it shipped, so this row carries no date.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Rupa3D can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.