Variable: ask
ts
const ask: AskFunction;Defined in: packages/core/src/core/elicitation/ask.ts:224
ask — The Callable Namespace for MCP Elicitation.
Works as both a function (await ask('msg', { fields })) and a namespace (ask.string(), ask.enum(), ask.redirect()).
Transport context is bound via AsyncLocalStorage — zero ctx needed.
Example
typescript
import { ask } from '@vurb/core';
// DSL — field descriptors
ask.string('Name')
ask.number('Age').min(18).max(120)
ask.boolean('Confirm').default(true)
ask.enum(['free', 'pro'] as const, 'Plan')
// Form mode — request structured input
const result = await ask('Fill in:', { name: ask.string('Name') });
// URL mode — redirect to external page
const auth = await ask.redirect('Authenticate:', oauthUrl);