MCP Tools

Connect Claude and other AI agents to getlaunch.dev using the Model Context Protocol.


Connecting

There are two ways to connect an MCP client:

OAuth 2.0 — claude.ai and OAuth-capable clients

For clients that support OAuth (such as claude.ai), no API key setup is required:

  1. In your AI client, add a new MCP server with URL https://api.getlaunch.dev/mcp, give it a name (e.g. getlaunch), and click Connect
  2. You'll be redirected to the getlaunch.dev authorization page
  3. Review the requested permissions and click Allow
  4. The client receives access automatically — no copy-pasting required

The granted token appears in your API Keys list as oauth2:<client-name>. Delete it there to revoke access at any time.

API Key — Claude Desktop · Claude Code CLI · custom tools

For clients that require manual configuration, create an API key at Dashboard → API Keys and add it to your client config.

EndpointPOST https://api.getlaunch.dev/mcp
AuthAuthorization: Bearer <api-key>

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "getlaunch": {
      "type": "http",
      "url": "https://api.getlaunch.dev/mcp",
      "headers": {
        "Authorization": "Bearer glk_your_key_here"
      }
    }
  }
}

Claude Code (CLI)

claude mcp add --transport http getlaunch https://api.getlaunch.dev/mcp \
  --header "Authorization: Bearer glk_your_key_here"

Grant only the scopes your AI assistant needs.


Required Scopes

ScopeTools unlocked
projects:readlist_projects, get_project, list_vcs_connections, list_repositories
projects:writecreate_project, update_project, create_storage_project, delete_project, get_github_connect_url
deployments:readlist_deployments, get_deployment_logs, get_container_logs
deployments:writetrigger_deployment
files:readlist_project_files
files:writeupload_static_files
billing:readget_subscription, list_invoices, get_quota

18 tools total.


Tool Reference

Projects

list_projects · projects:read

List all projects owned by the authenticated user with latest deployment status.

Returns: id, name, deployment_type, generated_by, branch, service_url, latest_deployment_status, deployed_at

No parameters.


get_project · projects:read

Get full configuration and metadata of a specific project.

Returns: id, name, slug, deployment_type, generated_by, repository_url, branch, auto_deploy, port, service_url, env_var_keys, created_at

ParameterTypeRequiredDescription
project_idstring✅Obtain from list_projects

create_project · projects:write

Create a project backed by a GitHub repository.

ParameterTypeRequiredDescription
namestring✅Human-readable name
vcs_connection_idstring✅From list_vcs_connections
repository_urlstring✅Full HTTPS clone URL, from list_repositories
deployment_typestring✅container or static_web
branchstringDefaults to main
portnumberContainer port, defaults to 3000
dockerfile_pathstringRelative path to Dockerfile
auto_deploybooleanAuto-deploy on push, defaults to false

update_project · projects:write

Update project configuration. All fields optional — omit to keep current value.

ParameterTypeRequiredDescription
project_idstring✅
branchstring
auto_deploystring"true" or "false"
portnumberContainer only
dockerfile_pathstringContainer only
env_vars_jsonstringJSON object e.g. {"KEY":"value"} — replaces all env vars

create_storage_project · projects:write

Create a storage project for hosting static files without a git repository.

Returns: id, name, slug, created_at

ParameterTypeRequiredDescription
namestring✅Human-readable name

delete_project · projects:write

Permanently delete a project and all its resources. Irreversible.

ParameterTypeRequiredDescription
project_idstring✅

Files

upload_static_files · files:write

Upload files to a storage project and deploy them live. Triggers deployment automatically — response includes public_url.

ParameterTypeRequiredDescription
project_idstring✅Must be a storage project
files_jsonstring✅JSON array: [{"path":"index.html","content":"...","content_type":"text/html"}]. content_type is optional.

list_project_files · files:read

List files currently deployed in a storage project.

Returns: path, size (bytes), last_modified

ParameterTypeRequiredDescription
project_idstring✅Must be a storage project

Deployments

trigger_deployment · deployments:write

Trigger a build and deployment for a git-backed project.

Returns: id, status, created_at

ParameterTypeRequiredDescription
project_idstring✅
commit_shastringDefaults to latest commit on branch

list_deployments · deployments:read

List recent deployments for a project, newest first.

Returns: id, status, commit_sha, deployment_type, public_url, error_message, deployed_at, created_at

Status values: pending · building · deploying · running · failed · superseded

ParameterTypeRequiredDescription
project_idstring✅
limitnumber1–50, defaults to 10

get_deployment_logs · deployments:read

Fetch raw build logs for a specific deployment.

ParameterTypeRequiredDescription
project_idstring✅
deployment_idstring✅From list_deployments or trigger_deployment

get_container_logs · deployments:read

Fetch recent runtime logs from a live container (last ~100 lines, last 15 minutes). Container projects only. For a pay-as-you-go web app, which has no runtime logs yet, it returns the app's health summary for the last 24 hours instead.

ParameterTypeRequiredDescription
project_idstring✅Must be a container project

GitHub

list_vcs_connections · projects:read

List connected GitHub accounts.

Returns: id, provider, created_at

No parameters.


get_github_connect_url · projects:write

Generate a one-time OAuth URL for connecting a GitHub account. User must open it in a browser.

No parameters.


list_repositories · projects:read

List GitHub repositories accessible via a VCS connection.

Returns: id, name, full_name, clone_url, private, default_branch

ParameterTypeRequiredDescription
connection_idstring✅From list_vcs_connections

Billing

get_subscription · billing:read

Get current subscription status.

Returns: tier_name, status, cycle_start, cycle_end, cancelled_at, grace_period_until

No parameters.


list_invoices · billing:read

List all invoices, newest first.

Returns: id, month, base_fee_idr, overage_fee_idr, total_idr, payment_status, period_start, period_end, paid_at

No parameters.


get_quota · billing:read

Get resource limits for the current subscription tier.

Returns: containers, static_sites, cpu_hours, requests, data_transfer_gb, storage_gb, is_custom

No parameters.


Tips

Start read-only. Give the AI projects:read + deployments:read first. Once you trust it, add write scopes.

Separate keys per client. One key for Claude Desktop, another for automations. Makes it easy to revoke one without breaking everything else.

delete_project is irreversible. If you don't want the AI to be able to delete projects, don't grant projects:write — or grant it only temporarily.

env_vars_json replaces all env vars. When calling update_project, always fetch the current env var keys with get_project first, then reconstruct the full set.


What's Next