Skip to content

Spacery

by lukehollis · remote · local (mcpb) · no sign-in to list tools · v0.2.3 · published by GitHub user lukehollis

Publish 3D scans, Gaussian splats and 360 tours as shareable spaces, and build guided tours in them

Deletes · 3Changes · 7

18 tools: 3 can delete or cancel things, 7 change things and 8 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http spacery https://app.spacery.dev/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

18 tools

Deletes or cancels 3Claude Code: deny
  • draft_tourAsks the site's tour agent, which sees the space's photographs, to write or rework the tour from a plain request: stops and text, hidden objects and clues, library models, effects,…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Asks the site's tour agent, which sees the space's photographs, to write or rework the tour from a plain request: stops and text, hidden objects and clues, library models, effects, sound, music, looks with transitions and skies (day, sunset, storm, night, stars). It places everything and saves. Returns at once; then call wait_for_tour.

    Annotations the server declares

    • title: Draft tour
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • save_tourSaves a tour edited by hand: the experience JSON from get_tour with changes.No findings

    Why it is in this group

    • The name "save_tour" says "save": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Saves a tour edited by hand: the experience JSON from get_tour with changes. Models use a url from search_models, or any https address of a .glb.

    Annotations the server declares

    • title: Save tour
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Changes things 7Claude Code: ask
  • create_spaceCreates a space for one capture.No findings

    Why it is in this group

    • The name "create_space" says "create": a word for a change.
    Description, as the server wrote it
    Creates a space for one capture. An account that does not pay for hosting yet gets its first space as a free private preview: upload and process it with no payment. After that, it returns a Stripe Checkout link for the plan the person chose (pay as you go when none is given) for them to pay; then call wait_for_payment. Never ask for card details.

    Annotations the server declares

    • title: Create space
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_tourStarts a private guided tour or scavenger hunt on a space from find_tour_spaces; fill it with draft_tour or save_tour.No findings

    Why it is in this group

    • The name "create_tour" says "create": a word for a change.
    Description, as the server wrote it
    Starts a private guided tour or scavenger hunt on a space from find_tour_spaces; fill it with draft_tour or save_tour.

    Annotations the server declares

    • title: Create tour
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • finish_uploadChecks that every uploaded file is complete and submits the space for processing.No findings

    Why it is in this group

    • The name "finish_upload" says "upload": a word for a change.
    Description, as the server wrote it
    Checks that every uploaded file is complete and submits the space for processing. The account is emailed when the space is ready.

    Annotations the server declares

    • title: Finish upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • set_visibilityMakes a ready space public (anyone with the link) or private (only the owner).No findings

    Why it is in this group

    • The name "set_visibility" says "set": a word for a change.
    Description, as the server wrote it
    Makes a ready space public (anyone with the link) or private (only the owner). Ask the person first. A free preview cannot be public until hosting starts, so it returns a Stripe Checkout link for the person to pay.

    Annotations the server declares

    • title: Set space visibility
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • share_tourMakes a tour public (anyone with its link, never listed) or private, and optionally renames it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Makes a tour public (anyone with its link, never listed) or private, and optionally renames it. Ask the person first.

    Annotations the server declares

    • title: Share tour
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • upload_filesStarts resumable uploads for capture files you hold (for example photos or video the person shared with you) and returns where to PUT each file's bytes.No findings

    Why it is in this group

    • The name "upload_files" says "upload": a word for a change.
    Description, as the server wrote it
    Starts resumable uploads for capture files you hold (for example photos or video the person shared with you) and returns where to PUT each file's bytes. For files on the person's own device, give them the space's page to drop the files instead.

    Annotations the server declares

    • title: Upload files
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 8Claude Code: allow
  • find_tour_spacesSpaces a guided tour or scavenger hunt can be built on: the person's own finished spaces and the site's public spaces (museums, temples, tombs, gardens).No findings

    Why it is in this group

    • The name "find_tour_spaces" says "find": a word for reading.
    Description, as the server wrote it
    Spaces a guided tour or scavenger hunt can be built on: the person's own finished spaces and the site's public spaces (museums, temples, tombs, gardens). Search by words in the title.

    Annotations the server declares

    • title: Find spaces for tours
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_tourThe tour as JSON (stops, objects, effects, looks, skies) with its revision, for editing with save_tour.No findings

    Why it is in this group

    • The name "get_tour" says "get": a word for reading.
    Description, as the server wrote it
    The tour as JSON (stops, objects, effects, looks, skies) with its revision, for editing with save_tour.

    Annotations the server declares

    • title: Get tour
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_plansThe ways to pay for hosting, with prices, and the account's current plan.No findings

    Why it is in this group

    • The name "list_plans" says "list": a word for reading.
    Description, as the server wrote it
    The ways to pay for hosting, with prices, and the account's current plan. The first space is a free private preview, so show them when the person wants to publish it or keep it.

    Annotations the server declares

    • title: List hosting plans
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_toursThe tours and scavenger hunts on the account, with their links.No findings

    Why it is in this group

    • The name "list_tours" says "list": a word for reading.
    Description, as the server wrote it
    The tours and scavenger hunts on the account, with their links.

    Annotations the server declares

    • title: List tours
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_modelsSearches the library of ready-made 3D models (statues, amphorae, temples, furniture, animals, props from many periods).No findings

    Why it is in this group

    • The name "search_models" says "search": a word for reading.
    Description, as the server wrote it
    Searches the library of ready-made 3D models (statues, amphorae, temples, furniture, animals, props from many periods). Returns each model's size and url.

    Annotations the server declares

    • title: Search 3D models
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • space_statusStatus of one space, or every space on the account with its link when ready.No findings

    Why it is in this group

    • The name "space_status" says "status": a word for reading.
    Description, as the server wrote it
    Status of one space, or every space on the account with its link when ready.

    Annotations the server declares

    • title: Space status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • wait_for_paymentWaits up to 25 seconds for the person to finish paying in Stripe Checkout, whether for a space's first payment or to publish a free preview.No findings

    Why it is in this group

    • The name "wait_for_payment" says "wait": a word for reading.
    Description, as the server wrote it
    Waits up to 25 seconds for the person to finish paying in Stripe Checkout, whether for a space's first payment or to publish a free preview. Call it again to keep waiting.

    Annotations the server declares

    • title: Wait for payment
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • wait_for_tourWaits up to 25 seconds for a draft to finish, then summarizes the tour.No findings

    Why it is in this group

    • The name "wait_for_tour" says "wait": a word for reading.
    Description, as the server wrote it
    Waits up to 25 seconds for a draft to finish, then summarizes the tour. Call it again to keep waiting.

    Annotations the server declares

    • title: Wait for tour draft
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.2.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http spacery https://app.spacery.dev/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__spacery__list_plans",
      "mcp__spacery__wait_for_payment",
      "mcp__spacery__space_status",
      "mcp__spacery__find_tour_spaces",
      "mcp__spacery__list_tours",
      "mcp__spacery__wait_for_tour",
      "mcp__spacery__get_tour",
      "mcp__spacery__search_models"
    ],
    "ask": [
      "mcp__spacery__link_account",
      "mcp__spacery__create_space",
      "mcp__spacery__upload_files",
      "mcp__spacery__finish_upload",
      "mcp__spacery__set_visibility",
      "mcp__spacery__create_tour",
      "mcp__spacery__share_tour"
    ],
    "deny": [
      "mcp__spacery__unlink_account",
      "mcp__spacery__draft_tour",
      "mcp__spacery__save_tour"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as spacery. Review it before you use it.