OnlyWorlds
by onlyworlds.com in Other
Read and write typed fictional worlds (22 linked element types) via the OnlyWorlds open standard.
https://www.onlyworlds.com/mcp- Tools
- 12
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 149 ms
- 305 ms slowest 5%
- Last check
- Passed
- 7 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"onlyworlds": {
"type": "http",
"url": "https://www.onlyworlds.com/mcp"
}
}
}12 tools
- list_element_types
List all 22 OnlyWorlds element types with a one-line shape summary of each. Every world is built from these types; each element has a stable UUID `id`, a `name`, and a `type`. Use `get_element_schema(type)` for a type's full field list. Unauthenticated — schema is public…
- get_element_schema
Return the field structure of one OnlyWorlds element `type` (a slug from `list_element_types`, e.g. "character"). The result groups the type's writable fields by kind so a caller knows how to read and write them: `text` (strings), `integer`, `single_link` (one UUID)…
- search_schema
Search every element type's fields for `query` (case-insensitive substring), across all 22 types. Useful for "which types have a `location` field?" or finding where a concept lives in the schema. Returns a mapping of type slug -> the matching field names in that type (types…
- list_elements
List elements of one `type` in the world named by your API-Key header, newest-created first. `type` is a slug from `list_element_types` (e.g. "character"). Optional `name_contains` filters by case-insensitive name substring; `supertype` filters exactly. `limit` (default 100…
- get_element
Fetch one element by `type` and `id` (a UUID) from the world named by your API-Key header. `type` is a slug from `list_element_types`. Returns the full v2 wire shape (the same body as `GET /api/v2/{type}/{id}`): `type`, `id`, `name`, scalar fields, link fields as UUID arrays…
- search_elements
Search elements by name across ALL 22 types in the world named by your API-Key header (case-insensitive substring match). Use this when you know part of a name but not the element's type. Bounded to at most 50 matches per type. Returns `{query, results: [{type, id, name…
- get_changes
Return the delta feed for the world named by your API-Key header: every element created/updated (`op: "upsert"`, full body) or deleted (`op: "delete"`) since `since_cursor`, in apply order, in pages of `limit` (default 25, max 1000). Entries carry FULL element bodies — a default…
- create_element
Create one new element of `type` in the world named by your API-Key header. `type` is a slug from `list_element_types` (e.g. "character"). `element` is the field payload: `name` plus any scalar, link, or extension fields for that type (call `get_element_schema(type)` for the…
- update_element
Update an existing element by `type` and `id`, changing ONLY the fields you pass — omitted fields are preserved. This is a server-side read-merge: the current element is loaded and only the keys in `fields` are applied, so it is safe against the raw-HTTP-PATCH hazard where…
- edit_links
Add and/or remove links on ONE multi-link `field` of an element, leaving the rest of that field's array untouched. Use this for additive/subtractive link edits (unlike `update_element`, which REPLACES a link array). `type` is a slug from `list_element_types`; `id` is the…
- bulk_apply
Create and/or update many elements across any of the 22 types in one call. Each entry in `items` is `{"type": <slug>, "element": <payload>}` with the same payload shape `create_element` takes: an `element` with an `id` UPDATES that id (creating it if absent), an `element`…
- get_image_upload_ticket
Get a ticket to upload ONE image into this world, for an element's `image_url` (Keel #59). The image never passes through this tool: you send its bytes yourself, straight to the image host, with the ticket. Steps: 1. Call this tool. You get `ticket`, `upload_url`, `max_bytes`…
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 7 h ago | Passed | 200 | 149 ms |
| 18 h ago | Passed | 200 | 125 ms |
| 28 h ago | Passed | 200 | 149 ms |
| 38 h ago | Passed | 200 | 187 ms |
| 2 days ago | Passed | 200 | 92 ms |
Show 10 older checks
| 2 days ago | Passed | 200 | 252 ms |
| 3 days ago | Passed | 200 | 184 ms |
| 3 days ago | Passed | 200 | 229 ms |
| 4 days ago | Passed | 200 | 152 ms |
| 4 days ago | Passed | 200 | 81 ms |
| 4 days ago | Passed | 200 | 197 ms |
| 5 days ago | Passed | 200 | 146 ms |
| 5 days ago | Passed | 200 | 190 ms |
| 6 days ago | Passed | 200 | 134 ms |
| 6 days ago | Passed | 200 | 134 ms |