Rorsa Tools
Maintainer
MCP toolkit που επιτρέπει στο Claude (και άλλους AI agents) να δημιουργούν, να επεξεργάζονται και να μετασχηματίζουν εικόνες σε production κλίμακα. 27 εργαλεία, batch processing, GPU-accelerated background removal. Το toolkit που έχτισε τις εικόνες αυτού του portfolio.
Αποτελέσματα
- εργαλεία που καλεί απευθείας ένας AI assistant
- 27
- αρχεία αυτόματων ελέγχων
- 54
- τρόποι να τρέξει, MCP server και terminal
- 2

Η κατάσταση
Δουλεύω καθημερινά με AI agents, και η εικόνα ήταν πάντα το σημείο όπου σταματούσαν. Ο agent έγραφε τη σελίδα και το markup, και μετά περίμενε άνθρωπο για τα γραφικά, τα μεγέθη, τη συμπίεση και το alt text. Έχτισα το Rorsa Tools για να κλείσει αυτό το κενό: είναι μια εργαλειοθήκη που ένας AI assistant καλεί απευθείας, και η ίδια εργαλειοθήκη τρέχει και από το terminal.
Μία εργαλειοθήκη, δύο πόρτες
Το ίδιο σύνολο εργαλείων εκτίθεται με δύο τρόπους: ως MCP server, ώστε ένας agent να τα καλεί μέσα από τη συνομιλία, και ως εντολή στο terminal για όταν το κάνω με το χέρι.
Ένα codebase, δύο διεπαφές. Κανένα εργαλείο δεν δουλεύει στο ένα και λείπει από το άλλο, οπότε ό,τι μάθει ο agent ισχύει και για μένα.

Πώς λειτουργεί
- 27 εργαλεία σε μία επιφάνεια: 13 για εικόνα, 12 για κείμενο και SEO, και 2 για μετατροπή σελίδων σε markdown, με δύο εκτελέσιμα από το ίδιο πακέτο.
- Γρήγορο ξεκίνημα εκ κατασκευής: ο κατάλογος των εργαλείων ζει σε ένα αρχείο με μηδέν imports, ώστε ο server να απαντά στο
tools/listπριν φορτώσει τίποτα βαρύ. Οι υλοποιήσεις φορτώνονται νωχελικά στην πρώτη κλήση, γιατί αλλιώς ένα κρύο ξεκίνημα δεν προλαβαίνει το timeout του client. - Δύο βαθμίδες μοντέλου: ένα pro και ένα flash, με το pro ως προεπιλογή όπου μετράει η απόδοση κειμένου μέσα στην εικόνα.
- Όρια δίσκου: τα εργαλεία γράφουν μόνο μέσα στους φακέλους που έχουν δηλωθεί ρητά ως επιτρεπτοί, ώστε ένα λάθος path να μη γίνεται λάθος αρχείο.
Παρτίδες που δεν πέφτουν όλες μαζί
Μια σελίδα δεν θέλει μία εικόνα, θέλει δεκάδες, σε τρία μεγέθη και δύο μορφές. Η δουλειά παρτίδας χαλάει όταν μια αποτυχία στη μέση πετάει στα σκουπίδια ό,τι είχε ήδη γίνει.
Εδώ κάθε στοιχείο αποτυγχάνει μόνο του. Στο τέλος παίρνω πίσω τι πέτυχε και τι όχι, και ξανατρέχω μόνο το δεύτερο.

Πώς λειτουργεί
- Ανάκτηση ανά στοιχείο: ο batch runner κρατάει το αποτέλεσμα κάθε στοιχείου χωριστά, οπότε μια αποτυχημένη εικόνα δεν σκοτώνει την παρτίδα.
- Επαναπροσπάθειες με μέτρο: επανάληψη για τα παροδικά σφάλματα, αλλά μια ακύρωση από τον καλούντα διαδίδεται αμέσως και δεν ξαναδοκιμάζεται.
- Χτύπος καρδιάς στις μεγάλες κλήσεις: ο server στέλνει ειδοποιήσεις προόδου όσο δουλεύει, γιατί αυτές κρατούν ζωντανό το timeout του MCP client σε μια παρτίδα που τρέχει λεπτά.
- Επεξεργασία και έλεγχοι: Sharp για μέγεθος, συμπίεση και μορφή, και 54 αρχεία ελέγχων με Vitest σε χωριστές σουίτες για την παρτίδα, το πρωτόκολλο του sidecar, τα εργαλεία markdown και τα εργαλεία κειμένου.
Καθαρό φόντο, στο δικό μου μηχάνημα

Η αφαίρεση φόντου δεν φεύγει από το μηχάνημα. Το μοντέλο τρέχει τοπικά στην κάρτα γραφικών, οπότε δεν ανεβαίνει εικόνα πελάτη σε υπηρεσία τρίτου για να κοπεί ένα περίγραμμα, και η δουλειά δεν περνά από API.
Πώς λειτουργεί
- Γιατί sidecar: το μοντέλο RMBG-2.0 τρέχει σε Python και PyTorch και δεν έχει αντίστοιχο στο Node. Ο server ξεκινάει μια μόνιμη διεργασία Python και της μιλάει με JSON, μία γραμμή ανά αίτημα, πάνω από stdin και stdout.
- Πότε είναι έτοιμο: η διεργασία φορτώνει το μοντέλο μια φορά στην εκκίνηση και απαντά σε ένα ping μόνο όταν το έχει φορτώσει.
- Όταν πέφτει: μια κατάρρευση ή ένα αίτημα που δεν απάντησε στον χρόνο του σημειώνει τη διεργασία ως νεκρή, και η επόμενη κλήση την ξαναξεκινάει, με κατανοητό σφάλμα αντί για σιωπή.
- Άδεια χρήσης: το RMBG-2.0 είναι CC-BY-NC-4.0, μη εμπορική χρήση μόνο, γραμμένο στο README αντί να ανακαλυφθεί αργότερα.
Και τα κείμενα, όχι μόνο οι εικόνες
Η εργαλειοθήκη μεγάλωσε εκεί που πονούσε: μετά τις εικόνες ήρθαν τα κείμενα και ο markdown καθρέφτης, οι επόμενες δουλειές που έκανα δεκάδες φορές με το χέρι.
Πώς λειτουργεί
- Κείμενο και SEO: 12 εργαλεία, από πρωτογενή (περίγραμμα, ενότητα, λείανση, meta, alt text, λέξεις-κλειδιά) ως σύνθετα (ολόκληρο άρθρο, μαζικά άρθρα, επανεγγραφή για SEO, FAQ, παραλλαγές για social, μετάφραση).
- Markdown καθρέφτης: 2 εργαλεία που μετατρέπουν μια σελίδα ή ένα ολόκληρο sitemap σε καθαρό markdown με frontmatter, με ντετερμινιστικό pipeline και χωρίς κόστος API, και προαιρετικά ένα ευρετήριο
llms.txt. - Διανομή και ιστορικό: πηγαίος κώδικας στο GitHub και manifest για plugin του Claude Code, 171 commits ως σήμερα, έκδοση 0.2.0.
Σύνδεσμοι
- Repo:
jimrarras/rorsa-tools(private)
Παρόμοια έργα
- Heartbeat PIM (MCP embedded): άλλο production MCP work, αλλά embedded σε commerce backend αντί standalone