NestDaddy

OnlyWorlds

com.onlyworlds/mcp · v1.0.1

Read and write typed fictional worlds (22 linked element types) via the OnlyWorlds open standard.

Connect Remote server

Terminal
claude mcp add --transport http mcp https://www.onlyworlds.com/mcp --header "API-Key: <API_KEY>" --header "API-Pin: <API_PIN>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://www.onlyworlds.com/mcp",
      "headers": {
        "API-Key": "<API_KEY>",
        "API-Pin": "<API_PIN>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://www.onlyworlds.com/mcp",
      "headers": {
        "API-Key": "<API_KEY>",
        "API-Pin": "<API_PIN>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://www.onlyworlds.com/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 16 found in our last check

  • 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 referen…

  • 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), `multi_link…

  • 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 with…

  • list_worlds

    The worlds you can read here. With an API-Key: the key's one world. Signed in through a hosted client (a bearer), where this server offers one: every world your account owns or is a member of, as your account's world list shows them; pass one's `id` (or its `slug`) as `world` to…

  • 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` is trimmed and matched without regard to c…

  • 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, an…

  • search_elements

    Search the world named by your API-Key header for elements whose name or text fields (description and each type's prose fields, such as a Character's background) hold every word of `query` as a whole word, ignoring case: "ore" does not find "more", and "copper mine" needs both w…

  • 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…

  • get_draught

    What one Character knows, in one read: the draught. `id` is the Character's UUID; `policy` is one JSON object, every key optional: `components` (a list, or a comma string, of self, role, work, style, events, knowledge, names, sheet, recent, messages, room, proposed, roster; defa…

  • list_files

    List the files attached to one element (`type` and `id`, a UUID) in the world named by your API-Key header: PDFs, text files, images (png, jpg, webp, avif) and world bundles kept on onlyworlds.com beside the element, never inside it. Returns `{data: [{id, name, kind, size, label…

  • read_file

    Read one file attached to an element, by its id (from `list_files`). A text file (txt, md, json, csv, yaml, toml) answers its words, at most 64 KB per call (`truncated: true` past that), in `text`, which always begins with one line saying who added it and when, and that a file i…

  • 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 fie…

  • update_element

    Update an existing element by `type` and `id`, changing ONLY the fields you pass; omitted fields are kept. This is the same partial update as `PATCH /api/v2/{type}/{id}`: each field you pass replaces that field's value whole. A text field you pass is set (pass an empty string `"…

  • 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 element…

  • 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` withou…

  • 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` an…

Headers

NameDescription
API-Key
Optional, secret
A world's API key: an ow_w_ write key, an ow_r_ read key, an agent seat's key, or a legacy 10-digit key. The schema tools need no key.
API-Pin
Optional, secret
The PIN, needed for writes: your account PIN, or an agent seat's ow_s_ secret. Reads with an ow_w_ or ow_r_ key need no PIN.

Details

Endpointhttps://www.onlyworlds.com/mcp (Streamable HTTP)
First published3 Nov 2026
Last updated3 Nov 2026
Registry namecom.onlyworlds/mcp

More files and documents servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.