Another way of running Zotero's scrapers on a server could be to have Zotero running inside Firefox, but listening for external HTTP requests. On receiving a URL Firefox would load that page, Zotero would run the appropriate scrapers and an array of Zotero objects would be returned.

This is the way SIMILE's Crowbar works (using PiggyBank and its scrapers rather than Zotero). I've started getting the Crowbar HTTP code working in Zotero but haven't managed to call the right functions to scrape the given URL yet...