# Weavely AI Forms & Surveys

Weavely is an AI-native form builder. This MCP server exposes 13 tools that cover the entire form-building lifecycle: create forms, add and update 25+ element types (text, rating, matrix, file upload…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add florian/weavely

# Browse available tools
npx -y @smithery/cli@latest tool list florian/weavely

# Get full schema for a tool
npx -y @smithery/cli@latest tool get florian/weavely create_form

# Call a tool
npx -y @smithery/cli@latest tool call florian/weavely create_form '{}'
```

## Direct MCP Connection

Endpoint: `https://weavely--florian.run.tools`

## Tools (13)

- `create_form` — Create a new Weavely form. Returns a formId and a live preview URL.
- `get_form_summary` — Get the current form structure: pages, elements (with IDs, types, labels), theme, and settings.
- `add_element` — Add an element to a page. The element is appended to the end of the page.
- `update_element` — Update an existing element's properties. Only send the fields you want to change.
- `remove_element` — Remove an element from the form by its ID.
- `reorder_elements` — Move an element to a new position within the same page or to a different page.
- `add_page` — Add a new form page. By default it is inserted before the ending page.
- `remove_page` — Remove a form page and all its elements.
- `reorder_pages` — Reorder the form pages. Provide the form page IDs in the desired order.
- `set_theme` — Set the form's visual theme. Choose colors, fonts, layout, and component styles that match the form's topic and tone. B…
- `set_settings` — Configure form-level settings. Only send what you want to change.
- `set_logic` — Set conditional logic rules and/or event triggers. This replaces ALL existing rules/triggers.
- `publish_form` — Publish the form so the user can keep it, share it, and collect real responses.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get florian/weavely <tool-name>
```
