Spacery
REMOTE · APP.SPACERY.DEV · 2 COMPONENTS
Publish 3D scans, Gaussian splats and 360 tours as shareable spaces, and build guided tours in them
Available components
Last scanned (23 hours ago)
Scores higher than 54% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Design and Media
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (unlink_account). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability70
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1713 tokens (~95/item across 18 items; 18 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
- Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 59% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 20 Oct 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://app.spacery.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=spacery.dev | CN=YE2,O=Let's Encrypt,C=US | 21 Sept 2026 | 20 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 630554eed392414330d2ba7b2e44ad3d485 |
| SANs: *.spacery.dev, spacery.dev | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of app.spacery.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| spacery.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.spacery.dev/mcp | Verified | 200 | |
| http (plaintext) | http://app.spacery.dev/mcp | HTTPS enforced | 301 | https://app.spacery.dev/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
create_space Create space ~118
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.
| Name | Type | Req | Description |
|---|---|---|---|
| plan | string | – | Optional plan name or ID from list_plans. |
| title | string | yes | Title of the space, 1 to 200 characters. |
No output schema declared.
No examples provided.
create_tour Create tour ~68
Starts a private guided tour or scavenger hunt on a space from find_tour_spaces; fill it with draft_tour or save_tour.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | – | – |
| scene_id | string | yes | The sceneId from find_tour_spaces. |
| title | string | – | – |
No output schema declared.
No examples provided.
draft_tour Draft tour ~117
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.
| Name | Type | Req | Description |
|---|---|---|---|
| request | string | yes | – |
| tour_id | string | yes | The tour ID (12 hexadecimal characters) from create_tour or list_tours. |
No output schema declared.
No examples provided.
find_tour_spaces Find spaces for tours ~59
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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | – | – |
No output schema declared.
No examples provided.
finish_upload Finish upload ~168
Checks that every uploaded file is complete and submits the space for processing. The account is emailed when the space is ready.
| Name | Type | Req | Description |
|---|---|---|---|
| notes | string | – | Optional notes for processing, such as what the capture is or how the tour should go. |
| output | string | – | What to build: "splat", a 3DGS (3D Gaussian splat) visitors move through freely (the default for photos, video and 360 captures); "tour", a guided tour of 360 panoramas (the default for E57 scans); o… |
| space_id | string | yes | The space ID (12 hexadecimal characters) from create_space or space_status. |
| submit | boolean | – | Defaults to true. |
No output schema declared.
No examples provided.
get_tour Get tour ~60
The tour as JSON (stops, objects, effects, looks, skies) with its revision, for editing with save_tour.
| Name | Type | Req | Description |
|---|---|---|---|
| tour_id | string | yes | The tour ID (12 hexadecimal characters) from create_tour or list_tours. |
No output schema declared.
No examples provided.
link_account Link account ~64
Links 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.
| Name | Type | Req | Description |
|---|---|---|---|
| link_code | string | – | Only for connections without a session, the link_code from the previous call. |
No output schema declared.
No examples provided.
list_plans List hosting plans ~49
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_tours List tours ~23
The tours and scavenger hunts on the account, with their links.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
save_tour Save tour ~82
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.
| Name | Type | Req | Description |
|---|---|---|---|
| experience | object | yes | – |
| title | string | – | – |
| tour_id | string | yes | The tour ID (12 hexadecimal characters) from create_tour or list_tours. |
No output schema declared.
No examples provided.
search_models Search 3D models ~59
Searches the library of ready-made 3D models (statues, amphorae, temples, furniture, animals, props from many periods). Returns each model's size and url.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
set_visibility Set space visibility ~84
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.
| Name | Type | Req | Description |
|---|---|---|---|
| public | boolean | yes | – |
| space_id | string | yes | The space ID (12 hexadecimal characters) from create_space or space_status. |
No output schema declared.
No examples provided.
share_tour Share tour ~75
Makes a tour public (anyone with its link, never listed) or private, and optionally renames it. Ask the person first.
| Name | Type | Req | Description |
|---|---|---|---|
| public | boolean | – | – |
| title | string | – | – |
| tour_id | string | yes | The tour ID (12 hexadecimal characters) from create_tour or list_tours. |
No output schema declared.
No examples provided.
space_status Space status ~47
Status of one space, or every space on the account with its link when ready.
| Name | Type | Req | Description |
|---|---|---|---|
| space_id | string | – | The space ID (12 hexadecimal characters) from create_space or space_status. |
No output schema declared.
No examples provided.
unlink_account Unlink account ~16
Unlinks this agent from the account.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
upload_files Upload files ~88
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.
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | – |
| space_id | string | yes | The space ID (12 hexadecimal characters) from create_space or space_status. |
No output schema declared.
No examples provided.
wait_for_payment Wait for payment ~69
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.
| Name | Type | Req | Description |
|---|---|---|---|
| space_id | string | yes | The space ID (12 hexadecimal characters) from create_space or space_status. |
No output schema declared.
No examples provided.
wait_for_tour Wait for tour draft ~59
Waits up to 25 seconds for a draft to finish, then summarizes the tour. Call it again to keep waiting.
| Name | Type | Req | Description |
|---|---|---|---|
| tour_id | string | yes | The tour ID (12 hexadecimal characters) from create_tour or list_tours. |
No output schema declared.
No examples provided.
How do I install the Spacery MCP server?
Spacery is a hosted endpoint at https://app.spacery.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · app.spacery.dev
claude mcp add --transport http lukehollis-spacery 'https://app.spacery.dev/mcp'
What is the Spacery MCP server?
Spacery is an MCP server listed in the public MCP registry as io.github.lukehollis/spacery. Publish 3D scans, Gaussian splats and 360 tours as shareable spaces, and build guided tours in them. This page covers its hosted endpoint (https://app.spacery.dev/mcp).
Is the Spacery MCP server safe to use?
Spacery scores 69 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Spacery MCP server expose?
Spacery exposes 18 tools: link_account, list_plans, create_space, wait_for_payment, upload_files, and 13 more. Their descriptions and schemas cost roughly 1,305 tokens of context every time the server is loaded.
Does the Spacery MCP server require authentication?
No. We connected to Spacery without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Spacery MCP server still maintained?
Spacery is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.