Superforms

Human-input bridge for AI agents with voice-first answer links, MCP tools, and HTTP APIs.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
79%
Qualität der Benennung
95%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'join_creation_session' description lacks action verbin join_creation_session

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,355Tokens (Tool-Definitionen)
~2.2 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.84% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "superforms": {
      "url": "https://superforms.co/mcp"
    }
  }
}

Remote-Endpunkte

https://superforms.co/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (11)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟡create_form(prompt, questions, goal, context, questionContext, ...)

Publish a voice-first form link immediately after creator confirmation, collect human answers, and pipe responses back to the agent.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "Plain-English ask or request. Use only when explicit questions are not already known."
    },
    "questions": {
      "type": "array",
      "description": "Explicit questions to ask the respondent. Use this whenever questions already exist; preserve them exactly.",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "text": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "context": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "goal": {
      "type": "string"
    },
    "context": {
      "type": "string",
      "description": "Private context for smart follow-ups. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents."
    },
    "questionContext": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "creationSessionUrl": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "persistent": {
      "type": "boolean"
    },
    "followUpMode": {
      "type": "string",
      "enum": [
        "none",
        "smart",
        "deep_dive"
      ],
      "description": "For exactly one question, set this only after asking the creator \"Want smart follow-up questions?\" Use deep_dive for yes or none for no. For multiple questions, use none unless explicitly requested."
    },
    "max_followups_per_question": {
      "type": "number",
      "description": "Optional compatibility setting. Omit for adaptive one-question smart follow-ups."
    },
    "max_total_questions": {
      "type": "number",
      "description": "Optional compatibility setting. Omit for adaptive one-question smart follow-ups."
    },
    "responseMode": {
      "type": "string",
      "enum": [
        "voice_preferred",
        "text_only",
        "voice_only"
      ]
    },
    "responseLimit": {
      "type": "string",
      "enum": [
        "one",
        "multiple"
      ],
      "description": "Use \"one\" for a form intended for one named person/client. Use \"multiple\" for forms, surveys, feedback, customers, users, and public/embedded links."
    }
  },
  "additionalProperties": false
}
🟡create_feedback_form(prompt, questions, goal, context, questionContext, ...)

Publish a voice-first feedback, cancellation, feature request, survey, or research form immediately after creator confirmation, with optional smart follow-ups.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "Plain-English ask or request. Use only when explicit questions are not already known."
    },
    "questions": {
      "type": "array",
      "description": "Explicit questions to ask the respondent. Use this whenever questions already exist; preserve them exactly.",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "text": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "context": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "goal": {
      "type": "string"
    },
    "context": {
      "type": "string",
      "description": "Private context for smart follow-ups. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents."
    },
    "questionContext": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "creationSessionUrl": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "persistent": {
      "type": "boolean"
    },
    "followUpMode": {
      "type": "string",
      "enum": [
        "none",
        "smart",
        "deep_dive"
      ],
      "description": "For exactly one question, set this only after asking the creator \"Want smart follow-up questions?\" Use deep_dive for yes or none for no. For multiple questions, use none unless explicitly requested."
    },
    "max_followups_per_question": {
      "type": "number",
      "description": "Optional compatibility setting. Omit for adaptive one-question smart follow-ups."
    },
    "max_total_questions": {
      "type": "number",
      "description": "Optional compatibility setting. Omit for adaptive one-question smart follow-ups."
    },
    "responseMode": {
      "type": "string",
      "enum": [
        "voice_preferred",
        "text_only",
        "voice_only"
      ]
    },
    "responseLimit": {
      "type": "string",
      "enum": [
        "one",
        "multiple"
      ],
      "description": "Use \"one\" for a form intended for one named person/client. Use \"multiple\" for forms, surveys, feedback, customers, users, and public/embedded links."
    }
  },
  "additionalProperties": false
}
🟡create_ask(prompt, questions, goal, context, questionContext, ...)

Create a voice-first Superforms answer link for human input. Backward-compatible alias for create_form.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "Plain-English ask or request. Use only when explicit questions are not already known."
    },
    "questions": {
      "type": "array",
      "description": "Explicit questions to ask the respondent. Use this whenever questions already exist; preserve them exactly.",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "text": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "context": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "goal": {
      "type": "string"
    },
    "context": {
      "type": "string",
      "description": "Private context for smart follow-ups. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents."
    },
    "questionContext": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "creationSessionUrl": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "persistent": {
      "type": "boolean"
    },
    "followUpMode": {
      "type": "string",
      "enum": [
        "none",
        "smart",
        "deep_dive"
      ],
      "description": "For exactly one question, set this only after asking the creator \"Want smart follow-up questions?\" Use deep_dive for yes or none for no. For multiple questions, use none unless explicitly requested."
    },
    "max_followups_per_question": {
      "type": "number",
      "description": "Optional compatibility setting. Omit for adaptive one-question smart follow-ups."
    },
    "max_total_questions": {
      "type": "number",
      "description": "Optional compatibility setting. Omit for adaptive one-question smart follow-ups."
    },
    "responseMode": {
      "type": "string",
      "enum": [
        "voice_preferred",
        "text_only",
        "voice_only"
      ]
    },
    "responseLimit": {
      "type": "string",
      "enum": [
        "one",
        "multiple"
      ],
      "description": "Use \"one\" for a form intended for one named person/client. Use \"multiple\" for forms, surveys, feedback, customers, users, and public/embedded links."
    }
  },
  "additionalProperties": false
}
⚪join_creation_session(creationSessionUrl, agentName)

Join a Superforms homepage creation handoff session before creating the real form. Pass agentName with the client name, such as Codex, Claude Code, Claude, ChatGPT, or Cursor.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "creationSessionUrl": {
      "type": "string"
    },
    "agentName": {
      "type": "string"
    }
  },
  "required": [
    "creationSessionUrl"
  ],
  "additionalProperties": false
}
🟡update_creation_session(creationSessionUrl, title, goal, context, questions, ...)

Update a homepage creation handoff draft with the current form title, questions, and settings before the user clicks Set live.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "creationSessionUrl": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "goal": {
      "type": "string"
    },
    "context": {
      "type": "string",
      "description": "Private smart-follow-up context. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents."
    },
    "questions": {
      "type": "array",
      "description": "Current draft questions to show in the live form preview.",
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "text": {
                "type": "string"
              },
              "context": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "followUpMode": {
      "type": "string",
      "enum": [
        "none",
        "smart",
        "deep_dive"
      ]
    },
    "max_followups_per_question": {
      "type": "number",
      "description": "Use 0 by default. Use 1 only when smart follow-ups are explicitly requested."
    },
    "max_total_questions": {
      "type": "number",
      "description": "Use 20 for deep-dive interviews."
    },
    "responseMode": {
      "type": "string",
      "enum": [
        "voice_preferred",
        "text_only",
        "voice_only"
      ]
    },
    "responseLimit": {
      "type": "string",
      "enum": [
        "one",
        "multiple"
      ],
      "description": "Use one for a named person/client. Use multiple for feedback forms, surveys, customers, users, and public links."
    }
  },
  "required": [
    "creationSessionUrl"
  ],
  "additionalProperties": false
}
🟢get_responses(askId, agentToken, since)

Fetch persisted raw responses for a Superforms ask. This is the MCP equivalent of the HTTP bridge answers endpoint.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "askId": {
      "type": "string"
    },
    "agentToken": {
      "type": "string"
    },
    "since": {
      "type": "string"
    }
  },
  "required": [
    "askId",
    "agentToken"
  ],
  "additionalProperties": false
}
🟢list_asks(agentToken)

List recent asks for a provided private agent token.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "agentToken": {
      "type": "string"
    }
  },
  "required": [
    "agentToken"
  ],
  "additionalProperties": false
}
🟢watch_ask(url, askId, agentToken, since, timeoutMs)

Return as soon as an individual answer is saved, including answers received while an agent was reconnecting and while the form remains in progress. Use since for durable per-answer catch-up; the HTTP bridge also exposes an SSE stream endpoint.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "askId": {
      "type": "string"
    },
    "agentToken": {
      "type": "string"
    },
    "since": {
      "type": "string",
      "description": "ISO timestamp cursor from the last response the agent processed."
    },
    "timeoutMs": {
      "type": "number",
      "description": "Maximum wait in milliseconds, capped at 120000."
    }
  },
  "required": [
    "url",
    "agentToken"
  ],
  "additionalProperties": false
}
🟢list_my_forms

List forms owned by the connected Superforms account, including response counts and latest response timestamps.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_my_form_responses(askId, since)

Read persisted raw responses for a form owned by the connected Superforms account. No per-form agent token is required.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "askId": {
      "type": "string"
    },
    "since": {
      "type": "string",
      "description": "Optional ISO timestamp cursor."
    }
  },
  "required": [
    "askId"
  ],
  "additionalProperties": false
}
🟢watch_my_form_responses(askId, since, timeoutMs)

Return any existing individual answers immediately, or wait briefly until the respondent saves their next answer, even while the form remains in progress.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "askId": {
      "type": "string"
    },
    "since": {
      "type": "string",
      "description": "Optional ISO timestamp cursor."
    },
    "timeoutMs": {
      "type": "number",
      "description": "Maximum wait in milliseconds, capped at 120000."
    }
  },
  "required": [
    "askId"
  ],
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet11 Tools
verifiziertVersion nicht aufgezeichnet11 Tools