Skip to main content

Planet MCP

planet-mcp is a local MCP server powered by the Planet SDK. It allows an AI agent/chat to interact with the Planet API.

To get started with your preferred AI agent, find it in the Usage section below.

Beta warning

This is experimental software. This MCP service will invoke the Planet SDK/CLI on your behalf. It can create and modify orders, subscriptions, and more. Do not disable tool approvals and always carefully review tool prompts before approving them. Use at your own risk.

Tools may be added, removed or altered based on testing/feedback.

Reminder: MCP servers and tools will increase the number of tokens used during interactions with your LLM provider.

We would love to hear back from you after using this, if you have a feature request or find something isn't working please file a Github issue for us! Thanks

Usage

Prerequisites

  1. Python 3.11 or higher

To install the Planet MCP server, use pip or your preferred package manager:

pip install planet-mcp

This will also install the planet SDK.

Authentication

You must authenticate your Planet account before using the local MCP server. You can do this by running:

planet auth login

NOTE

if you have PL_API_KEY set globaly, you should run unset PL_API_KEY and then planet auth reset and planet auth login again.


Supported AI assistants

The following AI agents have been tested with the Planet local MCP. For other agents, refer to their documentation for adding a custom MCP server (the Planet local MCP uses stdio transport).

Claude Code

To connect with Claude Code, run the following command:

claude mcp add planet planet-mcp

Claude Desktop

To connect using Claude Desktop, add the following to your claude_desktop_config.json file (see MCP documentation for more details):

{
  "mcpServers": {
    "planet": {
      "type": "stdio",
      "command": "planet-mcp"
    }
  }
}

Gemini CLI

To connect using Gemini CLI, add the following to your ~/.gemini/settings.json file:

"mcpServers": {
  "planet": {
    "command": "planet-mcp",
    "description": "Planet MCP Server",
    "timeout": 30000,
    "trust": false
  }
}

GitHub Copilot

To connect using GitHub Copilot, configure the mcp.json file (see VSCode docs) with the following configuration:

{
  "servers": {
    "planet": {
      "type": "stdio",
      "command": "planet-mcp"
    }
  }
}

Customizing the tools

If you'd like, you can enable or disable specific tools in the MCP server. For example, if you're only working with the orders tooling: You can start the server with just the that enabled: --include-tags=orders

If you want to keep the defaults, but disable a certain tool, you can: --exclude-tags=destinations

In order to disable more than one tool you can provide a comma separated list like: --exclude-tags=destinations,mosaics

By default, we have disabled download tools and the subscriptions tools, as we have found those tools don't work very well with LLMs at the moment.

Example queries

  • Does Planet have any recent imagery over Puget Sound?
  • List my feature collections
  • Order me the latest high-res imagery over the Netherlands
  • Create a PlanetScope order with the first item in my Netherlands Feature Collection.

Troubleshooting

Unable to launch planet-mcp (ENOENT, No such file or directory, etc.):

This is likely due to the planet-mcp package being installed to a different Python environment than the one your AI agent is using. The easiest way to resolve this is to run which planet-mcp after installing the package, and then copy the full path to your AI agent's MCP configuration. For example, if which planet-mcp returns /home/user/.local/share/virtualenvs/test/bin/planet-mcp, your config file would look like:

{
  "servers": {
    "planet": {
      "command": "/home/user/.local/share/virtualenvs/test/bin/planet-mcp"
    }
  }
}

Local dev

Prerequisites

  • python (>= 3.11) + uv
  • npx + friends (node >= 20) (to run inspector, if desired)

With Makefile

  1. make dev-up
  2. Optional, make inspector

Without Makefile

  1. Create and activate virtual environment using uv:

    uv venv
    
    source .venv/bin/activate
    
  2. Install dependencies using uv:

    uv pip install -e '.'
    
  3. Run mcp server

    planet-mcp
    

Optional run the inspector with

uv run fastmcp dev src/planet_mcp/main.py

Metadata

Release files for iflow-mcp-planetlabs-planet-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp-planetlabs-planet-mcp 0.3.0
File Size Uploaded
iflow_mcp_planetlabs_planet_mcp-0.3.0.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp-planetlabs-planet-mcp 0.3.0
File Interpreter ABI Platform
iflow_mcp_planetlabs_planet_mcp-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.7 kB

Release files / iflow_mcp_planetlabs_planet_mcp-0.3.0.tar.gz

Download URL iflow_mcp_planetlabs_planet_mcp-0.3.0.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7bf5dc1561117161ee80097c9f3b42609537cd2112fc2cbe83ffce17ab2420e1
BLAKE2b-256 checksum
How to use checksums
495c2bd6015ec56cd34dd189476f3f2907c334f3b495bd233622aeed89e18dcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_planetlabs_planet_mcp-0.3.0-py3-none-any.whl

Download URL iflow_mcp_planetlabs_planet_mcp-0.3.0-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
34366b8b508c0541229631186112dc71e47eb53b70d3f94698b8251600d4a457
BLAKE2b-256 checksum
How to use checksums
cc6097083756d952b9071459e4308102b1bc0f02c5da07e66a0f6ef3348031e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page