NeetoForm MCP server

Connect any MCP client to NeetoForm with your NeetoForm sign-in or an API key. Server URL, permissions, the full tools list, and troubleshooting.

What is NeetoForm MCP?

NeetoForm MCP lets AI assistants like Claude and ChatGPT work with your NeetoForm account. Once it's connected, you can ask your AI assistant which forms are collecting responses, read what people submitted, and turn hundreds of answers into a summary, a score, or a list of themes, in the same conversation where you're already working.

MCP stands for Model Context Protocol, an open standard for connecting AI assistants to the apps you use. You don't need to know anything about it. You connect once, sign in to NeetoForm, and start asking.

Your AI assistant talks to the NeetoForm MCP server. NeetoForm hosts it, so there's nothing to install or keep updated, and every workspace uses the same address:

https://connect.neetoform.com/mcp/messages

When you connect, you sign in with your NeetoForm account and pick your workspace. The assistant then works as you: it sees only the forms you can see, and does only what your role allows. It can find forms, read their questions and submissions, build and publish forms, set up logic, automation rules, themes, webhooks, and discount codes, share forms, export results, and manage your team members. You never name a tool; you ask in plain language. The full list is in the NeetoForm MCP tools reference.

NeetoForm also has a command-line tool, the NeetoForm CLI. It lists your forms and submissions from your terminal, in scripts, and in scheduled jobs. It's open source, so you can read exactly what it does, change it, and build on it.

Connect any MCP client

Every client uses the same server URL over HTTP (Streamable HTTP):

https://connect.neetoform.com/mcp/messages

The steps below sign you in with OAuth. To use an API key instead, see Connect with an API key.

Screen recording of the NeetoForm page in the Claude connector directory. Connect to Claude is clicked, a workspace is chosen, access is approved, and Claude shows NeetoForm as connected. A first question about registrations is then asked and answered.
Connecting NeetoForm to Claude from the Claude directory, then asking a first question.

Step-by-step guides for each AI assistant:

Which sign-in each client supports

ClientSign in (OAuth)API key
ClaudeYesNo
ChatGPTYesNo
Claude CodeYesYes
CodexYesYes
CursorYesYes
Antigravity CLIYesYes
VS CodeYesYes
DevinYesYes
AntigravityYesYes

Sign in and choose permissions

When you sign in, enter your workspace subdomain, not your email address. For acme.neetoform.com, enter acme.

What each permission allows

PermissionWhat it allows
ReadSee what your role lets you see in the selected workspaces. Always granted.
Stay connectedKeep working without asking you to sign in again. Always granted.
Create and updateAdd new items and change existing ones.
DeletePermanently delete items. This cannot be undone.

If you leave a permission unticked, a tool that needs it is refused with a message that names the permission. For example, a read-only connection can list forms and read submissions, but cannot invite, update, or deactivate anyone. Nothing half happens.

For developers: the OAuth metadata is at https://connect.neetoform.com/.well-known/oauth-authorization-server. The server supports the authorization_code and refresh_token grants with PKCE (S256) required. Clients register dynamically at https://connect.neetoform.com/mcp/oauth/register (RFC 7591), and loopback redirect URIs are accepted. Refresh tokens are issued, so you stay signed in.

Connect with an API key

An API key is not tied to a person. Every tool call reaches the whole workspace, and role checks do not run. Use one for automation that must see every form. Do not use one on a machine where the person should see only their own forms.

Get a key at help.neetoform.com/articles/api-keys. It is the same key the REST API uses. Send it in this header:

Authorization: Bearer YOUR_API_KEY

Each AI assistant's guide shows where its config file lives and how it sends the key.

Things to know about keys

  • One key is one workspace. To reach two workspaces, add the server twice, each with its own key and its own server name.
  • Keep the key private. It gives access to every form, submission, and team member in the workspace. Keep it out of shared config files and commits, and revoke it if it leaks.

How each interface signs in

InterfaceCredentialWhere it goes
REST APIAPI keyX-Api-Key header on each request.
CLIBrowser sign-in, stored per workspace~/.config/neetoform/auth.json. No API key involved.
MCPOAuth, or an API keyBrowser approval, or an Authorization: Bearer header in the config file.

NeetoForm MCP tools

Once you connect, your AI assistant lists every tool and what it does, and you never need to name one. This is a summary of what the tools cover.

  • Forms. Find forms, read their questions, and see counts. Create, clone, rename, preview, publish, archive, enable, disable, favorite and transfer forms, and discard unpublished changes. Move forms to the trash.
  • Questions. Add, edit, copy, reorder and remove the questions and other elements of a form.
  • Conditional logic. Read, add, change, copy, reorder and delete logic that shows or hides questions, runs calculations or changes the thank-you page.
  • Automation rules. Read, add, change, copy, reorder and delete rules that email or text people, call an API endpoint or set a custom field.
  • Form settings. Read and change thank-you pages, admin and respondent emails, availability and deadlines, duplicate-submission checks, who may open the form, invitee lists, discount codes on a form, tracking codes, the NeetoChat widget and message templates.
  • Sharing. Get a form's public link, custom-domain links and embed codes, change the public link, build a prefilled link, and email invitations to fill in the form.
  • Submissions and results. Read submissions and form insights such as visits, completion rate and device split. Email responses to respondents, email an export to a team member, and move submissions to the trash.
  • Themes and images. Read, create, change, delete and apply themes, and upload images for them.
  • Webhooks. Read, create and delete webhooks.
  • Discount codes. Read, create, change and delete discount codes, and see their redemptions and reports.
  • Templates. Browse the ready-made templates and create a draft form from one.
  • Team members. Read, invite, update, deactivate and reactivate team members, and see the workspace's roles.
  • Workspace administration. Read audit logs, the IP restriction, custom domains and API keys. Add or remove custom domains, and revoke API keys.

What to know before you connect

  • Over OAuth, results follow your role. The assistant sees what you can see. An API key reaches the whole workspace.
  • Changes to questions are drafts. They go live only when the form is published, and you can discard them before that.
  • Trash can be restored. Deleted forms and submissions go to the trash, where the app can restore them. A deleted form's public link stops working until then.
  • Some deletes are permanent. Deleting logic, automation rules, webhooks, themes, discount codes and message templates cannot be undone, and neither can revoking an API key. Deleting a discount code keeps past redemptions.
  • Deactivating a team member is reversible. Their forms and submissions stay, and you can reactivate them.
  • Transferred forms get new public links. Their integrations are disconnected.
  • Custom CSS in a theme needs the Pro plan.
  • Emails reach real people. Invitations and responses go to the addresses given, and asking twice sends twice. Check the addresses and message first.
  • Secrets are never returned. Webhook signing secrets, access passwords and API key tokens stay hidden.
  • Team changes follow your role. Over OAuth, viewing members needs a role that can view them, and inviting, updating or deactivating needs one that can manage them. Changing a role also needs permission to manage roles.

Troubleshooting

Your AI assistant shows no NeetoForm tools

Restart the client first. Every client reads its MCP config at startup. On Claude or ChatGPT, confirm that you added the connector and finished the sign-in. In ChatGPT, the plugin is created only after you tick I understand and want to continue.

On a client that reads a config file, check these:

  1. The config key. Claude Code, Cursor, Devin, Antigravity, and Antigravity CLI use mcpServers. VS Code uses servers. Codex uses a [mcp_servers.<name>] section in TOML. A server under the wrong key is ignored.
  2. The URL key. Antigravity and Antigravity CLI use serverUrl. Claude Code, Codex, Cursor, Devin, and VS Code use url.
  3. The endpoint. It is https://connect.neetoform.com/mcp/messages, with no trailing slash.
  4. The syntax. A trailing comma or an unclosed brace in JSON makes the whole file unreadable.

The connection is refused or unauthorized

On an API key connection, the header must read Bearer YOUR_API_KEY, with a single space after Bearer. Check that the key is not revoked and that it belongs to the workspace you expect. Generate a new key at help.neetoform.com/articles/api-keys if you are unsure.

On an OAuth connection, remove the connector and add it again to run the sign-in from the start.

The client uses a key when you meant to sign in

A client that finds a credential in its config never starts the OAuth flow. Remove the headers block, or the bearer_token_env_var line in Codex, and restart the client.

The client asks you to sign in when you meant to use a key

The credential is missing, so the client falls back to OAuth. Add the headers block with Authorization: Bearer YOUR_API_KEY. In Codex, set bearer_token_env_var = "NEETOFORM_API_KEY" and export that variable. Then restart the client.

The sign-in fails at the workspace step

The first screen asks for a workspace subdomain or a workspace URL, not an email address. For acme.neetoform.com, enter acme.

Your AI assistant sees fewer forms than a key does

This is expected. An OAuth connection acts as the person who approved it, so lists and searches follow your permissions. A form you cannot open is refused. To reach everything in the workspace, use an API key.

Your AI assistant reaches the wrong workspace

Name the workspace in your prompt. To add another workspace, sign in again and tick it. An API key belongs to one workspace, so add the server a second time with the other key and a different server name.

VS Code never offers the tools

MCP needs VS Code 1.99 or later with GitHub Copilot in Agent mode. It is not available in Ask or Edit mode. Check that .vscode/mcp.json is in the workspace you have open. With an API key, VS Code asks for the key the first time the server is used.

Devin or Antigravity connects but the tools are missing

Enable the server after you save the config. In Devin, open the ... menu at the top of a Devin chat in the IDE view and turn the server on, then run devin mcp login <name>. In Antigravity, go to Settings → Customizations. Turn off the NeetoForm tools you do not need, and turn off servers you do not use, then reload.

Claude shows the connector as unauthorized

Open Customize → Connectors at claude.ai/customize/connectors, remove NeetoForm, and connect it again from the NeetoForm listing. On a Team plan, Requested means an admin has not turned NeetoForm on yet. An admin turns it on under Organization settings → Connectors at claude.ai/admin-settings/connectors.

Check that the server is reachable

The server publishes its OAuth metadata without any credential:

curl -s https://connect.neetoform.com/.well-known/oauth-authorization-server

A JSON document whose issuer is https://connect.neetoform.com means the server is reachable, so look at the client's setup next. No answer, or an error page, means your network cannot reach the server. Try again in a few minutes, and if it persists, tell us.

Still stuck

Reach us through the help center, or at support@neetoform.com. Tell us which client you are using and what the assistant reports when it tries a NeetoForm tool.

Frequently asked questions

Does NeetoForm MCP require an API key?

No. Sign in with your NeetoForm account and approve access. There's no API key to copy or manage.

Any client that can send an Authorization: Bearer header can use a NeetoForm API key instead. Claude and ChatGPT sign in with OAuth only. However, API keys provide access to the entire workspace rather than operating with your individual permissions.

Where is the NeetoForm MCP server hosted?

NeetoForm hosts the MCP server at https://connect.neetoform.com/mcp/messages. You don't need to install, configure, or maintain a server yourself.

Use NeetoForm in other AI assistants

Prefer the terminal? The NeetoForm CLI reaches the same data from your shell, your scripts and your coding agent.

Gotowy, aby stworzyć swój następny formularz?

Zacznijmy.