{"capabilities":{"pushNotifications":false,"streaming":false},"defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","application/geo+json","application/ld+json","text/turtle"],"description":"The agentic-first geospatial intelligence market and C2 data plane: discover, evaluate, license, purchase and task geospatial intelligence data from open, commercial and government-channel sources.","interfaces":{"c2":{"capabilities":"https://terrafabric.world/api/v1/c2/capabilities"},"cli":{"describe":"https://terrafabric.world/api/v1/describe?iri=tfr:cli/tfab","ontology":"https://terrafabric.world/ont/cli","program":"tfab"},"mcp":{"protocolVersion":"2025-06-18","transport":"streamable-http","url":"https://terrafabric.world/api/mcp"},"ontology":{"graph":"https://terrafabric.world/api/v1/graph","jsonld_context":"https://terrafabric.world/api/v1/ontology/context.jsonld","turtle":"https://terrafabric.world/api/v1/ontology.ttl"},"rest":{"openapi":"https://terrafabric.world/api/openapi.json","tools":"https://terrafabric.world/api/v1/agent/tools"}},"name":"TerraFabric","policies":{"pricing":"Commercial prices are indicative list prices.","spending":"Agents act under principal-issued spending mandates; over-mandate orders require human approval."},"preferredTransport":"JSONRPC","protocolVersion":"0.3.0","provider":{"email":"terrafabric@nervosys.ai","organization":"NERVOSYS"},"skills":[{"description":"Search the TerraFabric catalog of open, commercial and government-channel geospatial intelligence sources: Earth observation (raw to finished products), aircraft and vessel tracks, RF, cellular and network data, weather and forecasts, mobility and events, infrastructure, industry, energy, minerals, AI and the defense industrial base, trade, logistics, capital flows and markets. Supports free text with operational synonyms (e.g. 'radar', 'ship', 'methane'), facets and spatial/temporal filters. access=restricted lists government-only sources (discoverable, never orderable). Returns ranked collections with facet counts.","id":"search_collections","name":"Search EO collections","tags":["earth-observation","geospatial"]},{"description":"Full record for one collection including specs, licence, access endpoints (STAC APIs, S3 buckets, broker), pricing offer and JSON-LD.","id":"get_collection","name":"Get collection detail","tags":["earth-observation","geospatial"]},{"description":"Find STAC items (scenes/granules) for a collection over a bbox and time interval. Open collections are searched live against their upstream STAC APIs (tf:source.kind = live, each item links to its upstream record); commercial collections, or open ones whose upstream is unavailable, return simulated items flagged tf:synthetic.","id":"search_items","name":"Search items (scenes)","tags":["earth-observation","geospatial"]},{"description":"All data providers (space agencies, government bodies, commercial operators, academic and non-profit producers) with their collection counts.","id":"list_providers","name":"List providers","tags":["earth-observation","geospatial"]},{"description":"Overview of the TerraFabric Ontology: modules, classes, properties and counts. Use this first to learn the vocabulary for query_graph.","id":"describe_ontology","name":"Describe the TerraFabric ontology","tags":["earth-observation","geospatial"]},{"description":"All triples about a class, property, vocabulary term or catalog entity, e.g. 'tf:Collection', 'tf:gsdMeters', 'tf:modality-sar', 'tfr:collection/sentinel-2-l2a'.","id":"describe_term","name":"Describe an ontology term or entity","tags":["earth-observation","geospatial"]},{"description":"Linked-data-fragments style triple pattern query over the full knowledge graph (ontology + catalog). Any of s/p/o may be omitted as a wildcard. Use CURIEs (tf:, tfr:, dct:, ...). Literal objects match by value.","id":"query_graph","name":"Triple-pattern query","tags":["earth-observation","geospatial"]},{"description":"Price a data acquisition. Open data returns a $0 quote. Commercial data is priced by area × rate with minimum area, licence tier uplift and (for tasking) priority uplift. Quotes are valid for 24h.","id":"get_quote","name":"Get a price quote","tags":["earth-observation","geospatial"]},{"description":"Principal-issued spending policy for an agent: per-order limit, total budget and permitted licence tiers. Orders outside the mandate wait for approval. Issuing returns a principal_token once; changing an existing mandate requires it. An agent cannot issue its own mandate.","id":"set_mandate","name":"Set agent spending mandate","tags":["earth-observation","geospatial"]},{"description":"Order from a quote on behalf of the calling agent. Within mandate → confirmed; otherwise 'awaiting_approval' with an approve action for the principal. Commits spend.","id":"place_order","name":"Place an order","tags":["earth-observation","geospatial"]},{"description":"Order status, history, delivery links and next actions.","id":"get_order","name":"Get order status","tags":["earth-observation","geospatial"]},{"description":"Approve an order that exceeded an agent's mandate. Requires the principal token issued with that agent's mandate (or the operator key). Must only be invoked on explicit instruction from the human principal; an agent never holds its own principal's token.","id":"approve_order","name":"Approve an order (principal)","tags":["earth-observation","geospatial"]},{"description":"Given an AOI, time window and constraints, rank every source (free archive, commercial archive, tasking) by expected collections, time-to-first-data, resolution and cost, and propose a layered collection plan.","id":"assess_coverage","name":"Assess coverage for a requirement (C2)","tags":["earth-observation","geospatial"]},{"description":"Task a sensor to satisfy a collection requirement. If no collection is given the best taskable option is chosen. Creates a quote and a tracked tasking request.","id":"submit_tasking","name":"Submit a tasking request (C2)","tags":["earth-observation","geospatial"]},{"description":"Status and timeline of a tasking request.","id":"get_tasking","name":"Get tasking status (C2)","tags":["earth-observation","geospatial"]},{"description":"Every open-licence, non-restricted source in the fabric with its licence, required attribution and direct access endpoints (STAC APIs, S3 buckets). No commercial data.","id":"osint_sources","name":"List open (OSINT) sources","tags":["earth-observation","geospatial"]},{"description":"Rank open-licence sources for an AOI and time window (past windows use open archives), with licence, attribution, access endpoints and sample scenes. Never returns commercial data or costs.","id":"osint_assess","name":"Assess open-data coverage (OSINT)","tags":["earth-observation","geospatial"]},{"description":"Create a private watch that records new open-data acquisitions over an AOI. The returned id is the only way to read it; keep it.","id":"create_watch","name":"Watch an AOI for new open data (OSINT)","tags":["earth-observation","geospatial"]},{"description":"A watch with its most recent open-data matches (newest first).","id":"get_watch","name":"Get watch matches (OSINT)","tags":["earth-observation","geospatial"]},{"description":"Stateless analyst-supplied hidden-state inference, candidate observation ranking and label evaluation. No trained classifier, verified labels or physical fire-risk forecast is bundled. Missing passes are unobserved, never invented absences. Does not schedule or submit satellite tasking.","id":"analyze_thermal","name":"Analyze thermal evidence (OSINT)","tags":["earth-observation","geospatial"]},{"description":"Explicitly persist the supplied model, inference and optional complete indexed NASA snapshot for a real watch AOI and model time window. Evidence never changes inference. Limits: 10,000 detections / 8 MiB per packet, 500 packets / 256 MiB total. Keep the returned capability ID private; it grants read/delete access. No public listing or user-account isolation. Not scheduled monitoring.","id":"save_thermal_run","name":"Save private thermal run (OSINT)","tags":["earth-observation","geospatial"]},{"description":"Read an immutable saved model, analysis and geolocated evidence packet using its private capability ID. Retain source geometry, timestamps, provenance and simulation labels. No listing or live refresh of the stored packet.","id":"get_thermal_run","name":"Read private thermal run (OSINT)","tags":["earth-observation","geospatial"]},{"description":"Delete only the saved run identified by its private capability ID. Does not delete its linked watch or public NASA index evidence. Use only when deletion is requested.","id":"delete_thermal_run","name":"Delete private thermal run (OSINT)","tags":["earth-observation","geospatial"]},{"description":"Read-only SPARQL 1.1 over the full TerraFabric graph (ontology + catalog). Use PREFIX tf: <https://terrafabric.world/ont#> and tfr: <https://terrafabric.world/id/>. SELECT/ASK return SPARQL JSON results (capped at 10,000 rows, flagged truncated); CONSTRUCT/DESCRIBE return Turtle. Updates and SERVICE are refused.","id":"sparql_query","name":"SPARQL query over the knowledge graph","tags":["earth-observation","geospatial"]},{"description":"When will this collection's satellites next pass over an area? SGP4 propagation of public orbital elements for the open constellations (Sentinel-1/2/3/5P, Landsat, MODIS, VIIRS, ICESat-2, ISS instruments, NISAR). Optical collections mark night passes unusable. Geometry only: not every pass is imaged and cloud is not modelled. Window defaults to the next 7 days, max 14.","id":"predict_passes","name":"Predict satellite passes over an AOI","tags":["earth-observation","geospatial"]},{"description":"Turn an observable and a place into an observation plan, for requests like 'monitor maritime traffic in the Strait of Hormuz'. Returns the resolved area, the data layers that answer the need and a priced bill of materials. Each line is a stored quote valid for 24h; nothing is ordered.","id":"plan_observation","name":"Plan an observation","tags":["earth-observation","geospatial"]},{"description":"Look up a named place worldwide (country, region, town, neighbourhood, sea, strait, island, mountain, airport, port, postcode ...) in TerraFabric's gazetteer of about twenty million names from OpenStreetMap (via Overture Maps) and GeoNames. Names match exactly after folding case, accents and punctuation; add the region or country after a comma to pick one namesake ('Paris, Texas'). Each result has a point, a bbox (bbox_estimated is true when only a point is known) and its context. Use the bbox as the area for search_items or plan_observation.","id":"find_place","name":"Find a place by name","tags":["earth-observation","geospatial"]},{"description":"Locate a street address: house number and street, then the town and/or postcode after a comma ('1600 Pennsylvania Avenue NW, Washington, DC 20500'). Covers the openly licensed addresses published by Overture Maps (about 290 million, in 26 countries including the United States, most of Europe, Canada (Quebec), Japan and Taiwan). match is 'exact' only when the number and every street word agree; 'street' means the number was not found and the street's centre is given.","id":"find_address","name":"Find a street address","tags":["earth-observation","geospatial"]},{"description":"Name the nearest places to a point and give a one-line description such as '12 km NE of Austin, Texas, United States'. Distances are great-circle; being inside an area is not implied.","id":"describe_location","name":"Describe where a point is","tags":["earth-observation","geospatial"]},{"description":"Search the public index of artifact locations (observations, scenes, detections, reports) by area, time, collection and text. Returns GeoJSON features with their source timestamps. Only already indexed public artifacts are returned; follow nextCursor for more.","id":"search_artifact_locations","name":"Search indexed artifact locations","tags":["earth-observation","geospatial"]},{"description":"The latest position report per aircraft or vessel in an area, as GeoJSON points. Every feature carries its pedigree (tf:pedigree: the originating publisher, source URL and when it was received) and its quality (tf:quality: 95 % horizontal position error in metres, whether that was reported by the emitter or is unknown, and the update interval). properties.datetime is when the position was observed. Collections: adsblol-flights (aircraft, worldwide, needs a bbox of at most about 1,900 km × 1,300 km), digitraffic-marine-ais (vessels, Finnish and nearby Baltic waters), tf-fused-air-tracks (one feature per aircraft across publishers, listing tf:contributors). Use since to poll only what changed.","id":"get_tracks","name":"Get live aircraft or vessel tracks","tags":["earth-observation","geospatial"]}],"url":"https://terrafabric.world/api","version":"0.1.0"}