com.spacexploration/listings

MCPcommunitylive
v1.0.0com.spacexplorationUnknownUpdated 3mo ago

Search commercial real estate listings. Reads need no token; authoring is self-serve OAuth (DCR).

Endpoint healthlive
checked 10 days ago · 379ms
100% of the last 5 checks reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
3mo agoLast update
Package
Authorcom.spacexploration
LicenseUnknown
Version1.0.0
Sourcemcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/30
→ Publisher: this listing has no repository on file, so `forge publish` cannot verify ownership automatically. Use "Claim this listing" above — Forge reviews these by hand.
—Domain verification+0/10
→ Not currently available for this listing type — the domain-verification check only runs for npm-backed packages today, so this row cannot be earned here yet regardless of what's hosted at the domain.
✓Prompt-injection scan · clean+30/30
✓Obfuscation / exfil scan · clean+20/20
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
DependenciesNot audited
Tool surface15 tools · 3 privileged
Security scan✓ Cleanvlive · 1mo agoHow well does this scan work?
EvalsNone
IndexedJun 13, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

15 tools · 3 privileged
Observed live from the vendor's endpoint1mo ago

Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.

  • https://spacexploration.com/mcp15 tools · 1458ms
get_registryReturns the full attribute registry — every searchable and filterable field, its type, allowed values, and display label. Read this first to understand the schema before calling search_listings with attribute filters.

Returns the full attribute registry — every searchable and filterable field, its type, allowed values, and display label. Read this first to understand the schema before calling search_listings with attribute filters.

No input schema was published for this tool.

search_listingsSearch commercial real estate listings. Returns paginated hits with facet counts. For AI-driven search, call interpret_search first to convert a natural-language query into structured filters, then pass those filters — and its bounds, when present — here.

Search commercial real estate listings. Returns paginated hits with facet counts. For AI-driven search, call interpret_search first to convert a natural-language query into structured filters, then pass those filters — and its bounds, when present — here.

No input schema was published for this tool.

get_listingRetrieve the full details of a single listing by its hashid. Returns the complete ListingResource projection including parcel data, all attribute details, and attachments. Broker contact is included only when the requesting user is authorised.

Retrieve the full details of a single listing by its hashid. Returns the complete ListingResource projection including parcel data, all attribute details, and attachments. Broker contact is included only when the requesting user is authorised.

No input schema was published for this tool.

interpret_searchTranslate a natural-language property-search sentence into a structured filter payload compatible with search_listings. Use this as a transparent intermediate step: pass the user's raw query here, then forward the returned filters — and the returned bounds, when present (they carry the "near <place>" intent) — to search_listings.

Translate a natural-language property-search sentence into a structured filter payload compatible with search_listings. Use this as a transparent intermediate step: pass the user's raw query here, then forward the returned filters — and the returned bounds, when present (they carry the "near <place>" intent) — to search_listings.

No input schema was published for this tool.

save_searchSave the current search as a named alert. The user will receive email digests when new matching listings appear. Requires authentication.

Save the current search as a named alert. The user will receive email digests when new matching listings appear. Requires authentication.

No input schema was published for this tool.

list_my_saved_searchesList the authenticated user's saved searches, including their filters and alert schedule. Requires authentication.

List the authenticated user's saved searches, including their filters and alert schedule. Requires authentication.

No input schema was published for this tool.

delete_saved_searchprivilegedDelete a saved search by its ID. Only the owner may delete their own searches. Requires authentication.

Delete a saved search by its ID. Only the owner may delete their own searches. Requires authentication.

No input schema was published for this tool.

list_my_listingsList all listings owned or brokered by the authenticated user. Optionally filter by status. Requires authentication.

List all listings owned or brokered by the authenticated user. Optionally filter by status. Requires authentication.

No input schema was published for this tool.

geocode_addressGeocode a free-form US address into coordinates and structured components (street_address, city, county, state, postal_code) plus a formatted address and place_id — exactly the identity fields create_listing requires. Use this first, then pass the result straight into create_listing instead of supplying your own coordinates.

Geocode a free-form US address into coordinates and structured components (street_address, city, county, state, postal_code) plus a formatted address and place_id — exactly the identity fields create_listing requires. Use this first, then pass the result straight into create_listing instead of supplying your own coordinates.

No input schema was published for this tool.

create_listingCreate a new draft listing. Returns the full created listing exactly as stored, including its hashid and status. Pass an idempotency_key (any client-generated string, e.g. a UUID) to make the call safe to retry — re-sending the same key returns the original listing instead of creating a duplicate.

Create a new draft listing. Returns the full created listing exactly as stored, including its hashid and status. Pass an idempotency_key (any client-generated string, e.g. a UUID) to make the call safe to retry — re-sending the same key returns the original listing instead of creating a duplicate.

No input schema was published for this tool.

update_listingUpdate a listing's parcel, pricing, or marketing data. Pass at least one group (parcel, pricing, marketing); send each group whole, not just the changed field. Returns the full updated listing exactly as stored.

Update a listing's parcel, pricing, or marketing data. Pass at least one group (parcel, pricing, marketing); send each group whole, not just the changed field. Returns the full updated listing exactly as stored.

No input schema was published for this tool.

set_listing_attributesSet broker-authored attributes on a listing you own. Pass `attributes` as a map of registry field name to value (the field names get_registry returns, e.g. {"attr_parking_spaces": 40, "attr_office_class": "Class A"}). Only fields get_registry marks "writable":true can be set; publish-time computed fields and hot columns (use update_listing for those) are rejected with guidance. Enum fields take the allowed value (or an array for multiselect); send null to clear a field. Returns the full updated listing.

Set broker-authored attributes on a listing you own. Pass `attributes` as a map of registry field name to value (the field names get_registry returns, e.g. {"attr_parking_spaces": 40, "attr_office_class": "Class A"}). Only fields get_registry marks "writable":true can be set; publish-time computed fields and hot columns (use update_listing for those) are rejected with guidance. Enum fields take the allowed value (or an array for multiselect); send null to clear a field. Returns the full updated listing.

No input schema was published for this tool.

attach_listing_photoAttach a photo to a listing you own directly from its public URL — one call, no separate sign/upload/confirm. The server fetches the image and ingests it with auto-generated thumbnail/hero/full variants. Only https image URLs whose host is publicly routable are accepted. The photo is content-moderated (must be real-estate related and safe) before it can appear publicly — the returned snapshot includes the moderation_status (approved / rejected / escalated) and moderation_reason. A rejected or escalated photo will not be publicly visible and will block publishing until removed or replaced.

Attach a photo to a listing you own directly from its public URL — one call, no separate sign/upload/confirm. The server fetches the image and ingests it with auto-generated thumbnail/hero/full variants. Only https image URLs whose host is publicly routable are accepted. The photo is content-moderated (must be real-estate related and safe) before it can appear publicly — the returned snapshot includes the moderation_status (approved / rejected / escalated) and moderation_reason. A rejected or escalated photo will not be publicly visible and will block publishing until removed or replaced.

No input schema was published for this tool.

sign_attachment_uploadprivilegedBegin an out-of-band file upload. Returns a presigned R2 PUT URL and the headers to use; the file bytes are uploaded directly to storage, never through this channel. After PUTting the file, call confirm_attachment_upload with the returned attachment_id. Supports listings (photos, documents), users (avatar), and pages (cover, photos).

Begin an out-of-band file upload. Returns a presigned R2 PUT URL and the headers to use; the file bytes are uploaded directly to storage, never through this channel. After PUTting the file, call confirm_attachment_upload with the returned attachment_id. Supports listings (photos, documents), users (avatar), and pages (cover, photos).

No input schema was published for this tool.

confirm_attachment_uploadprivilegedFinalize an out-of-band upload after the file bytes have been PUT to the presigned URL. Verifies the stored object matches what was signed (size and content-type) and marks the attachment ready. Returns the attachment snapshot with its public variant URLs. Idempotent: confirming an already-confirmed upload returns the same snapshot.

Finalize an out-of-band upload after the file bytes have been PUT to the presigned URL. Verifies the stored object matches what was signed (size and content-type) and marks the attachment ready. Returns the attachment snapshot with its public variant URLs. Idempotent: confirming an already-confirmed upload returns the same snapshot.

No input schema was published for this tool.

15 of 15 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Search commercial real estate listings. Reads need no token; authoring is self-serve OAuth (DCR).

Keywords
mcp
Alternatives
Comparing tool surfaces…

No dependency coverage

This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.