# Spatly > One project, one map, four publishable experiences: scroll stories, spatial slides, live dashboards and embeddable insight containers. Fed by live data, controllable by agents over MCP. Spatly is a spatial studio. In one project on one map and data layer you design, publish and operate four experience types: scroll-driven map stories, spatial slide decks, live dashboards and embeddable insight containers. Data comes from uploaded files, refreshing URLs, authenticated REST APIs and webhooks. Every published surface has a link, an OG image, an iframe embed and a one-line script embed. Agents drive the same studio over MCP and a public REST API. ## Surfaces - Stories: scroll-driven map narrative, a sticky map with a chapter column, camera and layers tweened against scroll progress. - Slides: 16:9 spatial slide decks on the same map beats, with presenter mode, notes and a laser. - Dashboards: live, linked widgets over a map, viewport KPIs, an actions graph, as-of stamps and stale states. - Insight containers: a compact card with a mini map and KPIs that expands into the full workspace, built to embed in any page. ## For agents (MCP + REST) - MCP endpoint (streamable HTTP): https://spatly.io/mcp (Authorization: Bearer ) - MCP over stdio: npx -y @spatly/mcp - REST API base: https://spatly.io/api/v1 (published payload: https://spatly.io/api/v1/published/) - MCP reference: https://spatly.io/docs/mcp - REST API reference: https://spatly.io/docs/api - Embed reference: https://spatly.io/docs/embed What an agent can do (read tools on every plan, write tools scoped by token): - list_projects, get_project, create_project - list_layers, describe_layer, query_features (bbox + attribute filter, paginated, budget-capped) - search_features, spatial_filter, geocode, reverse_geocode - list_beats, set_map_view, create_story_chapter - list_kpis, get_kpi_value, query_timeseries - create_insight_container, publish_share_link Agent-safe by construction: every list paginates, query_features is capped (500 rows per call, 60 calls per minute by default) and can require a bbox. ## Docs - [Getting started](https://spatly.io/docs/getting-started): make the first story, slide, dashboard or insight. - [MCP server](https://spatly.io/docs/mcp): connect Claude, Cursor, Copilot or ChatGPT to a workspace. - [REST API](https://spatly.io/docs/api): read published surfaces, datasets and features. - [Embed](https://spatly.io/docs/embed): the script tag, the loader and the postMessage events. - [Data and live sources](https://spatly.io/docs/data): formats, refresh policy, cache and health. - [Spatly Marks](https://spatly.io/docs/marks): the first-party map and UI mark kit. ## Use cases - [Make a scrollytelling map](https://spatly.io/make/scrollytelling-map): Build a scroll-driven map story where the camera, layers and filters move as the reader scrolls. Sticky map, chapter column, live data, published as a link or an embed. - [Build a live map dashboard](https://spatly.io/make/build-a-live-map-dashboard): Build a spatial dashboard where a map and linked widgets answer each other: KPIs recompute for the viewport, a bar chart filters the map, a table flies to a feature. Live data, as-of stamps and stale states. - [Turn a GeoJSON into an interactive map](https://spatly.io/make/turn-a-geojson-into-an-interactive-map): Upload a GeoJSON or point at a URL and get an interactive map you can style, filter and publish. Classified, interpolated or categorical colour, labels, popups and an embed in minutes. - [Turn a CSV with coordinates into a map](https://spatly.io/make/turn-a-csv-with-coordinates-into-a-map): Upload a CSV with latitude and longitude columns, or an address column, and get an interactive map. Auto-detected coordinates, geocoding for addresses, styling by any column and an embed. - [Make a choropleth map](https://spatly.io/make/make-a-choropleth-map): Make a choropleth map that shades regions by a value: quantile, natural-breaks or interpolated classes, a readable legend and a popup. Join a CSV to boundaries and publish or embed. - [Embed an interactive map on your website](https://spatly.io/make/embed-an-interactive-map-on-your-website): Embed a live, interactive Spatly map on any website with one script tag. A compact insight card that expands into the full workspace, resizes to its content and posts events you can listen to. - [Make a 3D map](https://spatly.io/make/make-a-3d-map): Make a 3D map: extrude polygons by a value, tilt and rotate the camera, add terrain, and publish an interactive scene. Height by data, a pitched beat and an embed, no code. - [Create a spatial slide deck](https://spatly.io/make/create-a-spatial-slide-deck): Create a spatial slide deck where each slide is a map state plus a layout. Presenter mode with notes and a laser, keyboard and swipe navigation, and one-click build from a scroll story. - [Map earthquakes live](https://spatly.io/make/map-earthquakes-live): Map earthquakes live from the USGS feed on a dashboard that refreshes on its own. Magnitude and depth styling, a time slider, viewport KPIs, an as-of stamp and stale states. ## For teams - [Spatly for journalists](https://spatly.io/for/journalists): Build scroll-driven map stories and live dashboards for the newsroom. Turn a dataset into a published, embeddable spatial story in an afternoon, with sourcing and licences on the page. - [Spatly for urban planners](https://spatly.io/for/urban-planners): Brief a council or a community with a map that moves. Turn zoning, transport and growth data into spatial slide decks and dashboards, published as links, embeds or a live presentation. - [Spatly for climate and ESG teams](https://spatly.io/for/climate-and-esg-teams): Turn emissions, exposure and asset data into choropleth maps, scroll stories and live dashboards. Publish an ESG disclosure map or a climate explainer as a link or an embed, with sources on the page. - [Spatly for operations and field teams](https://spatly.io/for/operations-and-field-teams): Run a live operations wall on your own data. Linked map and widgets, viewport KPIs, an actions graph, as-of stamps and stale states, themed for a high-contrast operations display. - [Spatly for researchers](https://spatly.io/for/researchers): Turn a research dataset into an interactive, publishable map. Style by any field, filter and animate over time, keep the sources and licences on the page, and embed the result in a paper or a site. ## Key pages - [Explore](https://spatly.io/explore): a gallery of public surfaces made with Spatly, on open data. - [Templates](https://spatly.io/templates): published stories, slides, dashboards and insight containers to copy. - [Pricing](https://spatly.io/pricing): Free, Pro ($29/mo, $290/yr) and Team ($79/mo, $790/yr); all four surfaces, embeds, REST API and MCP on every plan. - [Agents](https://spatly.io/agents): the MCP server and REST API for AI agents. ## Data sources used by the public examples - NASA Open Data (Meteorite Landings), USGS Earthquake Catalog, WRI Global Power Plant Database (CC BY 4.0), Smithsonian Global Volcanism Program, Our World in Data CO2 (CC BY 4.0), Natural Earth, wheretheiss.at.