# MCP server

Connect Claude, Cursor, VS Code and other AI tools to your Nisuform account to create forms, get embed code and work with submissions from a chat.

The Nisuform MCP server lets AI tools that support the [Model Context Protocol](https://modelcontextprotocol.io) work with your account. Ask your assistant to create a form and add it to your site, check today's submissions, or turn on spam protection, without opening the dashboard.

```text
https://mcp.nisuform.com/mcp
```

It is a remote server, so there is nothing to install. You sign in with your Nisuform account the first time you use it. There are no API keys to copy.

## Connect your AI tool

```sh
claude mcp add --transport http nisuform https://mcp.nisuform.com/mcp
```

Then run `/mcp` in Claude Code, pick **nisuform** and sign in.

In Claude on the web or the desktop app, open **Settings**, **Connectors** and choose **Add custom connector**. Name it Nisuform, paste `https://mcp.nisuform.com/mcp` and choose **Connect** to sign in.

Add the server to `~/.cursor/mcp.json`, or to `.cursor/mcp.json` in a project:

```json
{
  "mcpServers": {
    "nisuform": {
      "url": "https://mcp.nisuform.com/mcp"
    }
  }
}
```

Cursor asks you to sign in the first time a tool runs.

Add the server to `.vscode/mcp.json` in your project, then start it from the file and sign in. GitHub Copilot's agent mode can then use it.

```json
{
  "servers": {
    "nisuform": {
      "type": "http",
      "url": "https://mcp.nisuform.com/mcp"
    }
  }
}
```

Add the server to `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "nisuform": {
      "serverUrl": "https://mcp.nisuform.com/mcp"
    }
  }
}
```

Other tools work too if they support remote MCP servers over HTTP with OAuth sign-in. Use the URL above.

## Sign in

The first time your AI tool calls Nisuform, it opens a browser window. Sign in to Nisuform the way you usually do, with an email link or Google, and approve the access. Your tool then works as you:

* It sees the same teams and forms you see in the dashboard, and works in your active team. Ask it to switch teams when you need another one.
* It has the same permissions as you. A team member can't change what only the owner can.
* Pro features, like redirects, auto-replies and integrations, still need the team to be on Pro.

To disconnect, remove the server from your AI tool.

## What it can do

### Forms

| Tool                   | What it does                                                                                                                       |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `list_forms`           | Lists the forms in your active team with their endpoints and submission counts.                                                    |
| `get_form`             | Gets a form's fields, design and settings.                                                                                         |
| `create_form`          | Creates a form from a template: contact, waitlist, feedback, RSVP or blank.                                                        |
| `update_form`          | Changes a form's name, fields, design and settings, like notifications, redirects, limits and spam protection.                     |
| `get_embed_code`       | Returns the styled embed from the form builder, or a plain form to style yourself, for HTML, React, Next.js, Vue, Svelte or Astro. |
| `send_test_submission` | Sends a test submission and fires the form's notifications.                                                                        |

### Submissions

| Tool                | What it does                                                                        |
| ------------------- | ----------------------------------------------------------------------------------- |
| `list_submissions`  | Lists a form's submissions, newest first, filtered by all, unread, starred or spam. |
| `get_submission`    | Gets one submission with its answers, page, location and device.                    |
| `update_submission` | Marks a submission read or unread, stars it, or moves it in or out of spam.         |

### Teams and stats

| Tool          | What it does                                                           |
| ------------- | ---------------------------------------------------------------------- |
| `list_teams`  | Lists your teams and shows which one is active.                        |
| `switch_team` | Makes another team your active team.                                   |
| `get_stats`   | Returns submission totals and a daily series for the team or one form. |

The server can't delete forms, submissions, teams or your account, rotate form keys, or change billing. Do those in the [dashboard](https://app.nisuform.com).

## Things to ask

```text
Create a contact form called "Website contact" and add it to the contact page of this site.
```

```text
Show me this week's unread submissions from the waitlist form.
```

```text
Only accept submissions to the contact form from https://example.com and https://www.example.com.
```

```text
Add a required "Company" field to the demo request form, then update the embed on /demo.
```

## Stay in control

* Most AI tools ask before they run a tool. Read what the tool is about to change before you approve it, especially form settings.
* Submissions are written by anyone who fills in your form. Treat what your assistant reads in them as data, not as instructions, and check its next steps after it reads submissions.
* The server never sees your AI tool's files or conversations. It only receives the tool calls your assistant makes and the details it puts in them.

## Without the MCP server

To have an AI coding tool add a form to your site without connecting your account, give it your endpoint and the docs. See [Use an AI coding agent](/docs/ai-agents).
