ground-motion
Measured ground motion per US address (NASA InSAR). Self-register, $0.40/report, misses free.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin get_account
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"ground-motion": {
"url": "https://sibfly.com/mcp"
}
}
}Remote-Endpunkte
https://sibfly.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟢check_ground_motion(address, lat, lon, explain, dry_run, ...)
Measured ground motion (sinking/uplift) for a US address or lat/lon, in mm/year AND in/year, from NASA OPERA Sentinel-1 InSAR. Costs $0.40 from your SibFly credits; out-of-coverage / too-stale / too-low-confidence / fuzzy-geocode return FREE. Use the gate params to avoid paying for data you'd reject. dry_run=true is a FREE coverage+cost preview.
Eingabe-Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "US street address"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"explain": {
"type": "boolean",
"description": "add ground_brief: ~600 tokens of plain-English narration + FAQ (engine GL52 free tier / CL46 paying). Adds ~10s latency. Only set when a human will read the output; use ask_inspector for follow-up Q&A."
},
"dry_run": {
"type": "boolean",
"description": "FREE preview: coverage + would_cost + data age, no rate, no charge"
},
"max_age_days": {
"type": "integer",
"description": "if data older than this, return free instead of billing"
},
"min_confidence": {
"type": "number",
"description": "0-1; below this, return free instead of billing"
},
"since": {
"type": "string",
"description": "YYYY-MM-DD; if no new data since this date, return free"
},
"require_significant": {
"type": "boolean",
"description": "if the rate would be no_clear_trend (within its error bar), return FREE instead of billing — never pay for statistical noise"
},
"compact": {
"type": "boolean",
"description": "lean payload (fewer tokens)"
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"no_data",
"no_coverage",
"stale_data",
"low_confidence",
"low_geocode_precision",
"no_new_data"
]
},
"velocity_vertical_mm_yr": {
"type": [
"number",
"null"
]
},
"velocity_vertical_in_yr": {
"type": [
"number",
"null"
]
},
"velocity_uncertainty_mm_yr": {
"type": [
"number",
"null"
]
},
"assessment_code": {
"type": [
"string",
"null"
],
"enum": [
"rapid_subsidence",
"notable_subsidence",
"stable",
"mild_uplift",
"strong_uplift",
"no_clear_trend",
null
]
},
"confidence": {
"type": [
"number",
"null"
]
},
"data_age_days": {
"type": [
"integer",
"null"
]
},
"near_threshold": {
"type": [
"boolean",
"null"
]
},
"cost_usd": {
"type": "number"
},
"credits_remaining_usd": {
"type": [
"number",
"null"
]
},
"ground_brief": {
"type": [
"string",
"null"
],
"description": "only when explain=true"
},
"engine": {
"type": [
"string",
"null"
],
"description": "narration engine: GL52 (free tier) or CL46 (paying)"
}
}
}🟢check_portfolio(addresses, max_spend_usd)
Batch ground-motion for many US addresses in one call. Only covered addresses are billed ($0.40 each); misses and duplicate cells are free. If credits run out mid-batch the response status is 'insufficient_credits' and unbilled items are marked — top up (buy_credits) and retry them.
Eingabe-Schema
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "up to 1000 US addresses (must be an ARRAY, not one string)"
},
"max_spend_usd": {
"type": "number",
"description": "hard budget cap: billing stops at this total; over-budget items come back skipped_for_budget"
}
},
"required": [
"addresses"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"summary": {
"type": "object"
},
"results": {
"type": "array",
"items": {
"type": "object"
}
},
"credits_remaining_usd": {
"type": [
"number",
"null"
]
}
}
}🟢get_coverage(address, lat, lon, addresses)
FREE pre-flight: is a US address/point covered, how stale is the data (data_age_days), and what a report would cost. Accepts ONE address/lat+lon, OR addresses[] (up to 1000, needs your Bearer key) to size a whole job before spending. Call this before spending.
Eingabe-Schema
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "batch mode: size a whole job in one free call"
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"covered": {
"type": "boolean"
},
"frame": {
"type": [
"string",
"null"
]
},
"data_age_days": {
"type": [
"integer",
"null"
]
},
"would_cost_usd": {
"type": [
"number",
"null"
]
},
"summary": {
"type": [
"object",
"null"
]
},
"results": {
"type": [
"array",
"null"
]
}
}
}🟢get_motion_history(address, lat, lon, from_date, to_date, ...)
Multi-year cumulative motion history for an address. Pass from_date and to_date (YYYY-MM-DD) to get the movement between two dates. Costs $0.40 (misses free). dry_run=true is a FREE preview (points + dates + cost, no data); max_age_days returns free instead of billing for stale data.
Eingabe-Schema
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"from_date": {
"type": "string"
},
"to_date": {
"type": "string"
},
"dry_run": {
"type": "boolean",
"description": "FREE preview: coverage + n_points + would_cost, no series, no charge"
},
"max_age_days": {
"type": "integer",
"description": "if data older than this, return free instead of billing"
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"dates": {
"type": "array"
},
"cum_mm": {
"type": "array"
},
"delta": {
"type": [
"object",
"null"
]
},
"cost_usd": {
"type": "number"
},
"credits_remaining_usd": {
"type": [
"number",
"null"
]
}
}
}🟢get_account
FREE: your SibFly credit balance, price per report, reports remaining, and top-up URL.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"credits_usd": {
"type": "number"
},
"price_per_report_usd": {
"type": "number"
},
"reports_remaining_est": {
"type": "integer"
},
"top_up_url": {
"type": "string"
}
}
}🟡register_agent(email, password)
FREE: create a new SibFly account and get an API key + free starter credits in ONE call — no human, no captcha, no card. Use this when you have no API key. SAVE the returned api_key and pass it as the Bearer token on later calls (MCP clients: set it as the Authorization header).
Eingabe-Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "a durable email address (disposable domains rejected)"
},
"password": {
"type": "string",
"description": "optional; auto-generated and returned if omitted"
}
},
"required": [
"email"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"api_key": {
"type": "string"
},
"credits_usd": {
"type": "number"
},
"price_per_report_usd": {
"type": "number"
},
"reports_remaining": {
"type": "integer"
},
"password": {
"type": "string"
}
}
}🟢buy_credits(amount_usd, method)
Get a machine-usable payment link to top up credits (requires your Bearer API key). method 'stripe' returns a card checkout_url; 'crypto' returns a BTC invoice_url + txn_id. Open/relay the URL to complete payment; credits land automatically afterwards — confirm with get_account.
Eingabe-Schema
{
"type": "object",
"properties": {
"amount_usd": {
"type": "number",
"description": "1 to 10000 (USD)"
},
"method": {
"type": "string",
"enum": [
"stripe",
"crypto"
],
"description": "default stripe (card)"
}
},
"required": [
"amount_usd"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"method": {
"type": "string"
},
"checkout_url": {
"type": [
"string",
"null"
]
},
"invoice_url": {
"type": [
"string",
"null"
]
},
"txn_id": {
"type": [
"string",
"null"
]
},
"amount_usd": {
"type": "number"
},
"status": {
"type": "string"
}
}
}🟢ask_inspector(question, address)
FREE follow-up Q&A with the SibFly Inspector about a report you ALREADY BOUGHT (buy via check_ground_motion first). Ask what the numbers mean for foundations, staleness, seasonal swings, etc. It answers only from the report's numbers (never invents), and won't give buy/walk-away advice. Per-account message allowance applies.
Eingabe-Schema
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "your question about the report"
},
"address": {
"type": "string",
"description": "the address of a report already purchased on this account"
}
},
"required": [
"question",
"address"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"reply": {
"type": "string"
}
}
}🟢get_usage(limit)
FREE: your recent billed calls (line-item ledger with request_id, endpoint, address, cost) so you can reconcile spend against reports.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "max rows, default 100, max 1000"
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"spent_today_usd": {
"type": "number"
},
"items": {
"type": "array",
"items": {
"type": "object"
}
}
}
}Community
Nachweis