---
title: app_plan_create
url: "/docs/ai-agents/mcp-tools/app-plans/app_plan_create/"
canonical_url: https://docs.blossom88.com/docs/ai-agents/mcp-tools/app-plans/app_plan_create/
markdown_url: https://docs.blossom88.com/docs/ai-agents/mcp-tools/app-plans/app_plan_create.md
summary: 'Save a Blossom App Plan from a Git repository: what it creates and its Capacity
  effect.'
categories:
- mcp
- reference
---

# app_plan_create

Save a Blossom App Plan from a Git repository: what it creates and its Capacity effect. Saving is free; app_plan_deploy deploys it.

| | |
|---|---|
| Access | Changes Blossom |
| Same as | [`blossom app_plan:create`](/docs/reference/cli/app_plan/create/) |

## Arguments

| Argument | Type | Description |
|---|---|---|
| `data` | object | The plan, as in app_plan.yml: the repository and how its Services run. Required. |
| `data.app_name` | string | App name; an existing App gets a new Environment. |
| `data.environment_name` | string | Environment name, such as production. |
| `data.clone_url` | string | Git URL of the repository, such as https://github.com/acme/shop. |
| `data.repository_type` | string | private needs a connected Git provider. One of: `public`, `private`. |
| `data.subfolder` | string | Deploy only this folder of the repository, such as apps/web. |
| `data.quickstart` | string | Start from a Quickstart key from quickstart_list instead of a repository. |
| `data.services` | object list | — |
| `data.services[].name` | string | Service name; the public one is usually web. |
| `data.services[].command` | string | How it runs, such as bundle exec puma -C config/puma.rb, or web for the Procfile's web process. |
| `data.services[].port` | integer | Port the process listens on. |
| `data.services[].publicly_exposed` | boolean | Serve it at the Environment's URL. |
| `data.services[].paths` | string list | Paths routed to this Service, such as /cable. |
| `data.services[].resources` | object | — |
| `data.env_vars` | object | Variables to set, by name. |
| `data.database_instance_id` | string | An existing Database to link. |
| `data.cache_instance_id` | string | An existing Cache to link. |
| `data.location_id` | string | Location id; defaults to the Account's default Location. |
| `location` | string | Location id; defaults to the Account's default Location. |
| `note` | string | A note for whoever reviews the plan: why it exists, what to check, what you decided. |
| `prepared_by` | string | The agent that prepared the plan, shown beside the person's name, such as Claude. |

## Example

```json
{"data":{"clone_url":"https://github.com/acme/shop","services":[{"name":"web","command":"web","port":3000,"publicly_exposed":true}]}}
```
