> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useblueprints.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP tools

> Available Blueprints MCP tools and when to use them.

MCP tools are grouped by workflow. Tool names are stable enough for client configuration and prompting, but clients should still read each tool schema at runtime.

## Read-only and mutating tools

Read-only tools inspect state or search supported inputs. Mutating tools create, edit, deploy, or stop resources in the authenticated account.

Use MCP only in clients you trust with account access. Ask your MCP client to confirm mutating calls before execution, and do not approve deploy or stop actions unless you initiated them. This is especially important for `build_blueprint`, `deploy_blueprint`, and `stop_blueprint`.

## Blueprint management

| Tool                  | Scope              | Mutates | Key arguments          | Purpose                                                |
| --------------------- | ------------------ | ------- | ---------------------- | ------------------------------------------------------ |
| `list_blueprints`     | `blueprints:read`  | No      | none                   | List blueprints owned by the authenticated account     |
| `get_blueprint_state` | `blueprints:read`  | No      | `blueprint_id`         | Read nodes, connections, layout, and deployment status |
| `create_blueprint`    | `blueprints:write` | Yes     | `name`                 | Create an empty blueprint                              |
| `rename_blueprint`    | `blueprints:write` | Yes     | `blueprint_id`, `name` | Rename an existing blueprint                           |

## Blueprint editing

| Tool                  | Scope              | Mutates | Key arguments                              | Purpose                                                     |
| --------------------- | ------------------ | ------- | ------------------------------------------ | ----------------------------------------------------------- |
| `describe_node_types` | none               | No      | optional node type filters                 | Discover supported building blocks and expected inputs      |
| `validate_blueprint`  | `blueprints:read`  | No      | `blueprint_id`                             | Check a blueprint for structural and configuration issues   |
| `add_node`            | `blueprints:write` | Yes     | `blueprint_id`, `type`, `config`           | Add a building block to a blueprint                         |
| `configure_node`      | `blueprints:write` | Yes     | `blueprint_id`, `node_id`, `config`        | Update a building block configuration                       |
| `connect_nodes`       | `blueprints:write` | Yes     | `blueprint_id`, source and target node IDs | Connect two existing building blocks                        |
| `delete_node`         | `blueprints:write` | Yes     | `blueprint_id`, `node_id`                  | Remove a building block and its connections                 |
| `build_blueprint`     | `blueprints:write` | Yes     | `blueprint_id`, nodes, edges               | Add multiple building blocks and connections in one request |
| `auto_layout`         | `blueprints:write` | Yes     | `blueprint_id`                             | Arrange a blueprint visually                                |

## Market search

| Tool                 | Scope | Mutates | Key arguments          | Purpose                        |
| -------------------- | ----- | ------- | ---------------------- | ------------------------------ |
| `search_markets`     | none  | No      | `query` or market slug | Search Polymarket markets      |
| `search_stocks`      | none  | No      | `query`                | Search supported stock symbols |
| `search_forex_pairs` | none  | No      | `query`                | Search supported forex pairs   |

## Live controls

| Tool               | Scope               | Mutates | Key arguments  | Purpose                    |
| ------------------ | ------------------- | ------- | -------------- | -------------------------- |
| `deploy_blueprint` | `blueprints:deploy` | Yes     | `blueprint_id` | Start a reviewed blueprint |
| `stop_blueprint`   | `blueprints:deploy` | Yes     | `blueprint_id` | Stop a running blueprint   |

## Recommended flow

1. Call `list_blueprints` or `create_blueprint`.
2. Call `get_blueprint_state` before editing an existing blueprint.
3. Call `describe_node_types` when the client needs available building blocks.
4. Use editing tools to make the change.
5. Call `validate_blueprint`.
6. Review the result before calling `deploy_blueprint`.

## Prompting pattern

For safer edits, ask the client to separate planning from execution:

```text theme={null}
Inspect this blueprint, explain the exact edits you plan to make, then wait for my approval before calling any mutating tools.
```

For deployment:

```text theme={null}
Validate the blueprint and summarize any warnings. Do not deploy until I explicitly approve.
```
