Skip to main content

Terra MCP Server

A Model Context Protocol server that allows LLMs to configure the TerraAPI dashboard.

Quickstart

Get started quickly with one of these installation options:

For Cursor users: Install MCP Server

For VS Code users: Install with UV in VS Code

Available Tools

  • terra_get_integrations
    • Description: Get list of available integrations.
    • Parameters: None
  • terra_get_detailed_integrations
    • Description: Retrieve a detailed list of supported integrations, filtered by the developer's enabled integrations and the requirement for SDK usage.
    • Parameters:
      • sdk (Optional[bool]): If true, allows SDK integrations to be included in the response.
  • get_destinations
  • get_developer_destination_credentials
    • Description: Get developer destination credentials.
    • Parameters:
      • destination (str): The destination to get credentials for.
  • delete_destination
    • Description: Delete a destination.
    • Parameters:
      • destination (str): The destination to delete.
      • dev_id (Optional[str]): Developer ID. If not provided, uses the environment variable.
  • set_destination_state
    • Description: Set destination state (active or inactive).
    • Parameters:
      • destination (str): The destination to update.
      • active (bool): Whether the destination should be active or not.
  • add_developer_destination
    • Description: Add developer destination.
    • Parameters:
      • destination (str): The destination type to add (e.g. 's3', 'sql', 'webhook').
      • scheme (str): The scheme (e.g 's3/postgres/https/mysql').
      • host (str): The host (e.g 'webhook.site', 'eu-west-2', 'localhost').
      • path (Optional[str]): The path (e.g bucket name, database name, webhook path without leading '/').
      • user (Optional[str]): Username for credentials.
      • password (Optional[str]): Password for credentials.
      • port (Optional[int]): Port for the service if needed.
      • query (Optional[str]): Query string if needed.
      • certificate (Optional[str]): Certificate for certain destinations like GCS.
      • complete_destination (bool, default: True): If true, ping the destination before adding.
  • ping_developer_destination
    • Description: Ping a developer destination to check if it's reachable.
    • Parameters:
      • destination (str): The destination type to ping.
      • scheme (str): The scheme (e.g 's3/postgres/https/mysql').
      • host (str): The host (e.g 'webhook.site', 'eu-west-2', 'localhost').
      • path (Optional[str]): The path (e.g bucket name, database name, webhook path).
      • user (Optional[str]): Username for credentials.
      • password (Optional[str]): Password for credentials.
      • port (Optional[int]): Port for the service if needed.
      • query (Optional[str]): Query string if needed.
      • certificate (Optional[str]): Certificate for certain destinations like GCS.
  • set_provider_keys
    • Description: Set provider keys.
    • Parameters:
      • resource (str): The provider resource.
      • client_id (str): The client ID for the provider.
      • client_secret (str): The client secret for the provider.
      • redirect_url (Optional[str]): The redirect URL for the provider.
  • get_provider_keys
    • Description: Get provider keys.
    • Parameters:
      • resource (str): The provider resource.
  • get_developer_providers
    • Description: Get developer providers.
    • Parameters: None
  • add_providers
    • Description: Add providers.
    • Parameters:
      • providers (list[str]): list of providers to add.
  • deactivate_provider
    • Description: Delete provider.
    • Parameters:
      • provider (str): The provider to deactivate.
  • set_provider_state
    • Description: Set provider state (active or inactive).
    • Parameters:
      • provider (str): The provider to update.
      • active (bool): Whether the provider should be active or not.
  • get_providers_by_popularity
    • Description: Get providers ranked by popularity.
    • Parameters: None
  • add_custom_credentials
    • Description: Add custom credentials for a provider.
    • Parameters:
      • provider (str): The provider to add credentials for.
      • client_id (str): The client ID.
      • client_secret (str): The client secret.
      • redirect_url (Optional[str]): The redirect URL.
  • get_custom_credentials
    • Description: Get custom credentials for a provider.
    • Parameters:
      • provider (str): The provider to get credentials for.
  • search_documentation
    • Description: Allows the MCP client to search our docs.
    • Parameters:
      • query (str): Search query.

Installation

When using uv no specific installation is needed. We will use uvx to directly run terramcp.

uv Installation

Mac / Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Using PIP

Alternatively you can install terramcp via pip:

pip install terramcp

After installation, you can run it as a script using:

python -m terramcp

Configuration

Configure for Claude.app

Add to your Claude settings:

Using uvx
{
  "mcpServers": {
    "terramcp": {
      "command": "uvx",
      "args": ["terramcp"],
      "env": {
        "TERRA_API_KEY": "your_api_key_here",
        "TERRA_DEV_ID": "your-dev-id-here"
      }
    }
  }
}
Using pip installation
{
  "mcpServers": {
    "terramcp": {
      "command": "python",
      "args": ["-m", "terramcp"],
      "env": {
        "TERRA_API_KEY": "your_api_key_here",
        "TERRA_DEV_ID": "your-dev-id-here"
      }
    }
  }
}

Configure for Zed

Add to your Zed settings.json:

Using uvx
"context_servers": [
  "terramcp": {
    "command": "uvx",
    "args": ["terramcp"],
    "env": {
        "TERRA_API_KEY": "your_api_key_here",
        "TERRA_DEV_ID": "your-dev-id-here"
    }
  }
],
Using pip installation
"context_servers": {
  "terramcp": {
    "command": "python",
    "args": ["-m", "terramcp"],
    "env": {
        "TERRA_API_KEY": "your_api_key_here",
        "TERRA_DEV_ID": "your-dev-id-here"
    }
  }
},

Configure for VS Code

For quick installation, use one of the one-click install buttons below...

Install with UV in VS Code Install with UV in VS Code Insiders

For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON) .

Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

Note that the mcp key is needed when using the mcp.json file.

Using uvx
{
  "mcp": {
    "servers": {
      "terramcp": {
        "command": "uvx",
        "args": ["terramcp"],
        "env": {
            "TERRA_API_KEY": "your_api_key_here",
            "TERRA_DEV_ID": "your-dev-id-here"
        }
      }
    }
  }
}

Debugging

You can use the MCP inspector to debug the server. For uvx installations:

npx @modelcontextprotocol/inspector uvx terramcp

Or if you've installed the package in a specific directory or are developing on it:

cd path/to/servers/src/terramcp
npx @modelcontextprotocol/inspector uv run terramcp

License

terramcp is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Metadata

Release files for terramcp 0.1.5

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

Source distribution (sdist)

Source distribution for terramcp 0.1.5
File Size Uploaded Provenance
terramcp-0.1.5.tar.gz 9.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for terramcp 0.1.5
File Interpreter ABI Platform
terramcp-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 18.3 kB

Release files / terramcp-0.1.5.tar.gz

Download URL terramcp-0.1.5.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a594927b91bb4360657441816ec13bfbb9eb6afc739a699499d8f342b2248484
BLAKE2b-256 checksum
How to use checksums
6a9bccb1830c963b6d836a8e6f3ecb402f7171ca2a95936dc3f52ee38e31f7d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.3

Release files / terramcp-0.1.5-py3-none-any.whl

Download URL terramcp-0.1.5-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83741eda57486a21184b482b7b99bec7f096b12685bf799787b3b1bd2e7c08af
BLAKE2b-256 checksum
How to use checksums
6f3bbb73500b3ef14207154bfbb617a414763858accf049aa223df022f7abe67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.3

Security for terramcp 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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