MCP server intelligence profile

Planet MCP Server

Enables AI agents to interact with the Planet API for satellite imagery ordering, subscriptions, and data management through natural language

Local OnlyOfficial distributionplanetlabs
Verified cleanPypi · 0.3.0

Our scanner tested version 0.3.0 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

1Distribution channel
40Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install planet-mcp from PyPI

Version 0.3.0 declares 1 executable entrypoint.

python -m pip install 'planet-mcp==0.3.0'
uvx --from 'planet-mcp==0.3.0' planet-mcp
MCP client configuration example
{
  "mcpServers": {
    "planet-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "planet-mcp==0.3.0",
        "planet-mcp"
      ]
    }
  }
}

Build from source

Clone the canonical public repository, then follow its version-specific setup documentation.

git clone https://github.com/planetlabs/planet-mcp

Identity

Canonical slugplanet-mcp-c2fe2762DeploymentLocal Only
Canonical packagepypi:planet-mcpRepositoryhttps://github.com/planetlabs/planet-mcp
First publishedFeb 4, 2026Latest releaseFeb 4, 2026
Last security verificationClassification confidence90%
PublicationPublishedOfficial distributionYes

Distributions

ChannelIdentifierCurrent versionVersionsSource
pypiplanet-mcp0.3.01Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
pypiplanet-mcp0.3.0CurrentFeb 4, 202640 toolsSucceeded · 0 resources · 0 promptsFailed
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

Provenanceartifact_hash_verifiedSignature
MCP SDKpython_mcp_source_evidence Artifact SHA-256febd0e60b41f0bc41de85a49723a514f198d1075f8eb5e68f1efdda1ce97eb7b
Scannermcp-proof-engine 0.1.0Scan completedSep 4, 2026
Security rating34 / 100Methodologyversion-rating-1.0
Executable entrypoints
[
  "planet-mcp"
]
Rating reasons
[
  "security_policy_not_observed"
]

Current protocol inventory

2025-06-18Negotiated protocol
Planet MCP ServerServer-reported name
4Capability groups
Sep 4, 2026Observed

Tools 40

ToolCategoryAnnotationsRisk
sdk_data_activate_assetActivate an item asset. Parameters: asset: Description of the asset. Obtained from get_asset(). Raises: planet.exceptions.APIError: On API error. planet.exceptions.ClientError: If asset description is not valid.
Input schema
{
  "properties": {
    "asset": {
      "additionalProperties": true,
      "type": "object"
    }
  },
  "required": [
    "asset"
  ],
  "type": "object"
}
sdk_data_download_assetDownload an asset. The asset must be active before it can be downloaded. This can be achieved with activate_asset() followed by wait_asset(). If overwrite is False and the file already exists, download will be skipped and the file path will be returned as usual. Parameters: asset: Description of the asset. Obtained from get_asset() or wait_asset(). filename: Custom name to assign to downloaded file. directory: Base directory for file download. overwrite: Overwrite any existing files. progress_bar: Show progress bar during download. Returns: Path to downloaded file. Raises: planet.exceptions.APIError: On API error. planet.exceptions.ClientError: If asset is not active or asset description is not valid.
Input schema
{
  "properties": {
    "asset": {
      "additionalProperties": true,
      "type": "object"
    },
    "filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "directory": {
      "default": ".",
      "format": "path",
      "type": "string"
    },
    "overwrite": {
      "default": false,
      "type": "boolean"
    },
    "progress_bar": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": [
    "asset"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "format": "path",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_data_get_assetGet an item asset description. Parameters: item_type_id: Item type identifier. item_id: Item identifier. asset_type_id: Asset type identifier. Returns: Description of the asset. Raises: planet.exceptions.APIError: On API error. planet.exceptions.ClientError: If asset type identifier is not valid.
Input schema
{
  "properties": {
    "item_type_id": {
      "type": "string"
    },
    "item_id": {
      "type": "string"
    },
    "asset_type_id": {
      "type": "string"
    }
  },
  "required": [
    "item_type_id",
    "item_id",
    "asset_type_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_data_get_itemGet an item by item_type_id and item_id. Parameters: item_type_id: Item type identifier. item_id: Item identifier. Returns: Description of an item. Raises: planet.exceptions.APIError: On API error.
Input schema
{
  "properties": {
    "item_type_id": {
      "type": "string"
    },
    "item_id": {
      "type": "string"
    }
  },
  "required": [
    "item_type_id",
    "item_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_data_get_item_coverageEstimate the clear coverage over an item within a custom AOI Parameters: item_type_id: Item type identifier. item_id: Item identifier. geometry: A feature reference or a GeoJSON mode: Method used for coverage calculation band: Specific band to extract from UDM2 Returns: Description of the clear coverage for the provided AOI within the scene. Raises: planet.exceptions.APIError: On API error.
Input schema
{
  "$defs": {
    "Geometry": {
      "properties": {
        "type": {
          "type": "string"
        },
        "coordinates": {
          "title": "Coordinates"
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type",
        "coordinates",
        "content"
      ],
      "type": "object"
    }
  },
  "properties": {
    "item_type_id": {
      "type": "string"
    },
    "item_id": {
      "type": "string"
    },
    "geometry": {
      "$ref": "#/$defs/Geometry"
    },
    "mode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "band": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "item_type_id",
    "item_id",
    "geometry"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_data_list_item_assetsList all assets available for an item. An asset describes a product that can be derived from an item's source data, and can be used for various analytic, visual or other purposes. These are referred to as asset_types. Parameters: item_type_id: Item type identifier. item_id: Item identifier. Returns: Descriptions of available assets as a dictionary with asset_type_id as keys and asset description as value. Raises: planet.exceptions.APIError: On API error.
Input schema
{
  "properties": {
    "item_type_id": {
      "type": "string"
    },
    "item_id": {
      "type": "string"
    }
  },
  "required": [
    "item_type_id",
    "item_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_data_run_searchIterate over results from a saved search. Note: The name of this method is based on the API's method name. This method provides iteration over results, it does not get a single result description or return a list of descriptions. Parameters: search_id: Stored search identifier. sort: Field and direction to order results by. Valid options are given in SEARCH_SORT. limit: Maximum number of results to return. When set to 0, no maximum is applied. Yields: Description of an item. Raises: planet.exceptions.APIError: On API error. planet.exceptions.ClientError: If search_id or sort is not valid.
Input schema
{
  "properties": {
    "search_id": {
      "type": "string"
    },
    "sort": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 100,
      "type": "integer"
    }
  },
  "required": [
    "search_id"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_data_search Search for Planet imagery (scenes). item_types: High resolution: SkySatScene, SkySatCollect Medium resolution: PSScene geometry: a GeoJSON dictionary containing lat/lon coordinates, or a Features API feature reference. If a place name is supplied, use Google to find coordinates. Omit if the user does not specify a place name or coordinates. If using a feature reference, it must be provided in a dict like this: ``` { "type": "ref", "content": "pl:features/my/test-collection-123/my-feature-id" } ``` start_date: An optional datestring to use as the start date for the search. Use ISO 8601 format, e.g. 2022-04-14T00:00:00Z. end_date: An optional datestring to use as the end date for the search. Use ISO 8601 format. If not provided, searches from start_date onwards. If the user does not ask for specific item types, default to ["PSScene", "SkySatScene", "SkySatCollect"]. Avoid using search_filter unless the user has asked for specific date ranges or other advanced parameters. If a user asks for a scene from "today", do a search as normal and present the first (most recent) result. Note: The search automatically filters for cloud_cover <= 0.2 (20%).
Input schema
{
  "$defs": {
    "Geometry": {
      "properties": {
        "type": {
          "type": "string"
        },
        "coordinates": {
          "title": "Coordinates"
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type",
        "coordinates",
        "content"
      ],
      "type": "object"
    }
  },
  "properties": {
    "item_types": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "start_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "end_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "geometry": {
      "$ref": "#/$defs/Geometry"
    }
  },
  "required": [
    "item_types",
    "start_date",
    "end_date",
    "geometry"
  ],
  "type": "object"
}
sdk_destinations_create_destinationCreate a new destination. Args: request (dict): Destination content to create, all attributes are required. Returns: dict: A dictionary containing the created destination details. Raises: APIError: If the API returns an error response. ClientError: If there is an issue with the client request.
Input schema
{
  "properties": {
    "request": {
      "additionalProperties": true,
      "type": "object"
    }
  },
  "required": [
    "request"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_destinations_get_default_destinationGet the current default destination. The default destination is globally available to all members of an organization. Returns: dict: A dictionary containing the default destination details. Raises: APIError: If the API returns an error response. ClientError: If there is an issue with the client request.
Input schema
{
  "properties": {},
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_destinations_get_destinationGet a specific destination by its ID. Args: destination_id (str): The ID of the destination to retrieve. Returns: dict: A dictionary containing the destination details. Raises: APIError: If the API returns an error response. ClientError: If there is an issue with the client request.
Input schema
{
  "properties": {
    "destination_id": {
      "type": "string"
    }
  },
  "required": [
    "destination_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_destinations_list_destinationsList all destinations. By default, all non-archived destinations in the requesting user's org are returned. Args: archived (bool): If True, include archived destinations. is_owner (bool): If True, include only destinations owned by the requesting user. can_write (bool): If True, include only destinations the requesting user can modify. is_default (bool): If True, include only the default destination. Returns: dict: A dictionary containing the list of destinations inside the 'destinations' key. Raises: APIError: If the API returns an error response. ClientError: If there is an issue with the client request.
Input schema
{
  "properties": {
    "archived": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "is_owner": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "can_write": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "is_default": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_destinations_set_default_destinationSet an existing destination as the default destination. Default destinations are globally available to all members of an organization. An organization can have zero or one default destination at any time. Ability to set a default destination is restricted to organization administrators and destination owners. Args: destination_id (str): The ID of the destination to set as default. Returns: dict: A dictionary containing the default destination details. Raises: APIError: If the API returns an error response. ClientError: If there is an issue with the client request.
Input schema
{
  "properties": {
    "destination_id": {
      "type": "string"
    }
  },
  "required": [
    "destination_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_destinations_unset_default_destinationUnset the current default destination. Ability to unset a default destination is restricted to organization administrators and destination owners. Returns None (HTTP 204, No Content) on success. Returns: None Raises: APIError: If the API returns an error response. ClientError: If there is an issue with the client request.
Input schema
{
  "properties": {},
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_features_add_itemsAdd a Feature or FeatureCollection to the collection given by `collection_id`. Returns a list of feature references. Features API only accepts Polygon and MultiPolygon. collection_id: the collection to add the feature to feature: a dict containing a geojson Feature or FeatureCollection, or an instance of a class that implements __geo_interface__ (e.g. a Shapely or GeoPandas geometry object) property_id (optional): the name of a property in the `properties` block of the supplied feature(s). The value will become the feature's id. When the feature is added to the collection, it will be given an ID. The ID can be overriden by providing an `id` in the feature's properties. Title and description can also be set this way using the `title` and `description` properties. Example: ``` new_features = await features_client.add_features( collection_id="my-collection", feature=feature, ) ``` note: if a geojson Geometry is supplied, it will be converted to a Feature. However, we recommend doing this conversion yourself so that you can set a title and description property. The return value is always an iterator, even if you only upload one feature.
Input schema
{
  "properties": {
    "collection_id": {
      "type": "string"
    },
    "feature": {
      "additionalProperties": true,
      "type": "object"
    },
    "property_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "collection_id",
    "feature"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_features_create_collectionCreate a new collection with the given title and description, returning the collection id. Example: ``` collection_id = await features_client.create_collection( title="My Collection", description="a test collection" ) ```
Input schema
{
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "title"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_features_delete_collectionDelete a collection. Parameters: collection_id: The ID of the collection to delete Example: ``` await features_client.delete_collection( collection_id="my-collection" ) ```
Input schema
{
  "properties": {
    "collection_id": {
      "type": "string"
    }
  },
  "required": [
    "collection_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_features_delete_itemDelete a feature from a collection. Parameters: collection_id: The ID of the collection containing the feature feature_id: The ID of the feature to delete Example: ``` await features_client.delete_item( collection_id="my-collection", feature_id="feature-123" ) ```
Input schema
{
  "properties": {
    "collection_id": {
      "type": "string"
    },
    "feature_id": {
      "type": "string"
    }
  },
  "required": [
    "collection_id",
    "feature_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_features_get_collectionGet collection metadata. note: when looking up or adding features to a collection, you can pass the collection ID directly to the add_features or list_features methods. It is not necessary to look up the collection metadata first.
Input schema
{
  "properties": {
    "collection_id": {
      "type": "string"
    }
  },
  "required": [
    "collection_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_features_get_itemReturn metadata for a single feature in a collection
Input schema
{
  "properties": {
    "collection_id": {
      "type": "string"
    },
    "feature_id": {
      "type": "string"
    }
  },
  "required": [
    "collection_id",
    "feature_id"
  ],
  "type": "object"
}
sdk_features_list_collectionsList the feature collections you have access to. Example: ``` collections = await client.list_collections() async for collection in collections: print(collection) ```
Input schema
{
  "properties": {
    "limit": {
      "default": 0,
      "type": "integer"
    }
  },
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_features_list_itemsList features in `collection_id`. Returns an iterator of Features, which are `dict` instances with a convenience method/property for getting a feature reference (`.ref`). The reference can be used in the Data, Orders and Subscriptions APIs. Within the Python SDK, the entire Feature can generally be passed to functions that accept a geometry. example: ``` results = await client.list_items(collection_id) async for feature in results: print(feature.ref) print(feature["id"]) print(feature["geometry"]) ```
Input schema
{
  "properties": {
    "collection_id": {
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "integer"
    }
  },
  "required": [
    "collection_id"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_mosaics_download_quadDownload a quad to a directory. Example: ```python quad = await client.get_quad("d5098531-aa4f-4ff9-a9d5-74ad4a6301e5", "1234-5678") await client.download_quad(quad) ```
Input schema
{
  "properties": {
    "quad": {
      "additionalProperties": true,
      "type": "object"
    },
    "directory": {
      "default": ".",
      "type": "string"
    },
    "overwrite": {
      "default": false,
      "type": "boolean"
    },
    "progress_bar": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "quad"
  ],
  "type": "object"
}
sdk_mosaics_download_quadsDownload a mosaics' quads to a directory. Raises: ClientError: if `geometry` or `bbox` is not specified. Example: ```python mosaic = await cl.get_mosaic(name) client.download_quads(mosaic, bbox=(-100, 40, -100, 40)) ```
Input schema
{
  "$defs": {
    "Geometry": {
      "properties": {
        "type": {
          "type": "string"
        },
        "coordinates": {
          "title": "Coordinates"
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type",
        "coordinates",
        "content"
      ],
      "type": "object"
    }
  },
  "properties": {
    "mosaic": {
      "additionalProperties": true,
      "type": "object"
    },
    "directory": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "overwrite": {
      "default": false,
      "type": "boolean"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "geometry": {
      "anyOf": [
        {
          "$ref": "#/$defs/Geometry"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "progress_bar": {
      "default": false,
      "type": "boolean"
    },
    "concurrency": {
      "default": 4,
      "type": "integer"
    }
  },
  "required": [
    "mosaic"
  ],
  "type": "object"
}
sdk_mosaics_get_mosaicGet the API representation of a mosaic by name or id. Parameters: name_or_id: The name or id of the mosaic
Input schema
{
  "properties": {
    "name_or_id": {
      "type": "string"
    }
  },
  "required": [
    "name_or_id"
  ],
  "type": "object"
}
sdk_mosaics_get_quadGet a mosaic's quad information. Example: ```python quad = await client.get_quad("d5098531-aa4f-4ff9-a9d5-74ad4a6301e5", "1234-5678") print(quad) ```
Input schema
{
  "properties": {
    "mosaic": {
      "additionalProperties": true,
      "type": "object"
    },
    "quad_id": {
      "type": "string"
    }
  },
  "required": [
    "mosaic",
    "quad_id"
  ],
  "type": "object"
}
sdk_mosaics_get_seriesGet the API representation of a series by name or id. Parameters: name_or_id: The name or id of the mosaic
Input schema
{
  "properties": {
    "name_or_id": {
      "type": "string"
    }
  },
  "required": [
    "name_or_id"
  ],
  "type": "object"
}
sdk_mosaics_list_mosaicsList the mosaics you have access to. Example: ```python mosaics = await client.list_mosaics() async for m in mosaics: print(m) ```
Input schema
{
  "properties": {
    "name_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "interval": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "acquired_gt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "acquired_lt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_mosaics_list_quadsList the a mosaic's quads. Parameters: mosaic: the mosaic to list minimal: if False, response includes full metadata full_extent: if True, the mosaic's extent will be used to list bbox: only quads intersecting the bbox will be listed geometry: only quads intersecting the geometry will be listed Raises: ClientError: if `geometry`, `bbox` or `full_extent` is not specified. Example: List the quad at a single point (note the extent has the same corners) ```python mosaic = await client.get_mosaic("d5098531-aa4f-4ff9-a9d5-74ad4a6301e5") quads = await client.list_quads(mosaic, bbox=[-100, 40, -100, 40]) async for q in quads: print(q) ```
Input schema
{
  "$defs": {
    "Geometry": {
      "properties": {
        "type": {
          "type": "string"
        },
        "coordinates": {
          "title": "Coordinates"
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type",
        "coordinates",
        "content"
      ],
      "type": "object"
    }
  },
  "properties": {
    "mosaic": {
      "additionalProperties": true,
      "type": "object"
    },
    "minimal": {
      "default": false,
      "type": "boolean"
    },
    "full_extent": {
      "default": false,
      "type": "boolean"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "geometry": {
      "anyOf": [
        {
          "$ref": "#/$defs/Geometry"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "mosaic"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_mosaics_list_seriesList the series you have access to. Example: ```python series = await client.list_series() async for s in series: print(s) ```
Input schema
{
  "properties": {
    "name_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "interval": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "acquired_gt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "acquired_lt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_mosaics_list_series_mosaicsList the mosaics in a series. Example: ```python mosaics = await client.list_series_mosaics("d5098531-aa4f-4ff9-a9d5-74ad4a6301e5") async for m in mosaics: print(m) ```
Input schema
{
  "properties": {
    "series": {
      "additionalProperties": true,
      "type": "object"
    },
    "acquired_gt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "acquired_lt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "latest": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "series"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_mosaics_summarize_quadsGet a summary of a quad list for a mosaic. If the bbox or geometry is not provided, the entire list is considered. Examples: Get the total number of quads in the mosaic. ```python mosaic = await client.get_mosaic("d5098531-aa4f-4ff9-a9d5-74ad4a6301e5") summary = await client.summarize_quads(mosaic) print(summary["total_quads"]) ```
Input schema
{
  "$defs": {
    "Geometry": {
      "properties": {
        "type": {
          "type": "string"
        },
        "coordinates": {
          "title": "Coordinates"
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type",
        "coordinates",
        "content"
      ],
      "type": "object"
    }
  },
  "properties": {
    "mosaic": {
      "additionalProperties": true,
      "type": "object"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "geometry": {
      "anyOf": [
        {
          "$ref": "#/$defs/Geometry"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "mosaic"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_orders_cancel_orderCancel a queued order. Parameters: order_id: The ID of the order Returns: Results of the cancel request Raises: planet.exceptions.ClientError: If order_id is not a valid UUID. planet.exceptions.APIError: On API error.
Input schema
{
  "properties": {
    "order_id": {
      "type": "string"
    }
  },
  "required": [
    "order_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_orders_create_orderCreate an order request. Example: ```python >>> import asyncio >>> from planet import Session >>> from planet.order_request import build_request, product >>> >>> async def main(): ... image_ids = ["20200925_161029_69_2223"] ... request = build_request( ... 'test_order', ... [product(image_ids, 'analytic_udm2', 'psscene')] ... ) ... async with Session() as sess: ... cl = sess.client('orders') ... order = await cl.create_order(request) ... >>> asyncio.run(main()) ``` Parameters: request: order request definition Returns: JSON description of the created order Raises: planet.exceptions.APIError: On API error.
Input schema
{
  "properties": {
    "request": {
      "additionalProperties": true,
      "type": "object"
    }
  },
  "required": [
    "request"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_orders_download_assetDownload ordered asset. Parameters: location: Download location url including download token. filename: Custom name to assign to downloaded file. directory: Base directory for file download. This directory will be created if it does not already exist. overwrite: Overwrite any existing files. progress_bar: Show progress bar during download. Returns: Path to downloaded file. Raises: planet.exceptions.APIError: On API error.
Input schema
{
  "properties": {
    "location": {
      "type": "string"
    },
    "filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "directory": {
      "default": ".",
      "format": "path",
      "type": "string"
    },
    "overwrite": {
      "default": false,
      "type": "boolean"
    },
    "progress_bar": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": [
    "location"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "format": "path",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_orders_download_orderDownload all assets in an order. Parameters: order_id: The ID of the order. directory: Base directory for file download. This directory must already exist. overwrite: Overwrite files if they already exist. progress_bar: Show progress bar during download. Returns: Paths to downloaded files. Raises: planet.exceptions.APIError: On API error. planet.exceptions.ClientError: If the order is not in a final state.
Input schema
{
  "properties": {
    "order_id": {
      "type": "string"
    },
    "directory": {
      "default": ".",
      "format": "path",
      "type": "string"
    },
    "overwrite": {
      "default": false,
      "type": "boolean"
    },
    "progress_bar": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "order_id"
  ],
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "format": "path",
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
sdk_orders_get_orderGet order details by Order ID. Parameters: order_id: The ID of the order Returns: JSON description of the order Raises: planet.exceptions.ClientError: If order_id is not a valid UUID. planet.exceptions.APIError: On API error.
Input schema
{
  "properties": {
    "order_id": {
      "type": "string"
    }
  },
  "required": [
    "order_id"
  ],
  "type": "object"
}
Output schema
{
  "additionalProperties": true,
  "type": "object"
}
sdk_orders_list_ordersIterate over the list of stored orders. By default, order descriptions are sorted by creation date with the last created order returned first. Note: The name of this method is based on the API's method name. This method provides iteration over results, it does not get a single result description or return a list of descriptions. Parameters: state (str): filter by state. limit (int): maximum number of results to return. When set to 0, no maximum is applied. source_type (str): filter by source type. name (str): filter by name. name__contains (str): only include orders with names containing this string. created_on (str): filter by creation date-time or interval. last_modified (str): filter by last modified date-time or interval. hosting (bool): only return orders that contain a hosting block (e.g. SentinelHub hosting). destination_ref (str): filter by orders created with the provided destination reference. sort_by (str): fields to sort orders by. Multiple fields can be specified, separated by commas. The sort direction can be specified by appending ' ASC' or ' DESC' to the field name. The default sort direction is ascending. When multiple fields are specified, the sort order is applied in the order the fields are listed. Supported fields: name, created_on, state, last_modified Examples: * "name" * "name DESC" * "name,state DESC,last_modified" user_id (str or int): filter by user ID. Only available to organization admins. Accepts "all" or a specific user ID. Datetime args (created_on and last_modified) can either be a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots. Examples: * A date-time: "2018-02-12T23:20:50Z" * A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" * Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" Yields: Description of an order. Raises: planet.exceptions.APIError: On API error. planet.exceptions.ClientError: If state is not valid.
Input schema
{
  "properties": {
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 100,
      "type": "integer"
    },
    "source_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "name__contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "created_on": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "last_modified": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "hosting": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "destination_ref": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "sort_by": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "user_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}
Output schema
{
  "description": "Generic wrapper for non-object return types.",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "type": "object",
  "x-fastmcp-wrap-result": true
}
tiles_get_scene_thumbnailGet a thumbnail image for a specific item. item_type and item_id are required. Suitable items can be found with the data_search tool. item_id accepts alphanumeric characters and underscores.
Input schema
{
  "properties": {
    "item_type": {
      "pattern": "^\\w+$",
      "type": "string"
    },
    "item_id": {
      "pattern": "^\\w+$",
      "type": "string"
    }
  },
  "required": [
    "item_type",
    "item_id"
  ],
  "type": "object"
}
tiles_get_scene_tileGet a tile image for a specific item at a given latitude and longitude. Latitude and longitude must be in decimal degrees. item_type and item_id are required. Suitable items can be found with the data_search tool.
Input schema
{
  "properties": {
    "item_type": {
      "pattern": "^\\w+$",
      "type": "string"
    },
    "item_id": {
      "pattern": "^\\w+$",
      "type": "string"
    },
    "lat": {
      "maximum": 90,
      "minimum": -90,
      "type": "number"
    },
    "long": {
      "maximum": 180,
      "minimum": -180,
      "type": "number"
    },
    "zoom": {
      "default": 14,
      "maximum": 15,
      "minimum": 10,
      "type": "integer"
    }
  },
  "required": [
    "item_type",
    "item_id",
    "lat",
    "long"
  ],
  "type": "object"
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Planet MCP Server questions

How do I install Planet MCP Server?

Install the selected package version with: python -m pip install 'planet-mcp==0.3.0'

What tools does Planet MCP Server provide?

Planet MCP Server exposed 40 tools during independent protocol observation, including sdk_data_activate_asset, sdk_data_download_asset, sdk_data_get_asset, sdk_data_get_item, sdk_data_get_item_coverage, sdk_data_list_item_assets, sdk_data_run_search, sdk_data_search, and others.

Is Planet MCP Server secure?

Our scanner tested version 0.3.0 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.