# Tools Overview

> The consolidated Lexsis Storefront MCP surface

Canonical URL: https://c22dfdd27662:3005/tools

The Storefront MCP exposes stable domain tools. Most new capabilities are added
as actions inside these tools. Four tools remain dedicated to MCP Apps because
each panel has a distinct interaction boundary.

## Calling a tool

Every domain tool uses the same envelope:

```json
{
  "action": "get",
  "args": {
    "product_id": "gid://shopify/Product/123"
  }
}
```

If you do not know an action's exact arguments, call:

```json
{
  "name": "lexsis_discover",
  "arguments": {
    "router": "lexsis_catalog",
    "action": "get"
  }
}
```

`lexsis_discover` ranks natural-language queries such as `{"query":"publish cart"}`
and returns up to 10 matches by default. Action names and their descriptions
rank above general router text. The first 3 results include input schemas;
`include_schema:true` includes a schema for every returned result. Use `limit`
(1-100) and `offset` for paging. Responses include `total_matches`, `next_offset`
and relevance `score`. Exact router/action discovery returns that action's
schema, description, safety metadata and former operation name.

Transient service and proxy failures return `code:"UPSTREAM_UNAVAILABLE"`,
`error.code:"UPSTREAM_UNAVAILABLE"`, top-level `retryable:true` and
`retry_after_s`. Wait that long before retrying. For writes, inspect the latest
version/history first: a lost response may follow a successful write. Published
storefront pages use a recent cached render where available; otherwise they
return 503 with `Retry-After`, never an outage-driven 404.

## Public tools

| Tool | Actions |
|------|---------|
| `lexsis_discover` | Search capabilities and retrieve exact action schemas |
| `lexsis_workspace` | `list`, `get`, `stores`, `credits` |
| `lexsis_assets` | `capabilities`, `view` |
| `lexsis_asset_library` | `search` with read-only query and result evidence |
| `lexsis_asset_select` | `select` with interactive existing-asset selection |
| `lexsis_asset_import` | `import` from URL, base64 image data, or conversation attachments |
| `lexsis_asset_upload` | `upload` with interactive local file selection |
| `lexsis_campaigns` | `creatives`, `analyze`, `frames`, `personas`, `match_persona` |
| `lexsis_brand` | `brand_kit`, `list_themes`, `get_theme`, `navigation`, `compile_theme` |
| `lexsis_catalog` | `list`, `get` |
| `lexsis_pages` | `list`, `find`, `get`, `edit_context`, `content`, `source`, `section_source`, `inspect`, `diff`, `integrity`, `compile` |
| `lexsis_design` | `guide`, `islands`, `island_schema`, `get_section` |
| `lexsis_template_library` | `search_sections`, `search_page_kits` with an interactive gallery |
| `lexsis_analytics` | `timeseries`, `page`, `experiment` |
| `lexsis_capture` | `form_schemas`, `submissions`, `quiz_inspect`, `quiz_responses`, `quiz_response` |
| `lexsis_cart` | `get`, `capabilities`, `promotions`, `preview`, `preview_states` |
| `lexsis_support` | `search_docs` |
| `lexsis_drafts` | Reversible writes: asset, theme, page, experiment, review collection, cart changes, and `quiz_prepare` |
| `lexsis_page_create` | `create` with an interactive page preview |
| `lexsis_live_ops` | `publish`, `unpublish`, `delete`, `rollback`, `scale_winner`, `quiz_activate`, `quiz_deactivate` |

## Safety boundaries

- Read-only domain tools can run without approval.
- `lexsis_drafts` contains reversible or draft-scoped writes. Preparing a quiz
  capture policy does not activate collection.
- `lexsis_live_ops` changes live state and always requires explicit approval.

This separation lets MCP clients apply permissions at the tool level without
mixing page reads with publishing or deletion.

## Common workflows

### Create a page

1. `lexsis_brand` → `brand_kit`
2. `lexsis_catalog` → `get`
3. `lexsis_template_library` → `search_sections`
4. `lexsis_pages` → `compile`
5. `lexsis_page_create` → `create`
6. Verify the returned preview with your agent's browser capability
7. After approval, `lexsis_live_ops` → `publish`

### Edit a page

1. `lexsis_pages` → `find`
2. `lexsis_pages` → `edit_context`
3. `lexsis_pages` → `section_source`
4. `lexsis_drafts` → `page_patch` or `page_update_section`
5. `lexsis_pages` → `integrity`
6. `lexsis_pages` → `diff`

### Build a quiz

Use the [Quiz island](/islands/engagement/quiz) with products from the selected
store. For optional saved responses, follow the
[Quiz capture workflow](/tools/forms#quiz-capture-workflow): inspect the saved
version, prepare its policy, approve and activate it, publish the reviewed
page, then verify a consented response on the returned published URL.

## Hard cutover

The former one-tool-per-operation MCP surface has been removed. `/mcp/legacy`
returns HTTP 410 and no local legacy flag is supported. Use
`lexsis_discover` to map a former operation name to its consolidated router,
action, and current input schema.

## Related

- [Authentication](/getting-started/authentication)
- [Generation guide](/resources/generation-guide)
- [Page management](/tools/page-management)
- [Interactive widgets](/tools/interactive-widgets)
