protogrid

Search / io.github.lukehollis/spacery

Spacery

R0· no sign-in

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

v0.2.2 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality73new
Trust97of 100
Uptime, 30 days100%
Latency p50462 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "spacery": {
      "type": "http",
      "url": "https://app.spacery.dev/mcp"
    }
  }
}
claude mcp add --transport http spacery https://app.spacery.dev/mcp
[mcp_servers.spacery]
url = "https://app.spacery.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "spacery": {
      "type": "remote",
      "url": "https://app.spacery.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "spacery": {
      "type": "http",
      "url": "https://app.spacery.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=spacery&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBwLnNwYWNlcnkuZGV2L21jcCJ9"
}
{
  "servers": {
    "spacery": {
      "type": "http",
      "url": "https://app.spacery.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "spacery": {
      "httpUrl": "https://app.spacery.dev/mcp"
    }
  }
}
extensions:
  "spacery":
    enabled: true
    name: "spacery"
    type: streamable_http
    uri: "https://app.spacery.dev/mcp"
    timeout: 300

Quality 73 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: link_account (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_plans (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_space (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 1,679 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 0 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

18 tools, about 1,679 tokens to load them all · tool set e6e58e1f8030 · checked 2026-10-20 12:13 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-0d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://app.spacery.dev/mcp streamable-httpnoneyes100%462 ms2025-11-252026-10-20
packageregistryversionruntimesecrets
https://github.com/lukehollis/spacery/releases/download/v0.2.2/spacery.mcpbmcpb0.2.2–

Tools (18)

create_spaceCreates 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.
create_tourStarts a private guided tour or scavenger hunt on a space from find_tour_spaces; fill it with draft_tour or save_tour.
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, 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.
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). Search by words in the title.
finish_uploadChecks that every uploaded file is complete and submits the space for processing. The account is emailed when the space is ready.
get_tourThe tour as JSON (stops, objects, effects, looks, skies) with its revision, for editing with save_tour.
link_accountLinks this agent to the person's account. Returns a link where the person signs in and approves a short code; call again once they have. Never ask for a password.
list_plansThe 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.
list_toursThe tours and scavenger hunts on the account, with their links.
save_tourSaves 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.
search_modelsSearches the library of ready-made 3D models (statues, amphorae, temples, furniture, animals, props from many periods). Returns each model's size and url.
set_visibilityMakes 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.
share_tourMakes a tour public (anyone with its link, never listed) or private, and optionally renames it. Ask the person first.
space_statusStatus of one space, or every space on the account with its link when ready.
unlink_accountUnlinks this agent from the account.
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. For files on the person's own device, give them the space's page to drop the files instead.
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. Call it again to keep waiting.
wait_for_tourWaits up to 25 seconds for a draft to finish, then summarizes the tour. Call it again to keep waiting.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.lukehollis/spacery",
  "icons": [
    {
      "src": "https://raw.githubusercontent.com/lukehollis/spacery/main/assets/icon.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Spacery",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://app.spacery.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.2",
  "packages": [
    {
      "version": "0.2.2",
      "transport": {
        "type": "stdio"
      },
      "fileSha256": "71ebe7082e5f00227c03ba6b703e6189a1440630242e044625c625709f0d7d6c",
      "identifier": "https://github.com/lukehollis/spacery/releases/download/v0.2.2/spacery.mcpb",
      "registryType": "mcpb"
    }
  ],
  "repository": {
    "url": "https://github.com/lukehollis/spacery",
    "source": "github"
  },
  "websiteUrl": "https://spacery.dev",
  "description": "Publish 3D scans, Gaussian splats and 360 tours as shareable spaces, and build guided tours in them"
}