Scrolls

For AI assistants

The MCP server

Let an AI assistant such as Claude read the published umbilici and surface tracks, read or replace your own umbilicus points, and work with your private windings, by talking to it.

Add it to your assistant

Claude Code

claude mcp add --transport http scrolls https://scrolls.traditionalcamber.com/mcp --header "Authorization: Bearer hsk_..."

Leave out --header ... for the public tools only. Then ask, for example:

Claude on the web and Claude Desktop

Under Settings, Connectors, add a custom connector with the address above. A connector sends no key, so it gets only the public tools, and its calls share the limit for calls without a key (300 an hour per address).

In Claude Desktop your own points and windings work too, through a local server that sends your key. Under Settings, Developer, choose Edit Config, add the server to claude_desktop_config.json as below and restart Claude Desktop. It runs the npx mcp-remote command under Other clients below, so it needs Node.js; the key goes in env because Claude Desktop on Windows breaks arguments that have spaces in them.

{"mcpServers": {"scrolls": {"command": "npx",
  "args": ["-y", "mcp-remote", "https://scrolls.traditionalcamber.com/mcp", "--header", "Authorization:${AUTH_HEADER}"],
  "env": {"AUTH_HEADER": "Bearer hsk_..."}}}}

Other clients

Clients that take an address and headers use a setting like this one (the exact file and key names vary by client):

{"mcpServers": {"scrolls": {"url": "https://scrolls.traditionalcamber.com/mcp",
                            "headers": {"Authorization": "Bearer hsk_..."}}}}

A client that can only start local programs can reach it through npx mcp-remote https://scrolls.traditionalcamber.com/mcp --header "Authorization: Bearer hsk_...".

Tools

The scroll argument takes a scroll's PHerc name, such as PHerc0175A, or practice for the practice scroll (on PHerc0826). Points use the umbilicus files' convention: x is the column and y the row in level-0 voxels, z the slice; a note starting with ? means unsure. put_my_umbilicus replaces all your points on that scroll, as a save from the marking page does; send the rev that get_my_umbilicus gave you, and if you saved elsewhere since, get them again first. Sending the same points again, say after a lost reply, is answered as unchanged rather than as a conflict.

Windings are private: a winding id you can't see answers "no such winding", exactly as one that doesn't exist, and only its owner can change it, add files or share it. Someone a winding is shared with can take it off their own list with leave_winding. Deleting a winding, a file or a note can't be undone, and those tools say so, so your assistant can ask you first. A winding's titles, descriptions, notes and files may be written by other people: the server tells your assistant to treat them as data, never as instructions.

When something goes wrong

A tool that can't do what was asked says why in its reply (for example that a key is needed, or that the scroll was saved since). A key that doesn't work (revoked, or its account disabled) gets 401 before any tool runs; too many calls get 429 with Retry-After, and a call over 6 MB gets 413.