Comparison
Run it by vs building it yourself, and vs MCP elicitation
Oct 27, 2026 · 6 min read
The short version
A page with a form and a database table is an afternoon. A link you can safely send to strangers, that renders any schema well on a phone, validates on both sides, expires, reminds, signs its webhooks and retries them, is a couple of weeks, and then it’s yours to maintain. MCP elicitation is a different tool: it asks the person who is already in the chat.
What “build it yourself” includes
- A renderer for arbitrary schemas: dates, enums, arrays, consent boxes, sections, sliders, mobile layouts, drafts that survive a reload.
- Validation twice: in the browser for the person, and on the server so a hand-crafted POST can’t slip through.
- Links that are safe to share: unguessable tokens, one per person, expiry, closing early, and a clear page when a link is no longer valid.
- Delivery: signed webhooks, retries with backoff, and a way to read the answer when the webhook failed.
- Follow-up: who hasn’t answered, reminders that don’t spam, email codes for approvals.
- Abuse handling: rate limits, a bot check on open links, and refusing forms that ask for passwords or card numbers, because a form link from an agent is a tempting phishing tool.
- Retention: deleting answers on a schedule, and a privacy policy that covers the people who answer.
None of it is hard on its own. Together it’s a product, and it isn’t the one you set out to build.
When building it yourself is right
- You need data to stay in a specific region or on your own infrastructure. Run it by stores data in one US-East region and doesn’t offer EU-only residency yet.
- You need certifications such as SOC 2 or HIPAA today. We don’t have them yet.
- The form is a core part of your product and needs a fully custom UI.
MCP elicitation asks the person in the chat
The Model Context Protocol has an elicitation feature: during a session, an MCP server can ask the client to show the user a small form. It’s the right tool when the person you need is the one using the agent, right now.
It’s deliberately simple. The schema is a flat object of strings, numbers, booleans and enums, the answer is accept, decline or cancel, and servers must not use it to ask for passwords or keys. Newer versions of the spec add a URL mode that sends the user to an external page. Support varies by client, so check your client’s docs.
Elicitation vs Run it by
| MCP elicitation | Run it by | |
|---|---|---|
| Who answers | The user in the current session | Anyone, by link: one person, up to 50 named people, or an open link |
| When | Now, while the session waits | Whenever suits them, up to 90 days |
| Schema | Flat: strings, numbers, booleans, enums | JSON Schema subset with arrays, more formats, widgets and sections |
| Approvals | Accept or decline the form | Policies across several people, email codes, a verdict |
| Where it shows | Inside the MCP client | Any browser, themed to your brand |
Many agents need both: elicitation to ask the user something quickly, and a link when the answer has to come from someone else. To try the second, add the MCP server from Claude Code or Codex with one command; the docs show how.
Try it with your agent
Free for 100 requests a month, no card. Add the MCP server from Claude Code or Codex with one command, or use the REST API.