Works in/MCP server

The AllBack MCP server: forms from any AI

The AllBack MCP server lets Claude, ChatGPT, and any MCP client create forms, send personal links, remind people, and export answers. OAuth, 33 tools.

The address

https://mcp.allback.ai/mcp

AllBack is a remote MCP server over Streamable HTTP. In ChatGPT, AllBack is in the plugin directory: open Plugins, search for AllBack, and click Connect. In other AI apps, add this address as a custom connector. Step-by-step instructions for each app are on Works in: Claude, ChatGPT, and Gemini.

Sign-in

Every call needs a sign-in. The user signs in once, when they add the connector:

  • The AI app signs the user in with OAuth 2.1 and PKCE. The user enters their email and a 6-digit code. There are no passwords.
  • The token acts as that user, in the organization they work in. It can do what the user can do, and nothing more.
  • A call without a token gets 401 with a WWW-Authenticate header that points to the protected resource metadata. So the AI app starts the sign-in by itself.

To try AllBack with no sign-up, use the link format instead (see Any AI). It makes a draft that the user claims with an email code.

For client developers:

EndpointAddress
Authorization server metadatahttps://mcp.allback.ai/.well-known/oauth-authorization-server
Protected resource metadatahttps://mcp.allback.ai/.well-known/oauth-protected-resource/mcp
Dynamic client registrationSupported
Client ID metadata documents (CIMD)Supported
Issuer in the redirect (RFC 9207)Supported

Tools

Requests and forms have their own tools, so the tool name in the chat tells the user what the AI does. Every tool also accepts the id of the other kind and does the right thing.

Requests: a list of people, with reminders

ToolWhat it doesMain inputs
create_requestMakes a request for a list of people. Returns a preview link and a test link.title, form or template, due_at, message, reminders, time_zone, send_time, verify_email, receipt, notify
update_requestChanges the form, the title, the due date, the message, or the reminders. open_link: true turns on one link that anyone can fill, next to the personal links, and returns it. open_link: false turns it off.request_id, form, title, due_at, reminders, time_zone, send_time, open_link, receipt, notify
get_requestGets the form and the settings, with the open link and a preview link for each ending, for example before a change.request_id
list_requestsLists the user's requests, with the counts of done, started, and not started.—
add_recipientsAdds people from a list or a CSV, prefills their links, and sends the invites. On a form, this makes it a request.request_id, recipients, csv, send_invites
get_statusAnswers "who is still missing?": who is done, who opened but is not done (and what is missing), and who did not open.request_id
send_remindersReminds people who are not done. Nobody gets two reminders within 12 hours. It also reminds the people of a Secret Santa group, a meeting poll, or a sign-up sheet.request_id (or group_id, poll_id, sheet_id), message, emails
preview_emailsShows the invite and the next reminder, as a person gets them.request_id, email
get_request_insightsThe funnel, answers each day, the question where people stop, how long the form takes, which reminder brought people back, and how each ending did.request_id
export_request_resultsGives all answers as CSV and a download link. File links work for 7 days.request_id
close_requestStops new answers and reminders. Deletes nothing. reopen opens it again.request_id, reopen
ToolWhat it doesMain inputs
create_formMakes a form with one open link. Returns a preview link, a test link, and the open_link.title, form or template, verify_email, receipt, notify
update_formChanges the questions, the endings, the title, or the email settings. The open link stays.form_id, form, title, verify_email, receipt, notify
get_formGets the form, its open link, open or closed, the number of answers, and a preview link for each ending.form_id
list_formsLists the user's forms, with the number of answers.—
get_form_insightsAnswers each day, the finish rate, the question where people stop, and how each ending did.form_id
export_form_resultsGives all answers as CSV and a download link. File links work for 7 days.form_id
close_formStops new answers. Deletes nothing. reopen opens it again.form_id, reopen

Requests and forms together

ToolWhat it doesMain inputs
get_answersReads the answers in the chat, so the AI can summarize or compare them. One item for each person, with the answers by field id. People who started but did not send are in it too. Long lists come in pages.request_id or form_id, email, include_unfinished, limit, offset
get_activityThe latest opens, answers, documents read, invites, and reminders. Without an id, for all open requests and forms.request_id or form_id, limit
clear_test_answersDeletes the test answers before the real send. Real answers stay.request_id or form_id
list_templatesLists the ready-made templates. With slug, gives the form JSON of one template. Pass the slug as template to create_request or create_form.kind, search, slug
send_feedbackSends feedback to the AllBack team: a tool that fails, an error that does not help, or a feature the user needs. The AI calls it on its own and tells the user. Email addresses in the message are removed.kind, message, tool, request_id, client

Free tools: Secret Santa, meeting poll, and sign-up sheet

Each create_ tool makes a draft, and nothing goes out. The user checks the draft on its manage_url. Then the send_ tool sends the emails. To change a draft, call the create_ tool again with its id: fields you leave out keep their value.

ToolWhat it doesMain inputs
create_secret_santaMakes a Secret Santa group as a draft.name, budget, exchange_date, people, keep_apart, questions
send_secret_santaDraws the names and emails everyone. Nobody sees the pairs, also not the organizer.group_id
get_secret_santaThe groups, or one group with who added a wish list.group_id
create_meeting_pollMakes a poll to find a time, as a draft. Each option is a day, or a time on a day.title, time_zone, options, people, deadline
send_meeting_pollOpens the poll: an open link, and an invite to each person.poll_id
get_meeting_pollThe polls, or one poll with the votes and the best times.poll_id
pick_meeting_timePicks the time. The poll closes, and everyone gets the time and a calendar file.poll_id, option_id
create_signup_sheetMakes a sign-up sheet (slots) or a potluck as a draft.mode, title, slots, people, event_day
send_signup_sheetOpens the sheet: an open link, and an invite to each person.sheet_id
get_signup_sheetThe sheets, or one sheet with who took which slot.sheet_id

Settings for after people answer: receipt: true emails each person a copy of their answers (on a form, only people who confirmed their email with verify_email). notify emails the owner: each, daily, done (requests only), or off. What people see after they send is part of the form JSON: see "Endings" in the form schema.

Every tool has a title, a readOnlyHint, a destructiveHint, and an openWorldHint. Results include structuredContent. The server sends instructions on connect, so the AI app knows when to pick a request or a form, and the normal order: create, preview, add people or share the link, then status, reminders, and export.

Reminders

Automatic reminders go only to people who are not done:

  • With a due date, the default is ["-3d", "-1d", "0d"]: 3 days before, 1 day before, and on the due day.
  • Without a due date, the default is ["+3d", "+7d"] after the invite.
  • Each day step goes out at send_time (default "09:00", on the hour or the half hour) in time_zone (an IANA name, for example "Europe/London"). Without time_zone, AllBack uses the time zone of the user's last visit to the app, else UTC.
  • create_request, update_request, and get_request return reminder_times: each step with the time it goes out. get_status gives next_reminder_at for each person.
  • A step within 12 hours after the invite or after another reminder is skipped.
  • Set reminders_off: true to send none. Each email has a link to stop reminders.

Requests and forms

There are two kinds, each with its own tools:

  • A request goes to a list of people. Each person gets a personal, prefilled link, and AllBack reminds the people who are not done.
  • A form (create_form) has one open link for anyone: a post, a newsletter, a website button, or a printed QR code. There is no list, no reminders, and no due date. Answers are unlimited on every plan.

Pick a form when the user does not know who will answer. Call add_recipients on a form, and it becomes a request: it keeps its open link and its answers. For safety, forms do not open inside other websites.

The form JSON

The form input is JSON: blocks, pages, logic, themes, and an optional custom design. See the form schema for all question types and options.

A typical conversation

  1. The user says: "Collect bios and headshots from these 24 speakers by October 9."
  2. The AI app calls create_request and shows the preview link.
  3. The user says "Looks good." The AI app calls add_recipients with the list or a CSV.
  4. Later the user asks "Who is still missing?" The AI app calls get_status, and send_reminders if the user wants.
  5. At the end, export_request_results gives one clean sheet.

Limits

  • Forms and answers are unlimited, within the fair use policy.
  • Forms that ask for passwords, one-time codes, card numbers, or bank details are refused.
  • Guest forms that nobody claims are deleted after 30 days.

Without MCP

No connector in your app? Use the Any AI link: paste one prompt, and your AI gives you a link that opens your form. For the terminal, use the CLI.

Get started

Start in your AI. One minute.

  1. 1
    Copy the AllBack prompt.
  2. 2
    Paste it into Claude, ChatGPT, Gemini, Copilot, or any AI, and say what you need.
  3. 3
    Click the link your AI gives you. Your form opens at once. Confirm your email when you send.