List your tool
Anyone can build a tool on OnlyWorlds now, with no sign-up: the API, the SDKs and these docs are public. Being listed is a step further: we read your tool against seven lines, and its row in the list says what we read and when. Listed rows show on onlyworlds.com/tools, under Tools others build, with their listed date.
Submit your tool: a form on GitHub, public, like the answer it gets. Never put a key, a PIN or a world’s data in it.
Three rungs
Section titled “Three rungs”| Rung | What it means | Who decides |
|---|---|---|
| Built on OnlyWorlds | reads or writes worlds through the API, world folders or MCP, and names itself | nobody: a convention anyone may follow |
| Listed | read against the seven lines below, every one passed, on a date | the OnlyWorlds maintainer, tool by tool |
| Signed in | people can sign in with OnlyWorlds to it | the maintainer, per tool, after it is listed |
A tool climbs in that order: nothing is signed in that is not listed, and nothing is listed that is not built.
What we read
Section titled “What we read”- It is what it says. The URL serves the tool. The source is public, or your submission says why not.
- Keys stay with the person. The key and PIN someone gives your tool are kept on their device or in their own environment, never on your server.
- It names itself. Your writes send a client name (
X-OW-Client, see Writes), your own fields sit under anx_<tool>_prefix (Atlas keeps its olderatlas_, which the server keeps as written), and folders you make carry theproducerline. - It speaks the wire. Your calls are ones the API document describes; a folder you write passes the folder lint; an
.owworldfile you write opens in the reference reader. - It says what leaves the machine. One sentence: what world data goes where (your server, a model provider, nowhere).
- The host answers. Read from outside, signed out: https and its certificate, no dangling domain, the other hosts your first page loads from. We never go past the first click.
- Its core is open and free. What your tool is for works for anyone, without paying and without an invite: opening, reading and changing a world. Extras can cost (hosting, models, exports, premium views). Your submission names the free core and the paid parts.
Lines 2 and 5 can’t be seen from outside, so a row marks them claimed (you said so), or read in source when your source is public and we read it. Every line carries the date it was read.
What a listing does not claim: that a tool is good, safe beyond these seven lines, or maintained. The date says when it was last true.
After it is listed
Section titled “After it is listed”We read listed tools again from time to time and whenever someone reports a problem. Taking a tool off the list is a person’s decision, never an automatic check’s. A delisted row stays, with its date and why.
Before you submit
Section titled “Before you submit”- Send your client name on writes:
new OwV2Client({ ..., client: 'mytool' })in TypeScript,Client("ow_w_...", "1234", client="mytool")in Python. - Keep your tool’s own fields under
x_mytool_: they round-trip as written, while an unknown key with no prefix is refused on write (Writes). - If your tool runs in a browser on your own domain, check CORS first.
