Clipform MCP vs Shodan

A side-by-side look at the Clipform MCP and Shodan MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Clipform MCP logoClipform MCPSecurity · Local subprocess (stdio)Interactive video forms that capture authentic responses. Build engaging forms in minutes.63GoodAuth: api key requiredShodan logoShodanSecurity · Local subprocess (stdio)MCP server for Shodan API — device search, IP lookup, DNS, and CVE/CPE queries.68GreatAuth: not declared

Verdict: choose Clipform MCP for security work as a local process; choose Shodan for security as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Clipform MCP logoChoose Clipform MCP when

  • You need dedicated capabilities in the Security domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: API_URL, CLIPFORM_API_KEY.
  • You want tools like clipform_create_form, clipform_import_form, clipform_list_forms.
Explore Clipform MCP

Shodan logoChoose Shodan when

  • You need dedicated capabilities in the Security domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: SHODAN_API_KEY.
  • You want tools like ip_lookup, shodan_search, cve_lookup.
Explore Shodan

Feature & specification comparison

Rows where the two servers differ are marked.

SpecClipform MCP logoClipform MCPShodan logoShodan
CategorySecuritySecurity
Quality signal63/100 · Good68/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredNot declared
PricingNot declaredNot declared
Required env varsAPI_URLCLIPFORM_API_KEYSHODAN_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars0179
Directory activity 2 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools3211

Tools & capabilities

Clipform MCP tools 32

  • clipform_create_formCreate a new Clipform (interactive video-style form). Returns a viewer URL and form ID (an anonymous build's link is a private preview where answers are not saved). When connected via an authenticated MCP client (e.g. claude.ai), the form lands directly in the user's workspace. Anonymous sessions build into a temporary account of their own: forms stay drafts with a private preview link. Some results also include a one-time claim URL that signs the user into that account; relay it when present. If the user hasn't said what to build yet, offer to build their first form and suggest starting points: lead-gen, feedback, quiz, or something else. Node types (omit config to use defaults where shown): - choice: Single or multiple choice node with predefined options (supports options array). Config: choice ({enable_branching, show_answer_feedback, record_scores}), selection_mode ("single"|"multiple", default: "single"), allow_text_response (boolean, default: false), randomise_options (boolean, default: false), show_option_count (boolean, default: false), option_display ("list"|"letters", default: "list"). Defaults: {"selection_mode":"single","choice":{"enable_branching":false},"randomise_options":false,"show_option_count":false,"option_display":"list"} - open: Free-form text responses from users. Config: formats (array of {format, order}), max_recording_seconds (number, default: 120). Defaults: {"formats":[{"order":0,"format":"text"},{"order":1,"format":"audio"},{"order":2,"format":"video"}]} - details: Collect several fields on one screen - name, email, phone, address, date, and more. Config: title (string), fields (array of {id, type, label, order, required, is_custom}), description (string), consent_items (array of {id, name, label, order, type, document, require_scroll_to_accept}), Available field IDs: first_name, last_name, email, phone. Defaults: {"fields":[{"id":"first_name","type":"first_name","label":"First Name","enabled":true,"required":true},{"id":"email","type":"email","label":"Email","enabled":true,"required":true}],"consent_items":[]} - payment: Collect a payment from respondents inline, charged to a connected Stripe account. Config: amount (number), currency ("usd"|"eur"|"gbp"|"cad"|"aud", default: "usd"), provider ("stripe"|"paddle", default: "stripe"), workspace_integration_id (string), title (string), description (string). Defaults: {"amount":null,"currency":"usd","provider":"stripe"} - button: Simple button for acknowledgment or navigation (supports options array). Config: button_text (string, default: "Continue"), button_style ("primary"|"secondary"|"outline", default: "primary") - redirect: Redirect users to an external URL. Config: url (string), auto_redirect (boolean, default: true). Defaults: {"url":"","auto_redirect":true} - file_download: Provide a file for respondents to download. Config: files (array of {file_name, display_name, file_path, file_size, mime_type}), button_text (string, default: "Continue"), description (string) - end_screen: Final screen shown when form is completed. Config: title (string, default: "Thank you!"), message (string, default: "Your response has been submitted."), icon ("tick"|"trophy"|"star"|"crown"|"party"|"none", default: "tick"), show_share_button (boolean, default: false), cta_type ("none"|"restart"|"external_link", default: "none"), cta_text (string, default: "Continue"), cta_url (string). Defaults: {"title":"Thank you!","message":"Your response has been submitted."} All type definitions and config schemas are derived from @vid-master/config (node-types). Refer to the config descriptions above for the correct keys and shapes. AI-PROTECTED parameters have restrictions noted in their descriptions. Example: A form that asks a question, collects contact info, then finishes: { title: "Quick Survey", nodes: [ { type: "open", prompt: "What's your biggest challenge?" }, { type: "details", prompt: "Leave your details", config: { fields: [{ id: "first_name", required: true }, { id: "email", required: true }] } }, { type: "end_screen", prompt: "Thanks for your response!" } ] }
  • clipform_import_formConvert a public Google Form, Typeform, or Tally form into a new Clipform. Supported URLs: Google Forms (docs.google.com or forms.gle - must be shared as "Anyone with the link"), Typeform (form.typeform.com/to/...), and Tally (tally.so - must be public). The source form must be publicly accessible; a private form's questions cannot be read. The new Clipform is created as a DRAFT - review it, then republish with clipform_update_form (is_live: true) once it's ready. Some question types don't map cleanly to a Clipform node and are skipped rather than guessed at; the result always reports exactly what was imported vs skipped, and why.
  • clipform_list_formsList forms in your workspace with optional filtering. Returns paginated results (cursor-based). next_cursor is included when more results exist. To find or open a form by name, pass search with part of its title instead of paging through results. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
  • clipform_whoamiShow the current identity: auth mode (api key, oauth, session, or anonymous), active workspace, and plan limits. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
  • clipform_get_formRetrieve a form's details including all nodes in sequential order and their routing. Returns title, settings, and every node with its options, config, media status, and next node (from clipform_set_logic).
  • clipform_update_formUpdate a form's title, publish status, settings, or tags. Only sends fields that are provided - omitted fields remain unchanged. AI-PROTECTED parameters have restrictions noted in their descriptions.
  • clipform_delete_formMove a form and all its nodes to the trash. It stops accepting responses immediately and can be restored later. Requires user confirmation before it runs. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
  • clipform_get_resultsView response counts, choice/action answer breakdowns, and recent open-text answers for a form. Contact, file, draw, camera, and payment answers are counts only - use the dashboard for per-response detail. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
  • clipform_get_responsesList a Clipform form's individual responses (submissions) with time filtering - complements clipform_get_results (aggregates). Answers questions like 'what came in during the last 24 hours', 'what's the longest answer', 'what did people say'. Text answers plus a non-PII payment summary (amount and status); contact details, file uploads, and audio/video answers are redacted to placeholders and the customer's payment details stay in the dashboard (the responses URL from clipform_get_form). Responses are sorted newest first unless sort: 'oldest'. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
  • clipform_add_nodeAdd a new node to an existing form. Inserted before the end screen by default; after_node_id controls insertion position. Inserting into a linear flow automatically re-links the chain (the node before the insertion point points to the new node, which points to what followed) - you do not need clipform_set_logic for a simple insert. Branching still needs an explicit logic write. Node types and config schemas match clipform_create_form.
  • clipform_update_nodeUpdate one or more existing nodes' text, type, config, or options. Pass multiple updates in one call instead of separate tool calls. Requires node IDs (returned by clipform_create_form, clipform_add_node, or clipform_get_form). Does not change node positions in the flow. All type definitions and config schemas are derived from @vid-master/config (node-types).
  • clipform_delete_nodeDelete a node from a form. The logic chain is automatically re-linked (the previous node will point to the next one). Cannot delete the start node or the last end screen. Requires user confirmation before it runs.
  • +20 more on the listing page

Shodan tools 11

  • ip_lookupRetrieve comprehensive information about an IP address, including geolocation, operating system, open ports, running services (product, version, CPE), known vulnerabilities (CVEs), SSL certificates, hostnames, and cloud provider details if available. Returns service banners and HTTP server information when present. Optional history returns historical banners; minify omits banners.
  • shodan_searchSearch Shodan's database of internet-connected devices. Returns detailed information about matching devices including services, vulnerabilities, and geographic distribution. Supports advanced search filters and returns facet statistics (default: by country). Costs 1 query credit when the query uses filters, plus 1 per page beyond the first. Use shodan_count (free) to get totals and facets without results.
  • cve_lookupQuery detailed vulnerability information from Shodan's CVEDB. Returns comprehensive CVE details including CVSS scores (v4/v3/v2), EPSS probability and ranking, KEV status, proposed mitigations, ransomware associations, and affected products (CPEs).
  • dns_lookupResolve domain names to IP addresses using Shodan's DNS service. Supports batch resolution of multiple hostnames in a single query. Returns IP addresses mapped to their corresponding hostnames.
  • reverse_dns_lookupPerform reverse DNS lookups to find hostnames associated with IP addresses. Supports batch lookups of multiple IP addresses in a single query. Returns all known hostnames for each IP address, with clear indication when no hostnames are found.
  • cpe_lookupSearch for Common Platform Enumeration (CPE) entries by product name in Shodan's CVEDB. Supports pagination and can return either full CPE details or just the total count. Useful for identifying specific versions and configurations of software and hardware.
  • cves_by_productSearch for vulnerabilities affecting specific products or CPEs. Supports filtering by KEV status, sorting by EPSS score, date ranges, and pagination. Can search by product name or CPE 2.3 identifier. Returns detailed vulnerability information including severity scores and impact assessments.
  • shodan_countGet the total number of Shodan results for a query, with optional facet breakdowns (e.g. by country, org, port). Free: does not consume query credits. Use search_filters to list valid filters and facets.
  • domain_infoGet subdomains and DNS records for a domain from Shodan. Costs 1 query credit per lookup.
  • api_infoShow the Shodan API plan, remaining query and scan credits, monitored IPs, and usage limits for the configured API key. Free: does not consume credits.
  • search_filtersList the search filters and facets Shodan supports. Use this to build valid shodan_search and shodan_count queries and facets. Free: does not consume credits.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Clipform MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-server-62": {
      "command": "npx",
      "args": [
        "-y",
        "@clipform/mcp-server"
      ],
      "env": {
        "API_URL": "YOUR_API_URL_HERE",
        "CLIPFORM_API_KEY": "YOUR_CLIPFORM_API_KEY_HERE"
      }
    }
  }
}

Shodan

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "shodan-2": {
      "command": "npx",
      "args": [
        "-y",
        "@burtthecoder/mcp-shodan"
      ],
      "env": {
        "SHODAN_API_KEY": "YOUR_SHODAN_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

Clipform MCP is categorized under Security and uses a local stdio subprocess. Shodan belongs to Security and uses a local stdio subprocess. Pick Clipform MCP for security work and Shodan for security.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Clipform MCP has no declared pricing — check the project's own site. Auth: api key required. Shodan has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add mcp-server-62 and shodan-2 as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Clipform MCP has a quality signal of 63/100 (Good) with 2 views, 0 installs and 0 GitHub stars. Shodan has 68/100 (Great) with 1 views, 0 installs and 179 GitHub stars.