geopera-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for the http transport. | |
| MCP_TRANSPORT | No | stdio (default) or http. | stdio |
| GEOPERA_API_URL | No | Geopera API base URL. Default https://api.geopera.com. | https://api.geopera.com |
| GEOPERA_API_TOKEN | Yes | A gpra_ API key or a session token, sent upstream as Authorization: Bearer. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| alerts.acknowledge_eventC | Mark an alert event acknowledged (org-scoped). |
| alerts.create_ruleD | Create an alert rule for the caller's organization. |
| alerts.delete_ruleC | Delete an alert rule (org-scoped). |
| alerts.events.listC | List the caller's organization's alert events (org-scoped, triggered_at desc). |
| alerts.rule.getC | Get a single alert rule by id (org-scoped; 404 cross-org). |
| alerts.rules.listC | List the caller's organization's alert rules (org-scoped). |
| alerts.test_ruleC | Test-evaluate an alert rule against an item without persisting. |
| alerts.update_ruleC | Update an alert rule (org-scoped). |
| analytics.executeC | Run a registered analytics operation (zonal_stats / time_series / change_detection). |
| analytics.index.getC | Detailed info about a single spectral index (+ compatible sensors). |
| analytics.indices.listC | List spectral indices (optionally filtered by category / sensor compatibility). |
| analytics.operations.getD | Detailed capabilities of a single analytics operation. |
| analytics.operations.listC | List all registered analytics operations + their input schemas (discovery). |
| analytics.sensors.listC | List supported sensors and their band mappings. |
| analytics.validate_formulaC | Validate a band-math formula (syntax + required bands) without executing it. |
| api_keys.createB | Mint an organization API key (the secret is returned once). |
| api_keys.listC | List an organization's API keys (metadata only — never the secret). |
| api_keys.revokeD | Revoke an organization API key. |
| assets.deleteC | Delete an asset (file) from an item (item access required). |
| band_formulas.createC | Create a custom band-math formula for the caller's organization (write scope). |
| band_formulas.deleteB | Delete a custom band-math formula (write scope; templates are protected). |
| band_formulas.getC | Get a single custom band-math formula by id (org-scoped; cross-org → 404). |
| band_formulas.listC | List the caller-org's custom band-math formulas (optional category/template filters). |
| band_formulas.updateC | Update a custom band-math formula (write scope; org-scoped). |
| billing.approvals.approveC | Approve a credit purchase and charge the saved card (human approver only). |
| billing.approvals.getC | Get one credit-purchase approval (org-scoped). |
| billing.approvals.listC | List the org's credit-purchase approvals (optionally by status). |
| billing.approvals.rejectC | Reject a pending credit-purchase approval. |
| billing.approvals.requestD | Request approval for a large credit purchase. |
| billing.auto_topup.getC | Read the org's auto-topup settings (enabled=false if unset). |
| billing.credits.balanceC | The org's current credit balance. |
| billing.credits.transactionsC | The org's credit ledger (paged, optionally filtered by reason). |
| billing.deletions.pendingC | List organizations pending deletion (system admin). |
| billing.dlq.list_pendingC | Unresolved tracking-failure DLQ counts, grouped by storage_type + source. |
| billing.enterprise.accrualC | The org's unbilled enterprise post-pay liability (to put on a Xero invoice). |
| billing.free_tier.list_pendingC | Orgs awaiting free-tier approval (the operator review queue). |
| billing.invoices.listD | The org's enterprise invoices (grouped from settled orders). |
| billing.plans.listC | List all available plans with their quota/feature limits (public catalog). |
| billing.reconciliation.detect_driftC | Compute storage-billing drift for one org (no run recorded). |
| billing.reconciliation.list_correctionsC | Audit trail of all drift corrections applied (compliance + support). |
| billing.reconciliation.list_runsC | List reconciliation runs (newest first; filter by org / flagged). |
| billing.set_auto_topupD | Configure automatic top-up (requires a default card when enabling). |
| billing.status.getC | An org's billing status + current usage (org membership required). |
| billing.stripe_invoices.listC | List the org's Stripe invoices (never 500s — empty on a Stripe hiccup). |
| billing.topupA | Off-session card charge → credits. Idempotency is at the STRIPE level: the
client's Idempotency-Key is threaded into charge_for_credits (Stripe dedups the
charge, the PaymentIntent id dedups the grant), matching the legacy /billing/topup
exactly. On 3DS/SCA the op raises a 402 carrying the PaymentIntent client_secret,
which we surface at the TOP LEVEL of the problem body — |
| catalog.federated_searchD | Search every data source covering the AOI in one query (merged, type-tagged). |
| catalog.granule_pointsC | Extract a 3D point cloud (lon/lat/elev/attribute) from a GEDI or ICESat-2 granule. |
| catalog.image.quicklookC | Resolve + 307-redirect to a scene's quicklook (external host). |
| catalog.image.thumbnailC | Resolve + 307-redirect to a scene's thumbnail (external host). |
| catalog.info.landsatC | Landsat scene metadata (parsed id fields + available visualizations). |
| catalog.info.naipC | NAIP item metadata from the Element84 STAC. |
| catalog.info.sampleC | Sample scene metadata (sensor + on-disk STAC + bands + thumbnail). |
| catalog.info.sentinelC | Sentinel-2 scene metadata (parsed id + live COG info + available visualizations). |
| catalog.provider.samplesC | List sample scenes for a provider (paged). |
| catalog.providers.listC | List on-disk sample-data providers (+ registered sensors). |
| catalog.searchC | Search a commercial-imagery host's catalog (STAC, price-enriched). |
| catalog.sources.listC | List every searchable data source + its collections (the dataset registry). |
| catalog.vendors.listC | List catalog vendors + host⇄pricing-vendor identifiers. |
| catalog.viz.landsatD | List available Landsat visualizations. |
| catalog.viz.naipC | List available NAIP visualizations. |
| clip.area.metadataC | Capture-date metadata for a clip area. |
| clip.area.mosaicsC | List mosaic types for a clip area. |
| clip.areas.listC | List delivery-bucket clip areas. |
| clip.create_from_itemA | Create + dispatch a cog_clip job from an item — a money path (reserves CU), so it carries Idempotency-Key parity: a retry replays the first response (one job reserved + dispatched, never a duplicate). |
| clip.job.downloadsC | List downloadable clip files for a job. |
| clip.job.getC | Get a single clip job by id. |
| clip.job.tile_infoC | Tile rendering params for a completed clip job. |
| clip.jobs.listC | List clip jobs for an organization. |
| cog.colormapsC | Curated colormap groups for the frontend picker (bare-dict). |
| cog.formulasC | Predefined spectral-index formula templates (bare-dict, keyed by index id). |
| cog.statisticsD | AOI-scoped percentile statistics for a COG — drives per-AOI colormap rescale. |
| collections.createB | Create an organizing collection within a project (editor/admin required). |
| collections.deleteC | Soft-delete a collection, unlinking its items (project admin required). |
| collections.getC | Get a collection by id within a project. Project member access + belongs-to-project guard. |
| collections.listC | List a project's collections (with item counts). Project member access. |
| collections.updateC | Update a collection's metadata (editor/admin required). |
| eulas.document.getC | Get a single EULA document enriched with the caller's org acceptance. |
| eulas.documents.listC | List an EULA's documents (paged), each enriched with the caller's org acceptance. |
| eulas.getC | Get a single EULA enriched with the caller's org acceptance. |
| eulas.listC | List EULAs (paged), each enriched with the caller's org acceptance. |
| event_subscriptions.createC | Create a webhook subscription for the caller's organization. |
| event_subscriptions.deleteC | Delete a webhook subscription (org-scoped). |
| event_subscriptions.getC | Get a single webhook subscription (org-scoped; secret redacted). |
| event_subscriptions.listC | List the caller's organization's webhook subscriptions (secret redacted). |
| event_subscriptions.testC | Send a test event to a webhook subscription and return the delivery result. |
| event_subscriptions.updateC | Update a webhook subscription (org-scoped). |
| glossary.collections.getC | Get a single catalog collection by name. |
| glossary.collections.listC | List catalog collections (provider-compatible, paged). |
| glossary.data_products.getC | Get a single catalog data product by name. |
| glossary.data_products.listC | List catalog data products (provider-compatible, paged). |
| glossary.providers.getC | Get a single catalog provider by name. |
| glossary.providers.listC | List catalog providers (PRODUCER/HOST, paged). |
| items.createD | Create an item within a project (editor/admin on the project). |
| items.deleteC | Soft-delete an item (admin/editor on the item's project required). |
| items.detect_asset_bandsC | Auto-detect band names for an asset from its reflectance statistics. |
| items.duplicateC | Duplicate an item with its assets + viz profiles (admin/editor on the project). |
| items.getC | Fetch a single catalog item by id. |
| items.get_stacD | Get an item as a full STAC 1.0.0 Feature with embedded assets + links. Item member access. |
| items.lineageC | Get the lineage tree (parents + children) for an item. Item member access. |
| items.listB | List a project's items (optionally filtered by collection). Project member access. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/geo-pera/geopera-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server