{"data":{"name":"com.geobble/geobble","title":"Geobble","description":"Geospatial workspace: manage sources and maps, run spatial analysis, and publish interactive maps","version":"1.0.0","websiteUrl":null,"repositoryUrl":"https://github.com/giseity/geobble","remotes":[{"url":"https://api.geobble.com/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-16T16:05:02.419Z","updatedAt":"2026-10-16T16:05:02.419Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"Geobble","source":"official-registry","sourceId":"com.geobble/geobble","updatedAt":"2026-10-16T16:05:02.419Z","confidence":100,"websiteUrl":null,"description":"Geospatial workspace: manage sources and maps, run spatial analysis, and publish interactive maps","verification":"official","repositoryUrl":"https://github.com/giseity/geobble"}],"toolIndex":{"tools":[{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"account_list","title":"List available Geobble accounts","description":"List the personal and organization accounts that can own new geospatial work — projects, datasets, maps, collections — including the handle the create tools require.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"6a5059bbf871c4b4558c4da97d697949fa76d87fdc67f750f62771ad0575b36d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"capabilities","title":"Describe Geobble capabilities","description":"Describe this server's geospatial capabilities: authoring and editing GIS projects and maps, spatial analysis, publishing interactive web maps, and moving geospatial data in and out.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"8ce88eb60a57be7ef91cdd061ce4a4650baebb64c2d704f82860f02eaf080147","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"collection_create","title":"Create a private collection","description":"Create a collection — a curated group of geospatial datasets — under an accessible account.","inputSchema":{"type":"object","properties":{"ownerHandle":{"type":"string","minLength":3,"maxLength":64},"collection":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":128},"slug":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z0-9-]+$"},"description":{"default":"","type":"string","maxLength":500},"about":{"default":"","type":"string"},"subjectTags":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":96}},"countryCodes":{"maxItems":50,"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"geographicScope":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]},"collectionKind":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"updateCadence":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"versionLabel":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]},"originalCreator":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"originalUrl":{"anyOf":[{"type":"string","maxLength":1024,"format":"uri"},{"type":"null"}]},"licenceName":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}]},"licenceUrl":{"anyOf":[{"type":"string","maxLength":1024,"format":"uri"},{"type":"null"}]},"reviewStatus":{"type":"string","enum":["CURRENT","NEEDS_REVIEW","IN_REVIEW","STALE"]},"reviewDueAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"lastReviewedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["title","slug"]}},"required":["ownerHandle","collection"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false},"definitionHash":"c3f809011870797d62a526df5c846bca20dc103c075b7b93b4e22388701d2610","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"collection_update_metadata","title":"Update collection metadata","description":"Update the title, description, and visibility metadata of a geospatial collection.","inputSchema":{"type":"object","properties":{"collectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"patch":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":128},"description":{"type":"string","maxLength":500},"about":{"type":"string"},"subjectTags":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":96}},"countryCodes":{"maxItems":50,"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"geographicScope":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]},"collectionKind":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"updateCadence":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"versionLabel":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]},"originalCreator":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"originalUrl":{"anyOf":[{"type":"string","maxLength":1024,"format":"uri"},{"type":"null"}]},"licenceName":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}]},"licenceUrl":{"anyOf":[{"type":"string","maxLength":1024,"format":"uri"},{"type":"null"}]},"reviewStatus":{"type":"string","enum":["CURRENT","NEEDS_REVIEW","IN_REVIEW","STALE"]},"reviewDueAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"lastReviewedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}}},"required":["collectionId","patch"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"2853ada69acbf795bc7e8d11d8e1e50fd729b8e3c7fc984d548e2dcd602f17fd","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"get","title":"Get a Geobble resource","description":"Get one accessible geospatial resource: a dataset (source), project, published map, or collection.","inputSchema":{"type":"object","properties":{"kind":{"type":"string","enum":["collection","project","map","source"]},"identifier":{"type":"string","minLength":1,"maxLength":256}},"required":["kind","identifier"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"b3859a4dd447dd430564a37889ba7a7d3afda3b7348b452ec29ffdbca07384e9","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"map_get","title":"Get a map and its delivery links","description":"Get a published interactive map: its active publication, canonical URL, and iframe embed markup when public embedding is enabled.","inputSchema":{"type":"object","properties":{"mapId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["mapId"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"7c01e1b5d027d49677293778d4d0d4e0bf769e904eeb997147d79ac60d4ef427","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"map_view","title":"Display a Geobble map","description":"Render an accessible published map with its preview, delivery state, and canonical link.","inputSchema":{"type":"object","properties":{"mapId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["mapId"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"6df369169b594cd9f756ebf719cdd49d510f8371778b55e74097c79ba33676cb","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"profile","title":"Get the connected Geobble profile","description":"Return the connected Geobble account: identity, display name, email, and handle. Use it to confirm which geospatial workspace is connected.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"d42a380f1c59311d2c3a438bfe6e7fd6193eeb0765c9189fa59a0ab7d19227d3","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_add_layer","title":"Add a project layer","description":"Add a map layer to a project from a dataset, collection, or map already present in its context. expectedSpecVersion is required to prevent stale writes.","inputSchema":null,"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"c4434a1aab09cdb8780639934010c1bf856150b10b0f78478b8a8c89922997f8","schemaStatus":"too-large","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_analyze_mobility","title":"Analyze project mobility","description":"Queue provider-backed mobility analysis: routing, reachability and isochrones, nearest, travel-time metrics, or map-matching.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"input":{"type":"object","properties":{"mode":{"default":"preview","type":"string","enum":["preview","materialize"]},"profile":{"default":"driving","type":"string","enum":["driving","walking","cycling","truck"]},"operation":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"route"},"locations":{"minItems":2,"maxItems":25,"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","minimum":-180,"maximum":180},"latitude":{"type":"number","minimum":-90,"maximum":90},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256}},"required":["longitude","latitude"],"additionalProperties":false}},"alternatives":{"default":0,"type":"integer","minimum":0,"maximum":3}},"required":["type","locations"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"reachability"},"origins":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"coordinates"},"values":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","minimum":-180,"maximum":180},"latitude":{"type":"number","minimum":-90,"maximum":90},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256}},"required":["longitude","latitude"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"resource"},"resource":{"type":"string","pattern":"^(source|derived):[0-9a-f-]{36}$"},"idField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"labelField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"maxPoints":{"default":500,"type":"integer","minimum":1,"maximum":500}},"required":["type","resource"],"additionalProperties":false}]},"output":{"default":"contours","type":"string","enum":["contours","h3"]},"contourMinutes":{"default":[15,30],"minItems":1,"maxItems":4,"type":"array","items":{"type":"integer","minimum":1,"maximum":240}},"extent":{"type":"array","prefixItems":[{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90},{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90}]},"detail":{"default":"auto","type":"string","enum":["auto","coarse","standard","detailed"]},"h3Resolution":{"type":"integer","minimum":4,"maximum":10}},"required":["type","origins"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"nearest"},"origins":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"coordinates"},"values":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","minimum":-180,"maximum":180},"latitude":{"type":"number","minimum":-90,"maximum":90},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256}},"required":["longitude","latitude"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"resource"},"resource":{"type":"string","pattern":"^(source|derived):[0-9a-f-]{36}$"},"idField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"labelField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"maxPoints":{"default":500,"type":"integer","minimum":1,"maximum":500}},"required":["type","resource"],"additionalProperties":false}]},"destinations":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"coordinates"},"values":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","minimum":-180,"maximum":180},"latitude":{"type":"number","minimum":-90,"maximum":90},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256}},"required":["longitude","latitude"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"resource"},"resource":{"type":"string","pattern":"^(source|derived):[0-9a-f-]{36}$"},"idField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"labelField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"maxPoints":{"default":500,"type":"integer","minimum":1,"maximum":500}},"required":["type","resource"],"additionalProperties":false}]}},"required":["type","origins","destinations"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"travelMetrics"},"sources":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"coordinates"},"values":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","minimum":-180,"maximum":180},"latitude":{"type":"number","minimum":-90,"maximum":90},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256}},"required":["longitude","latitude"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"resource"},"resource":{"type":"string","pattern":"^(source|derived):[0-9a-f-]{36}$"},"idField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"labelField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"maxPoints":{"default":500,"type":"integer","minimum":1,"maximum":500}},"required":["type","resource"],"additionalProperties":false}]},"targets":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"coordinates"},"values":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","minimum":-180,"maximum":180},"latitude":{"type":"number","minimum":-90,"maximum":90},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256}},"required":["longitude","latitude"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"resource"},"resource":{"type":"string","pattern":"^(source|derived):[0-9a-f-]{36}$"},"idField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"labelField":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"maxPoints":{"default":500,"type":"integer","minimum":1,"maximum":500}},"required":["type","resource"],"additionalProperties":false}]}},"required":["type","sources","targets"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"mapMatch"},"trace":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","minimum":-180,"maximum":180},"latitude":{"type":"number","minimum":-90,"maximum":90},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256}},"required":["longitude","latitude"],"additionalProperties":false}}},"required":["type","trace"],"additionalProperties":false}]},"title":{"type":"string","minLength":1,"maxLength":128},"attachToProject":{"default":true,"type":"boolean"}},"required":["operation"],"additionalProperties":false}},"required":["projectId","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"definitionHash":"66f26385a7f635c6ad3388af7b49de1ef525322f2d716a0757954ae86636a4d4","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_configure_bubbles","title":"Configure project bubbles","description":"Configure bubble interactions for a project map. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"layerId":{"type":"string","description":"The ID of the layer."},"bubble":{"anyOf":[{"type":"object","properties":{"id":{"description":"Bubble ID (auto-generated if not provided).","type":"string"},"name":{"type":"string","description":"Display name for the bubble."},"targetSource":{"type":"string","description":"Namespaced ID of the target source (source:uuid)."},"linkFilter":{"type":"object","properties":{"expression":{"minItems":1,"type":"array","items":{},"description":"GMS expression array."}},"required":["expression"],"description":"GMS filter expression linking source to target features."},"artifactsLayer":{"description":"Layer ID that renders the target features and uses selected/selectedProgress feature-state styling for current bubble results. May be the trigger layer when it already renders the targets.","type":"string"},"titleTemplate":{"type":"string"},"subtitleTemplate":{"type":"string"}},"required":["name","targetSource","linkFilter"]},{"type":"null"}],"description":"Bubble config or null to remove all bubbles."},"title":{"type":"string","description":"Short description of the bubble change."}},"required":["layerId","bubble","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"c1d630256cd4f05fa17f55ce9dcfb35ba3bd6195656160a565b55523d1d18af6","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_configure_camera","title":"Configure project camera interactions","description":"Configure camera interaction behaviour for a project map. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"layerId":{"type":"string","description":"The ID of the layer."},"camera":{"anyOf":[{"type":"object","properties":{"enabled":{"type":"boolean"},"trigger":{"type":"string","enum":["click","hover"]},"delay":{"description":"Delay in ms before camera moves (hover only).","type":"number"},"camera":{"type":"object","properties":{"center":{"anyOf":[{"type":"string","const":"feature"},{"type":"string","const":"bbox"},{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]}]},"zoom":{"type":"number"},"pitch":{"type":"number"},"bearing":{"type":"number"},"duration":{"type":"number"}}},"padding":{"type":"number"}}},{"type":"null"}],"description":"Camera config or null to disable."},"title":{"type":"string","description":"Short description of the camera change."}},"required":["layerId","camera","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"309fe4f696983fb3db37c128774436fcb7123a4dfba5098c374c43c2c5828f1f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_configure_computed","title":"Configure project computed values","description":"Configure computed feature fields and expressions for a project map. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"layerId":{"type":"string","description":"The ID of the layer."},"computed":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},{"type":"null"}],"description":"Computed expression map, keyed by variable name, or null to remove all computed expressions."},"title":{"type":"string","description":"Short description of the computed expression change."}},"required":["layerId","computed","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema","$defs":{"__schema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},{"type":"array","prefixItems":[{"type":"string","const":"get"},{"type":"string"}]},{"type":"array","prefixItems":[{"type":"string","const":"concat"}],"items":{"$ref":"#/$defs/__schema0"}},{"type":"array","prefixItems":[{"type":"string","const":"upcase"},{"$ref":"#/$defs/__schema0"}]},{"type":"array","prefixItems":[{"type":"string","const":"downcase"},{"$ref":"#/$defs/__schema0"}]},{"type":"array","prefixItems":[{"type":"string","const":"length"},{"$ref":"#/$defs/__schema0"}]},{"type":"array","prefixItems":[{"anyOf":[{"type":"string","const":"+"},{"type":"string","const":"-"},{"type":"string","const":"*"},{"type":"string","const":"/"},{"type":"string","const":"%"}]}],"items":{"$ref":"#/$defs/__schema0"}},{"type":"array","prefixItems":[{"anyOf":[{"type":"string","const":"round"},{"type":"string","const":"ceil"},{"type":"string","const":"floor"},{"type":"string","const":"abs"}]},{"$ref":"#/$defs/__schema0"}]},{"type":"array","prefixItems":[{"anyOf":[{"type":"string","const":"=="},{"type":"string","const":"!="},{"type":"string","const":">"},{"type":"string","const":">="},{"type":"string","const":"<"},{"type":"string","const":"<="}]},{"$ref":"#/$defs/__schema0"},{"$ref":"#/$defs/__schema0"}]},{"type":"array","prefixItems":[{"type":"string","const":"!"},{"$ref":"#/$defs/__schema0"}]},{"type":"array","prefixItems":[{"type":"string","const":"&&"}],"items":{"$ref":"#/$defs/__schema0"}},{"type":"array","prefixItems":[{"type":"string","const":"||"}],"items":{"$ref":"#/$defs/__schema0"}},{"type":"array","prefixItems":[{"type":"string","const":"coalesce"}],"items":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"eba8730a40822c174ea0fa406beb1acea866ed7402cbe5d8e584dba33a7cf798","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_configure_legend","title":"Configure project legend","description":"Configure the legend of a project map and its entries. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"layerId":{"type":"string","description":"The ID of the layer."},"legend":{"anyOf":[{"type":"object","properties":{"enabled":{"type":"boolean"},"displayName":{"description":"Layer label shown in the legend. Defaults to the current legend label or layer ID.","type":"string"},"type":{"type":"string","enum":["categorical","choropleth","simple","gradient"]},"caption":{"type":"string"},"interactive":{"description":"When true, clicking legend items filters the map.","type":"boolean"},"items":{"description":"Explicit legend items. Each item MUST have: id (unique string), label, type (one of \"symbol\", \"line\", \"fill\", \"gradient\", \"choropleth\"), and a style object. Match type to the layer geometry: use \"line\" for line layers, \"fill\" for polygon layers, \"symbol\" for point layers. Line style: { color: \"#hex\", width?: number, dashArray?: [number], opacity?: 0-1 }. Fill style: { fillColor: \"#hex\", outlineColor?: \"#hex\", fillOpacity?: 0-1 }. Symbol style: { color?: \"#hex\", iconImage?: string, iconSize?: number, strokeColor?: \"#hex\" }. Use canonical symbol:uuid refs for custom symbol icons. Example line item: { id: \"trunk\", label: \"Trunk\", type: \"line\", style: { color: \"#8B0000\", width: 3 } }","type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"interactive":{"type":"boolean"},"type":{"type":"string","const":"symbol"},"style":{"type":"object","properties":{"iconImage":{"type":"string"},"iconSize":{"type":"number"},"color":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"strokeColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"strokeWidth":{"type":"number"},"opacity":{"type":"number","minimum":0,"maximum":1}},"additionalProperties":false}},"required":["id","label","type","style"]},{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"interactive":{"type":"boolean"},"type":{"type":"string","const":"line"},"style":{"type":"object","properties":{"color":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"width":{"type":"number"},"dashArray":{"type":"array","items":{"type":"number"}},"opacity":{"type":"number","minimum":0,"maximum":1}},"required":["color"],"additionalProperties":false}},"required":["id","label","type","style"]},{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"interactive":{"type":"boolean"},"type":{"type":"string","const":"fill"},"style":{"type":"object","properties":{"fillColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"outlineColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"fillOpacity":{"type":"number","minimum":0,"maximum":1}},"required":["fillColor"],"additionalProperties":false}},"required":["id","label","type","style"]},{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"interactive":{"type":"boolean"},"type":{"type":"string","const":"gradient"},"style":{"type":"object","properties":{"stops":{"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1},"color":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"label":{"type":"string"}},"required":["offset","color"],"additionalProperties":false}},"opacity":{"type":"number","minimum":0,"maximum":1}},"required":["stops"],"additionalProperties":false}},"required":["id","label","type","style"]},{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"interactive":{"type":"boolean"},"type":{"type":"string","const":"choropleth"},"property":{"type":"string"},"stops":{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"number"},{"type":"string"}]},"color":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"label":{"type":"string"},"opacity":{"type":"number","minimum":0,"maximum":1}},"required":["value","color","label"],"additionalProperties":false}}},"required":["id","label","type","property","stops"]}]}}}},{"type":"null"}],"description":"Legend config or null to disable."},"title":{"type":"string","description":"Short description of the legend change."}},"required":["layerId","legend","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"d45b6c7b6e2b396c723823c151a51d7a45ffb4bad20c59a4a624d07a27464a54","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_configure_popup","title":"Configure project popup","description":"Configure popup presentation and which feature attributes appear in a project map's popups. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"layerId":{"type":"string","description":"The ID of the layer."},"popup":{"anyOf":[{"type":"object","properties":{"enabled":{"type":"boolean"},"trigger":{"type":"string","enum":["click","hover"]},"title":{"description":"Title template. Use ${property} for feature values, $[computed] for computed vars.","type":"string"},"description":{"description":"Description template.","type":"string"},"properties":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"label":{"type":"string"},"format":{"type":"object","properties":{"type":{"type":"string","enum":["auto","text","number","currency","percentage","date","boolean","url"]},"precision":{"type":"integer","minimum":0,"maximum":10},"prefix":{"type":"string"},"suffix":{"type":"string"},"dateFormat":{"type":"string"},"trueLabel":{"type":"string"},"falseLabel":{"type":"string"},"nullLabel":{"type":"string"}},"required":["type"]},"default":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["field"]}},"media":{"type":"object","properties":{"url":{"type":"string"},"type":{"type":"string","enum":["image","video"]},"alt":{"type":"string"}},"required":["url"]},"actions":{"description":"Popup actions: openUrl, copy, or bubble.","type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"openUrl"},"label":{"type":"string"},"urlTemplate":{"type":"string"},"openIn":{"default":"_blank","type":"string","enum":["_blank","_self"]}},"required":["type","label","urlTemplate"]},{"type":"object","properties":{"type":{"type":"string","const":"copy"},"label":{"type":"string"},"textTemplate":{"type":"string"},"toastMessage":{"type":"string"}},"required":["type","label","textTemplate"]},{"type":"object","properties":{"type":{"type":"string","const":"bubble"},"label":{"type":"string"},"bubbleId":{"type":"string"},"openPanel":{"default":true,"type":"boolean"}},"required":["type","label","bubbleId"]}]}}}},{"type":"null"}],"description":"Popup config or null to disable."},"title":{"type":"string","description":"Short description of the popup change."}},"required":["layerId","popup","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"6ee6164d437f396f13d9c84a3cb9fb03252cb87e36fa99bd1022816579fc2501","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_configure_search","title":"Configure project search","description":"Configure how search behaves in a project map. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"layerId":{"type":"string","description":"The ID of the layer."},"search":{"anyOf":[{"type":"object","properties":{"enabled":{"type":"boolean"},"searchableFields":{"description":"Fields to search on.","type":"array","items":{"type":"string"}},"orderBy":{"description":"SQL ORDER BY clause for results. Supports ${center} template.","type":"string"},"placeholder":{"type":"string"},"titleTemplate":{"description":"Template for result titles. ${prop} or $[computed] syntax.","type":"string"},"subtitleTemplate":{"type":"string"}}},{"type":"null"}],"description":"Search config or null to disable."},"title":{"type":"string","description":"Short description of the search change."}},"required":["layerId","search","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"8c2ca6ee6752742c3785ac90c270799a80df49417c07be7efd4e3e28f807ae0a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_create","title":"Create a Geobble project","description":"Create an empty private project — the geospatial workspace holding map layers, datasets, styles, and analysis results — under an account where the caller can create.","inputSchema":{"type":"object","properties":{"ownerHandle":{"type":"string","minLength":3,"maxLength":64},"title":{"type":"string","minLength":1,"maxLength":128},"basemapIdLight":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"basemapIdDark":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["ownerHandle","title"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false},"definitionHash":"5bc64ae4a094b0be9568e2d39b100b2fabcf2efcdd05a79ae54fb03ed0ce1721","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_create_theme","title":"Create a project theme","description":"Create a reusable cartographic colour theme owned by the project account and attach it to the project.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"input":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":128,"description":"Human-readable name for the theme."},"type":{"type":"string","enum":["SEQUENTIAL","DIVERGING","QUALITATIVE"],"description":"SEQUENTIAL for light-to-dark gradients, DIVERGING for two-tone with midpoint, QUALITATIVE for distinct categories."},"colors":{"minItems":2,"maxItems":12,"type":"array","items":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"description":"Array of hex color strings forming the palette."},"description":{"description":"Optional description of the theme.","type":"string","maxLength":500}},"required":["title","type","colors"]}},"required":["projectId","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"dee2ead00d845f896b39cd7fd0af2d7fa6353cd17f3f6798036d09c5b6487224","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_duplicate_layer","title":"Duplicate a project layer","description":"Duplicate a map layer while preserving canonical GMS validity. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"layerId":{"type":"string","description":"The ID of the layer to duplicate."},"title":{"type":"string","description":"Short description of the duplication."}},"required":["layerId","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"0d7d0376d02b61eca6c55065fb1c09c6d41a332b19bfd483e53de43df12d7c03","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_explore_collection","title":"Explore a project collection","description":"List and inspect the geospatial datasets in a collection attached to the project.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"input":{"type":"object","properties":{"collectionId":{"description":"The resource ID of the collection to explore (format: collection:{uuid}).","type":"string"},"limit":{"default":50,"description":"Maximum number of sources to return (prevents loading huge collections).","type":"number","minimum":1,"maximum":100}},"required":["collectionId"]}},"required":["projectId","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"bec6df6a3ae4e46fc46e8294df9e9d612016da233064470d01bb12d33c2d19ed","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_inspect_source","title":"Inspect a project source","description":"Inspect a dataset's attribute schema, provenance, freshness, and a small sample of features.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"input":{"type":"object","properties":{"sourceId":{"type":"string","description":"Namespaced source ID, e.g. source:516d075e-bdb5-4e27-aa61-0b14b4eff0df."},"sampleRows":{"default":5,"description":"Number of sample rows to return when the source is queryable. Use 0 for schema-only inspection.","type":"integer","minimum":0,"maximum":20}},"required":["sourceId"]}},"required":["projectId","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"f9e1519c733a6ba42695267db946e74a55089939d8d338d793eb3a9c2c0c65b8","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_list_basemaps","title":"List project basemaps","description":"List the valid basemaps available to a project: light, dark, vector, raster, and DEM elevation sources.","inputSchema":{"type":"object","properties":{"theme":{"description":"Optional theme filter.","type":"string","enum":["LIGHT","DARK"]},"type":{"description":"Optional basemap type filter.","type":"string","enum":["VECTOR","RASTER","DEM"]}},"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"cafbdecb54df088e1155eef498208791139f10844fa5f37a4180a82b4910950d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_manage_context","title":"Manage project context","description":"Add or remove a source, collection, symbol set, or theme from a project context. Adding a resource makes it available to project layer and query tools.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"action":{"type":"string","enum":["add","remove"]},"resourceType":{"type":"string","enum":["source","collection","symbol_set","theme"]},"resourceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"}},"required":["projectId","action","resourceType","resourceId"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"1f8496e2ef52041a3605f0c770fd69f85b070e054aeb9138d76998612a88e04a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_manage_groups","title":"Manage project layer groups","description":"Create, update, delete, or assign layer groups in a project map. expectedSpecVersion is required to prevent stale writes.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedSpecVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"input":{"type":"object","properties":{"action":{"type":"string","enum":["create","update","delete","assign_layers"],"description":"The action to perform."},"group":{"type":"object","properties":{"id":{"description":"Group ID (required for update/delete, auto-generated for create).","type":"string"},"name":{"description":"Group name (required for create, optional for update).","type":"string"},"collapsed":{"description":"Whether the group is collapsed in the panel.","type":"boolean"}},"description":"Group definition."},"layerIds":{"description":"Existing layer IDs to assign to group.id. Valid for create, update, and assign_layers.","type":"array","items":{"type":"string","minLength":1}},"title":{"type":"string","description":"Short description of the group change."}},"required":["action","group","title"]}},"required":["projectId","expectedSpecVersion","input"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"7263577f86643b0b86bac78283e1da550dc76a1cb5bd9acd039fc559c1aa76b2","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"},{"serverName":"com.geobble/geobble","endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","name":"project_mobility_analysis_status","title":"Get mobility analysis status","description":"Read the status and result of a queued mobility analysis job.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["projectId","runId"],"$schema":"https://json-schema.org/draft/2020-12/schema"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"3a0fe11a44f27a70532f6aabecbe2f2f47afb67be849cbab9862b0ddd1b1920d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T19:46:33.942Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"371a953e5f4f6827edc3bf96e8ac189f7212e73c98cc96e3a240f9dfc423525e","protocol":"streamable-http","status":"indexed","toolCount":50,"observedAt":"2026-11-03T19:46:33.942Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"com.geobble/geobble":{"url":"https://api.geobble.com/mcp"}}},"Cursor":{"mcpServers":{"com.geobble/geobble":{"url":"https://api.geobble.com/mcp"}}},"VS Code":{"servers":{"com.geobble/geobble":{"type":"http","url":"https://api.geobble.com/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://api.geobble.com/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:com.geobble%2Fgeobble","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/com.geobble%2Fgeobble","name":"com.geobble/geobble","description":"Geospatial workspace: manage sources and maps, run spatial analysis, and publish interactive maps","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://api.geobble.com/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":null,"repositoryUrl":"https://github.com/giseity/geobble","version":"1.0.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"com.geobble/geobble","status":"online","lastCheckedAt":"2026-11-03T20:18:54.464Z","lastSuccessfulCheck":"2026-11-03T20:18:54.464Z","latencyMs":598,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T20:18:54.464Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T20:18:54.464Z"},"security":null,"timestamps":{"createdAt":"2026-10-16T16:05:02.419Z","updatedAt":"2026-10-16T16:05:02.419Z","observedAt":"2026-11-03T20:18:54.464Z"},"compatibility":{"serverVersion":"1.0.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}