Commercial real estate listings and market intelligence for AI agents.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 1 month ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The SpaceXploration MCP server exposes 20 tools, focused primarily on general-purpose capabilities. Its published description reads: "Commercial real estate listings and market intelligence for AI agents". It communicates over Streamable HTTP using the 2026-07-28 protocol revision, and does not require authorization to connect. MCPGrade currently rates SpaceXploration F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Cross-tool shadowing" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check SpaceXploration's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add SpaceXploration to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://spacexploration.com/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
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 a
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 pa
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 o
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, the
Save the current search as a named alert. The user will receive email digests when new matching listings appear. Requires authentication.
List the authenticated user's saved searches, including their filters and alert schedule. Requires authentication.
Delete a saved search by its ID. Only the owner may delete their own searches. Requires authentication.
List all listings owned or brokered by the authenticated user. Optionally filter by status. Requires authentication.
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_
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 saf
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
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_cla
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 varian
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 confi
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. Retur
Delete an attachment you own by its ULID. Soft-deletes the row so it no longer appears on the listing. Use this to clean up an abandoned upload (one you signed but never finished) or a photo you no lo
Kick off the publish pipeline for a draft listing. Enriches with AI, gathers market data, then transitions the listing to Active. Returns the pipeline ID to track progress. Fails with the unmet readin
Get the status of your listing publishes. Pass a listing hashid for the detailed status of that listing's latest publish run — overall state (pending/running/completed/failed), current phase, per-step
Withdraw a listing, removing it from public search. This is a terminal status — the listing cannot be re-activated; create a new listing instead.
File feedback or a support ticket with the SPACEXPLORATION team: a bug report, feature request, question, or anything you would improve about the app or the MCP experience. Works anonymously — include
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: get_registry
A tool description tries to alter the model’s use of another tool.
before calling search_listings with attribute filters.RecommendationDescriptions must describe only their own tool.
tool: search_listings
A tool description tries to alter the model’s use of another tool.
en search, call interpret_search first to convert a natural-language query intoRecommendationDescriptions must describe only their own tool.
tool: interpret_search
A tool description tries to alter the model’s use of another tool.
compatible with search_listings. Use this as a transparent intermediate step: pRecommendationDescriptions must describe only their own tool.
tool: geocode_address
A tool description tries to alter the model’s use of another tool.
your own coordinates.RecommendationDescriptions must describe only their own tool.
tool: create_listing
A tool description tries to alter the model’s use of another tool.
a duplicate.RecommendationDescriptions must describe only their own tool.
tool: set_listing_attributes
A tool description tries to alter the model’s use of another tool.
the field names get_registry returns, e.g. {"attr_parking_spaces": 40, "attrRecommendationDescriptions must describe only their own tool.
tool: attach_listing_photo
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "source_url"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: sign_attachment_upload
A tool description tries to alter the model’s use of another tool.
the file, call confirm_attachment_upload with the returned attachment_id. Supports listiRecommendationDescriptions must describe only their own tool.
tool: get_publish_status
A tool description tries to alter the model’s use of another tool.
this to track a publish_listing call to completion.RecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: delete_saved_search
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: create_listing
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_listing"RecommendationScope tools to the minimum needed.
tool: attach_listing_photo
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "attach_listing_photo"RecommendationScope tools to the minimum needed.
tool: sign_attachment_upload
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "sign_attachment_upload"RecommendationScope tools to the minimum needed.
tool: confirm_attachment_upload
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "confirm_attachment_upload"RecommendationScope tools to the minimum needed.
tool: delete_attachment
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: withdraw_listing
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.