> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dforms/developers/mcp-connector.md).

# Connect your AI agent (MCP)

Connect Claude, ChatGPT, Claude Code, Codex, Cursor, OpenClaw or Hermes to dForms with the MCP connector. Sign in with your account, no API key. What the agent can do, which actions ask for your confi

The dForms MCP connector lets your AI assistant build, edit and publish forms, read responses and check analytics right from a chat. You connect it once with your dForms account and it can work in every workspace you can open.

The connector is the dForms MCP server at:

```
https://mcp.dforms.ai/mcp
```

* **No API key.** Your AI app signs you in with your account (OAuth) the first time it calls dForms. There is nothing to create, copy or store.
* **One connector, all your workspaces.** It works in any workspace you can open in dForms.
* **Any member can connect.** Owners, admins and members alike, without asking the workspace owner.

In dForms, **Connect your agent** in the left menu shows the same steps as this page, with the URL and every command ready to copy.

***

## Before you connect

* **Open dForms on the web once** with the account you will connect, at [app.dforms.ai](https://app.dforms.ai). That sign-in is what links your workspaces to the connector. A workspace you have not opened on the web in the last 30 days is not reachable until you open dForms again.
* **Signed in before 23 October 2026?** Log out of dForms (**Log out** in the profile menu) and sign in again once, then connect. Older sessions do not carry what the connector needs to link your account.
* **Your role applies.** Every tool acts as you, with your role in that workspace (owner, admin or member). What you cannot do in the dashboard, the agent cannot do either.
* **Several workspaces?** Your AI app asks which one to use. To change, just say "switch to ". Every answer says which workspace it used.

***

## Connect your app

{% tabs %}
{% tab title="Claude" %}
For claude.ai, Claude Desktop and Cowork.

**Step 1:** In Claude, click **+** in the chat box, then **Connectors → Add connector → Add custom connector**.

**Step 2:** Use `dForms` as the name and paste this URL. Leave the advanced settings empty and click **Add**.

```
https://mcp.dforms.ai/mcp
```

**Step 3:** Your browser opens the sign-in page. Enter your email and type the 6-digit code we send you. Back in Claude, dForms shows as **Connected**.

**Step 4:** Open a new chat and ask, for example: *List my forms in dForms*.
{% endtab %}

{% tab title="ChatGPT" %}
**Step 1:** In the ChatGPT desktop app, switch to **Work** mode. Open **Plugins**, click **Add** and choose **Create MCP App**.

**Step 2:** Fill in the form. Name: `dForms`. Server URL: paste the address below. Leave Authentication on **OAuth**. Check **I understand and want to continue** and create it.

```
https://mcp.dforms.ai/mcp
```

**Step 3:** Click **Continue**. Your browser opens: log in if it asks, then click **Open ChatGPT** to come back.

**Step 4:** In **Plugins**, open the **Personal** tab, choose **dForms** and click **Install plugin**. The browser opens once more to link your account: click **Open ChatGPT** again. That second sign-in is expected.

**Step 5:** Click **Try now**, type `@dForms` and ask, for example: *List my forms in dForms*.
{% endtab %}

{% tab title="Claude Code" %}
**Step 1:** In a terminal, run:

```bash
claude mcp add --transport http --scope user dforms https://mcp.dforms.ai/mcp
```

**Step 2:** Open Claude Code, run `/mcp`, choose **dforms** and then **Authenticate**. Log in in the browser and come back to the terminal.

**Step 3:** Ask, for example: *List my forms in dForms*.

> **💡 Tip:** Already connected dForms in Claude? Claude Code logged in with the same Claude account uses that connector too: run `/mcp` to check.
> {% endtab %}

{% tab title="Codex" %}
**Step 1:** In a terminal, run:

```bash
codex mcp add dforms --url https://mcp.dforms.ai/mcp
```

**Step 2:** Run this command. Your browser opens: log in and come back to the terminal.

```bash
codex mcp login dforms
```

**Step 3:** Open Codex and ask, for example: *List my forms in dForms*.

> **💡 Tip:** Using the Codex or ChatGPT desktop app? Follow the **ChatGPT** tab.
> {% endtab %}

{% tab title="Cursor" %}
**Step 1:** With Cursor installed, click **Add to Cursor** on the **Connect your agent** page in dForms. Or open **Customize → MCPs → New MCP Server**, choose **User** and paste this into `mcp.json`:

```json
{
  "mcpServers": {
    "dforms": {
      "url": "https://mcp.dforms.ai/mcp"
    }
  }
}
```

**Step 2:** **dforms** shows up with **Needs authentication**. Click **Authenticate**, log in in the browser, click **Allow access** and then **Open Cursor**.

**Step 3:** Open a **New Chat** and ask, for example: *List my forms in dForms*. Cursor asks before it runs a tool: click **Run**.
{% endtab %}

{% tab title="OpenClaw" %}
**Step 1:** In a terminal, save dForms as a remote MCP server that logs in with your account:

```bash
openclaw mcp set dforms '{"url":"https://mcp.dforms.ai/mcp","transport":"streamable-http","auth":"oauth"}'
```

**Step 2:** Run this command. Your browser opens: log in and come back to the terminal. `openclaw mcp status --verbose` then shows dforms as authorized.

```bash
openclaw mcp login dforms
```

**Step 3:** Ask your OpenClaw agent, for example: *List my forms in dForms*.
{% endtab %}

{% tab title="Hermes" %}
**Step 1:** Open `~/.hermes/config.yaml` (or run `hermes config edit`) and add dForms under `mcp_servers`:

```yaml
mcp_servers:
  dforms:
    url: "https://mcp.dforms.ai/mcp"
    auth: oauth
```

**Step 2:** Run this command. Your browser opens: log in and come back to the terminal. Then start a new session, or run `/reload-mcp` in the one you have open.

```bash
hermes mcp login dforms
```

**Step 3:** Ask your Hermes agent, for example: *List my forms in dForms*.
{% endtab %}
{% endtabs %}

***

## What you can do

You never call a tool yourself. Ask in your own words and your agent picks the right one. The connector has 49 tools, in these groups:

| Group                      | What your agent can do                                                                                                                                                                                                                                                                                                                                                     |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Forms**                  | List your forms, open one with all its questions, logic and design, create a form from a description, edit it as a draft, publish it, go back to the version that was live before, discard unpublished changes, duplicate, delete, and change the end of its link.                                                                                                         |
| **Responses and CSV**      | List a form's responses with filters by date, status or score, read one in full, open a file someone uploaded, see how the answers to each question add up, find responses that mention something, export to CSV, and delete one or several responses.                                                                                                                     |
| **Analytics**              | Views, starts, completions and drop-off by step, and a short summary of how a form is doing.                                                                                                                                                                                                                                                                               |
| **Folders**                | List, create, rename and delete folders (their forms stay), and move a form into a folder.                                                                                                                                                                                                                                                                                 |
| **Brand kit**              | Read and edit the workspace's logo, colors and fonts, apply the brand kit to a form, and take a form back to the design it had before.                                                                                                                                                                                                                                     |
| **Emails**                 | Read and edit the notification emails of the workspace and of each form, and put them back to their default.                                                                                                                                                                                                                                                               |
| **Link page**              | Read and edit, publish or delete the workspace's public page with your forms and links.                                                                                                                                                                                                                                                                                    |
| **Integrations**           | See which apps are connected (HubSpot, Calendly), a form's webhooks, the HubSpot fields a question can fill and the Calendly events a form can book, see which responses were delivered and which failed, choose where a form's responses go (webhooks or HubSpot), and send a test to a webhook. Connecting or disconnecting HubSpot and Calendly stays in the dashboard. |
| **Account and workspaces** | Check who is connected and in which workspace, list the workspaces you can work in, read your public page and the workspace link code.                                                                                                                                                                                                                                     |

The connector does not manage API keys, members, workspaces, your profile, the language, the workspace link code, or connect and disconnect integrations. Those stay in the dashboard.

### Actions that change or delete data

Reading tools change nothing. Tools that create or edit (a new form, a draft edit, a folder, a brand kit change, an email) change data in your workspace.

These tools are marked as destructive. Before running one, the agent tells you exactly what will change or be deleted and waits for your yes:

* **Delete:** `delete_form`, `delete_folder`, `delete_response`, `delete_responses`
* **Replace what is live or saved:** `publish_form`, `revert_form`, `discard_draft`, `apply_brand_kit`, `revert_brand_kit`, `reset_notification`, `reset_form_notification`, `update_link_page`, `set_destinations`

Deleting cannot be undone, the same as in the dashboard. See [Security & Privacy](/dforms/security-and-privacy.md#deleting-data) for what a delete removes.

> **⚠️ Note:** The brand kit edits, the notification emails and the webhook test are kept to owners and admins, as in the dashboard. A member who asks for them gets a refusal that says so.

***

## Troubleshooting

**Signed in but refused.** The connection signs in, then dForms answers that it cannot act for this account. That means dForms has not linked that sign-in to a workspace yet: you never opened dForms on the web with that account, you have not opened it in the last 30 days, or you have no active workspace. Open [app.dforms.ai](https://app.dforms.ai) with that same account, then connect again. If you signed in before 23 October 2026, log out and sign in again first.

**The agent does not see a workspace.** Open that workspace once in dForms on the web, then ask again. A workspace you were removed from, or where your member was deactivated, drops out on the next call.

**The agent asks which workspace to use.** That is expected when you have several. Answer with the workspace name.

**"Too many writes".** Writes are rate limited per person and per workspace. Wait a moment and ask again.

***

## Privacy and support

* [MCP connector privacy](/dforms/developers/mcp-privacy.md): what the connector can read and change, what dForms records for each call, and how to disconnect.
* Support, privacy and security reports: <josue@daptatech.com>.

***

## What's next

* [MCP connector privacy](/dforms/developers/mcp-privacy.md)
* [Security & Privacy](/dforms/security-and-privacy.md)
* [Members & roles](/dforms/account/members-and-roles.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/dforms/developers/mcp-connector.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
