Cursor

Step-by-step guide to connect Cursor to FormsReach via MCP. Manage forms, submissions, and notifications programmatically.

FormsReach has a built-in MCP (Model Context Protocol) server that allows Cursor to programmatically manage forms, read submissions, configure notification channels, view analytics, and manage workflow rules.

Overview

Once connected, Cursor can use FormsReach MCP tools to:

  • Manage forms (list, create, update, delete)
  • Read and export submissions
  • Configure notification channels (email, Discord, WhatsApp, Telegram, webhooks)
  • View analytics and usage data
  • Manage workflow rules

Two Ways to Connect

This is the guided browser-based flow:

  1. In Cursor’s MCP settings, configure the FormsReach server and trigger the auth flow
  2. Your browser opens to the consent page at https://app.formsreach.com/connect/mcp?callback=http://localhost:PORT&client_name=Cursor
  3. Sign in (if needed) and select the scopes you want to grant
  4. Click Approve - FormsReach creates an API key and redirects back to Cursor
  5. Done! Cursor now has the API key and can call the MCP server

Benefits:

  • No manual copy-paste
  • Browser-based consent flow
  • Keys automatically named “Cursor”
  • Can revoke from /settings later

Option 2: Manual API Key (More Control)

If you prefer manual setup:

Step 1: Create an API Key

  1. Open FormsReach: Visit https://app.formsreach.com/settings
  2. Click “Create API key”
  3. Fill in details:
    • Name: e.g., “Cursor MCP”
    • Scopes: All scopes are selected by default (or customize as needed)
  4. Click “Create key”
  5. COPY THE KEY NOW - It’s only shown once!
    • Format: fr_live_<32 random bytes>
    • Example: fr_live_3Kx9mP2vQwRtYnBjLdHsAuCeNzFgMoXk

Step 2: Configure Cursor

Add this to your Cursor MCP config file:

Production:

{
  "mcpServers": {
    "formsreach": {
      "type": "http",
      "url": "https://app.formsreach.com/api/mcp",
      "headers": {
        "Authorization": "Bearer fr_live_YOUR_API_KEY_HERE"
      }
    }
  }
}

Local Development:

{
  "mcpServers": {
    "formsreach": {
      "type": "http",
      "url": "http://localhost:3000/api/mcp",
      "headers": {
        "Authorization": "Bearer fr_live_YOUR_API_KEY_HERE"
      }
    }
  }
}

Step 3: Reload Cursor

Restart Cursor or reload the MCP configuration to connect.

Available MCP Tools

Forms Management

  • list_forms - List all your forms
  • get_form - Get full details for a specific form
  • create_form - Create a new form
  • update_form - Update form settings
  • delete_form - Delete a form

Submissions

  • list_submissions - List submissions for a form (with cursor pagination)
  • get_submission - Get full details of a specific submission
  • export_submissions - Export submissions as CSV/JSON
  • mark_submission_spam - Mark a submission as spam
  • delete_submission - Delete a submission

Channels

  • get_channels - Get notification channel configuration
  • update_email_channel - Configure email notifications
  • update_webhook_channel - Configure webhook notifications
  • update_discord_channel - Configure Discord notifications

Rules

  • list_rules - List workflow rules
  • create_rule - Create a new rule
  • update_rule - Update a rule
  • delete_rule - Delete a rule

Analytics & Usage

  • get_analytics - Get form analytics
  • get_usage - Get credit usage information

API Key Scopes

Your API key can have these scopes (all selected by default):

Scope Permissions
forms:read Read forms
forms:write Create, update, delete forms
submissions:read Read submissions
submissions:write Mark spam, delete submissions
channels:read Read notification channels
channels:write Update notification channels
rules:read Read workflow rules
rules:write Create, update, delete rules
analytics:read Read analytics
usage:read Read plan and credit usage

Rate Limits & Security

Rate Limits:

  • 1,000 requests per API key per hour (shared between MCP and REST API calls)
  • On limit exceeded: 429 error with Retry-After header

Security Notes:

  • API keys are only shown once at creation - store them securely
  • Keys use SHA-256 hashing - never stored in plaintext
  • Revoke anytime - Go to /settings → API Keys → Revoke
  • Scoped permissions - Limit what each key can do
  • Audit logging - Destructive operations are logged

Example Usage

Once configured, you can ask Cursor things like:

  • “List all my FormsReach forms”
  • “Create a new contact form called ‘Newsletter Signup’”
  • “Show me the latest 10 submissions for form xyz”
  • “Export submissions from my contact form as CSV”
  • “Update the webhook channel to post to https://example.com/webhook

Cursor will use the MCP tools automatically!

Troubleshooting

401 Unauthorized?

  • Check your API key is correct and not revoked
  • Verify the Authorization: Bearer header format
  • Check key hasn’t expired (if expiry was set)

403 Forbidden / Missing tools?

  • Your API key might not have the required scope
  • Recreate key with proper scopes selected

429 Rate Limited?

  • Wait for rate limit window to reset (check Retry-After header)
  • Consider creating separate keys for different use cases

404 Not Found?

  • Verify the MCP server URL is correct
  • For local dev: ensure server is running on localhost:3000