{"protocolVersion":"1.2.0","name":"geo.qa","description":"A managed deployment of the open emem protocol. Ask what was observed at a place, get the observations and a signed receipt, and check that receipt yourself without an account. Satellite facts are signed by emem.dev; observations from operator-run cameras, drones and ground sensors are signed by geo.qa. Both keys are published.","url":"https://geo.qa/api/mcp","preferredTransport":"JSONRPC","version":"1.0.0","documentationUrl":"https://geo.qa/llms.txt","iconUrl":"https://geo.qa/icon.png","provider":{"organization":"Vortx AI","url":"https://vortx.ai"},"additionalInterfaces":[{"protocol":"mcp-streamable-http","transport":"JSONRPC","url":"https://geo.qa/api/mcp"},{"protocol":"openapi-3.0","transport":"HTTP+JSON","url":"https://geo.qa/api/public-docs/openapi"},{"protocol":"oauth-protected-resource","transport":"HTTP+JSON","url":"https://geo.qa/.well-known/oauth-protected-resource"},{"protocol":"well-known-json","transport":"HTTP+JSON","url":"https://geo.qa/.well-known/geoqa.json"}],"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false,"extensions":[{"uri":"https://geo.qa/spec/verify/v1","required":false,"description":"Unauthenticated verification. Re-check any receipt this service issued, fetch the ed25519 root of trust, and pull RFC 6962 inclusion and consistency proofs from the append-only log. No credential, now or ever. A receipt a stranger cannot check without an account is not a receipt.","params":{"verify_token":"https://geo.qa/api/world-model/verify","verify_receipt":"https://geo.qa/api/world-model/verify/receipt","verify_batch":"https://geo.qa/api/world-model/verify/batch","log_head":"https://geo.qa/api/world-model/verify/log/sth","inclusion_proof":"https://geo.qa/api/world-model/verify/log/proof/{cid}","consistency_proof":"https://geo.qa/api/world-model/verify/log/consistency?first=&second=","root_of_trust":"https://geo.qa/.well-known/geoqa.json"}},{"uri":"https://geo.qa/spec/access-ladder/v1","required":false,"description":"A refusal from a metered route is an offer, not a dead end. The body lists every way to reach that exact resource, marked by whether a machine can take it alone. x402 offers appear in accepts[] when a payment facilitator is configured here, and the array is empty rather than fictional when it is not.","params":{"x402Version":"1","settlement_configured":"false","resource_metadata":"https://geo.qa/.well-known/oauth-protected-resource"}}]},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"on_","description":"A long-lived key minted at https://geo.qa/chat/account/api-keys. Accepted as Authorization: Bearer on_… or X-API-Key: on_…"}},"security":[{"apiKey":[]}],"skills":[{"id":"detect_objects","name":"Detect objects in an image","description":"Open-vocabulary detection on one image. Give an image_url or image_base64 plus the labels to look for; get boxes, labels and confidences. Needs no credential, bounded per IP.","tags":["vision","detection","open"],"examples":["tools/call {\"name\":\"detect_objects\",\"arguments\":{\"image_url\":\"https://emem.dev/v1/cells/defi.zb4e6.fIsI.hujO/scene.png\",\"prompts\":[\"person\",\"vehicle\"]}}"],"inputModes":["application/json"],"outputModes":["application/json"],"security":[]},{"id":"classify_land_cover","name":"Classify land cover","description":"Land use and land cover for a bounding box or polygon, from satellite. Returns class labels with fractional coverage. Metered.","tags":["satellite","landcover","metered"],"examples":["tools/call {\"name\":\"classify_land_cover\",\"arguments\":{\"bounds\":{\"north\":25.28,\"south\":25.27,\"east\":55.30,\"west\":55.29}}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"analyze_scene","name":"Describe a scene","description":"Vision-language description of one frame, optionally answering a question about it. Prose from a language model: it is returned unasserted and carries no signature. Metered.","tags":["vision","vlm","metered"],"examples":["tools/call {\"name\":\"analyze_scene\",\"arguments\":{\"image_url\":\"https://emem.dev/v1/cells/defi.zb4e6.fIsI.hujO/scene.png\",\"prompt\":\"is the road flooded?\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]}],"geoqa:provenance":{"satellite":{"signer":"emem.dev","protocol":"https://emem.dev","note":"Satellite observations are emem-signed. geo.qa does not re-sign them."},"derived":{"signer":"geoqa","kid":"geoqa-2026-06","key":"https://geo.qa/.well-known/geoqa.json","note":"Fused units, alerts, answers and operator-sensor observations."},"unasserted":{"note":"Prose written by a language model is returned with answer_verified: false and carries no signature. Only claims and receipts are asserted."}}}